windows环境数据库升级遇到注册表信息不全导致OracleMTSRecoveryService不能启动

Value = Home
信息: 查询返回: SOFTWARE\ORACLE\KEY_OraDb11g_home2
信息: 调用 查询areasQueries10.2.0.1.0  getAllOracleHomeNames
信息: 查询返回: OraDb11g_home1,agent12c1,sbin12c1,OraHome1,OraHome2,OraHome3,OraHome4,OraHome5,OraDb11g_home2
信息: 调用 查询rgsQueries10.1.0.3.0  getKeyFromHomeName

OracleHomeName = OraDb11g_home1
信息:
查询异常错误: HomeNameNotFoundException
查询异常错误类: class oracle.sysman.oii.oiil.OiilQueryException
信息: Adding ExitStatus STOP_INSTALL to the exit status set
信息: Finding the most appropriate exit status for the current application
信息: Exit Status is -4
信息: Shutdown Oracle Database 11g 发行版 2 安装程序
信息: Unloading Setup Driver


从上面信息看没有信息OracleHomeName = OraDb11g_home1

通过cmd 的regedit 查看

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OracleMTSRecoveryService\Setup\All Versions

其中1的home 对应SOFTWARE\ORACLE\KEY_OraDb11g_home1 ,version = 11.2.0.1.0   --这是旧的

其中2的home对应SOFTWARE\ORACLE\KEY_OraDb11g_home2,version = 11.2.0.4.0    --是新安装的

根据home值能句找到 SOFTWARE\ORACLE\KEY_OraDb11g_home1  却找不到  SOFTWARE\ORACLE\KEY_OraDb11g_home1,符合报错的信息。


如果把SOFTWARE\ORACLE\KEY_OraDb11g_home1信息添加到注册表,也许就不会报错了,OracleMTSRecoveryService服务也是可以启起来的。

通过regedit 上的功能,把SOFTWARE\ORACLE\KEY_OraDb11g_home2信息导出,然后编写成KEY_OraDb11g_home1的信息。

a.bat如下:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1]
"ORACLE_HOME"="D:\\Oracle\\Ora11g"
"ORACLE_HOME_NAME"="OraDb11g_home1"
"ORACLE_GROUP_NAME"="Oracle - OraDb11g_home1"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
"ORACLE_BUNDLE_NAME"="Enterprise"
"OLEDB"="D:\\Oracle\\Ora11g\\oledb\\mesg"

运行完之后

SOFTWARE\ORACLE\KEY_OraDb11g_home1在注册表中生成成功。同步升级时安装soft也顺利进行,安然完之后OracleMTSRecoveryService服务顺利启动。这种问题应该是事先有人动过windows的regedit。问题了当地的人,他们说也遇到这种问题,没在呼。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值