OracleDBConsole无法启动的解决方案一

OracleDBConsole[SID]服务简介
  OracleDBConsole[SID]服务负责Windows平台下启动Oracle企业管理器,从Oracle 10g开始引入这个服务,也是从Oracle 10g开始,Oracle的企业管理器从客户端形式变为浏览器操作模式,这里的[SID]Oracle SID,如果是默认安装就是orcl,故这个服务在你的机器上可能就是OracleDBConsoleORCL,事实上在我的机器上也是它。
 本文基于Oracle 11g操作系统Windows xp,故本文描述的解决办法仅供参考。
 故障描述

其实这个问题根据我在网上查资料了解的情况应该是个老问题了,只不过大部分都基于10g以前的版本。在WINXP下安装11g版本的时候我都是按照默认的操作执行,在重启机器后,OracleDBConsoleorcl服务就无法开启,错误提示:
   
Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 2
    在网上搜索了很多方法都无效,包括拔网线重启、重命名。大家一定不要盲目的相信网上的方法,HOSTNAME_ORCL/OC4J_DBConsole_orcl文件夹等(其实这个方法思路是对的,但是网上提供这个答案的朋友没有讲解清楚),下面是我解决问题的过程
   
在命令行下输入
    emctl start dbconsole
   
提示
    报错,ORACLE_SID没有定义
    输入
   
set ORACLE_SID=ORAL(ORAL是我的实例名,也是服务名)
   
没有问题,接着继续输入emctl start dbconsole
   
提示
   
OC4J Configuration issue. D:oracleproduct10.2.0db_1/oc4j/j2ee/OC4J_DBConsole_192.168.1.103_orcl not found.
   
接着联想到前面看到的解决方法,茅塞顿开:复制一份j2ee下的OC4J_DBConsole_HOSTNAME_orcl文件夹,重命名为OC4J_DBConsole_192.168.1.103_orcl,复制一份db_1下的HOSTNAME_orcl文件夹,重命名为192.168.1.103_orcl
最后重新启动dbconsole,服务启动成功

总结:因为机器在内网,路由器设置为强制DHCP分配IP地址,虽然每次设置的IP地址都是一样的(我这里为192.168.1.103)但因为设置的原因造成服务启动失败。除了上面的解决办法之外,还有一种我没有验证的方法,不过原理上应该也是可以的:
   
c:/windows/system32/drivers/etc 文件夹中找到HOST文件,在最后加入
   
192.168.?.?(你自己目前IP) localhost
   
或者干脆使用固定IP,省去这些麻烦的设置。
   
最后附上服务启动成功后的EM登录地址:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章