其实这个问题根据我在网上查资料了解的情况应该是个老问题了,只不过大部分都基于10g以前的版本。在重启机器后,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)但因为设置的原因造成服务启动失败。
建议出现这种问题之后,将网线拔出,然后按照上面的方法解决该问题,以后再开机的时候不要联网,这种问题就不会出现了