在windows上修改主机名后,oraclemtsrecoveryservice无法启动的问题如何解决?本文将详细介绍这个问题,并提供解决方案。
适用版本:oracle数据库企业版 – 10.1.0.2及更高版本,通用windows系统
症状:尝试在Windows上启动OracleMTSRecoveryService时,出现以下错误:
Windows无法在SALES1上启动OracleMTSRecoveryService服务。
错误1:函数不正确
在%ORACLE_HOME%oramtstrace中发现了以下错误:
[04/19/2012-16:34:42:925][00000e5c] OracleMTSRecoveryService正在启动[04/19/2012-16:34:42:925][00000d08] workerThread() – 进入[04/19/2012-16:34:45:546][00000d08] createHTTPSvrs() – 无法获取addrinfo(请求的名称有效,但未找到请求类型的任何数据。)[04/19/2012-16:34:45:546][00000d08] workerThread() – 无法创建httpsvr[04/19/2012-16:34:45:546][00000d08] workerThread() – 退出[04/19/2012-16:34:45:546][00000e5c] service_main() – 工作线程已退出
变化:服务器的主机名已被更改。
原因:Windows注册表中HKEY_LOCAL_MACHINESOFTWAREOracleOracleMTSRecoveryServiceProtid_0.3中的”Host”条目值仍指向旧的主机名。
这导致在启动OracleMTSRecoveryService时无法创建httpsvr。
解决方案:
-
请通过运行”regedit”打开Windows注册表。
-
请在HKEY_LOCAL_MACHINESOFTWAREOracleOracleMTSRecoveryServiceProtid_0.3中为”Host”条目设置正确的主机名。
-
再次启动OracleMTSRecoveryService。