ORACLE10G + WindowsXP下无法启动oracleDBConsole的解决方法

阅读更多

 

现象:

Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 2

系统事件日志 报错误"Agent process exited abnormally during initialization."

出现情况:原来正常,IP地址变了后就不能启动,  

我的解决步骤如下:

1、开始-》运行cmd

2、执行 emctl start dbconsole

C:\Documents and Settings\xcl>emctl start dbconsole
Environment variable ORACLE_SID not defined. Please define it.

提示:环境变量 ORACLE_SID 未定义,请定义。

3、设置 ORACLE_SID =ORCL (orcl是我的实例名,也是服务名)

C:\Documents and Settings\xcl>set oracle_sid=orcl

4、再次执行emctl start dbconsole

C:\Documents and Settings\xcl>emctl start dbconsole
OC4J Configuration issue. E:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole
_china-d9e3f7d07_orcl not found.

提示:无法找到“E:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole
_china-d9e3f7d07_orcl

注:china-d9e3f7d07 是我的计算机名

复制该目录下的“OC4J_DBConsole_localhost_orcl”文件夹放在同一目录下,且把名称改成“OC4J_DBConsole_china-d9e3f7d07_orcl”。

5、再次执行emctl start dbconsole

C:\Documents and Settings\xcl>emctl start dbconsole
EM Configuration issue. E:\oracle\product\10.2.0\db_1/china-d9e3f7d07_orcl not f
ound.

提示:无法找到 “E:\oracle\product\10.2.0\db_1/china-d9e3f7d07_orcl

复制该目录下的“localhost_orcl”文件夹放在同一目录下,且把名称改成“china-d9e3f7d07_orcl”。

6、再次执行emctl start dbconsole

C:\Documents and Settings\xcl>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2006 Oracle Corporation. All rights reserved.
http://localhost:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl
服务正在启动 ...................................................................
................................................................................
................................................................................
..............................
OracleDBConsoleorcl 服务已经启动成功。

 

 

 

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登录地址:

你可能感兴趣的:(ORACLE10G + WindowsXP下无法启动oracleDBConsole的解决方法)