windows不能在本地启动OracleDBConsole,错误代码2 网上搜索了一下,都说是改过ip导致的。但是我没改过ip啊,我家是个小局域网,ip地址时路由器分配的固定ip地址。有一次我开着电脑把路由器的电源拔掉一次,难道是这个原因?怎么查看oracle有的ip和我电脑的ip是不是一样?我建数据库时都用的localhost,没输入ip。。求助

------解决方案--------------------------------------------------------

SQL code问题出现的故障:    

在一次正常使用企业管理器后,重新启动计算机,再次启动OracleDBConsoleORCL服务时,报:Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 2。  

问题出现的背景:更换IP地址,包括局域网和无线网。  

问题解决的思路:

第一种是拔出网线在启动服务,或者把ip改为当时安装的时候的ip就好了

第二种在c:\windows\system32\drivers\etc 文件夹中找到HOST文件,在最后加     入“192.168.?.?(你自己目前IP) localhost ”

第三种是更改Oracle的一种配置文件,就是当时安装时记录的一个配置文件,具体方法:            

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 =WLW (WLW是我的实例名,也是服务名)        

C:\Documents and Settings\xcl>set ORACLE_SID=WLW(注意大写)      

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 found.          

提示:无法找到 “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 服务已经启动成功。

注明:

1.OracleDBConsole[SID]服务负责Windows平台下启动Oracle企业管理器,从Oracle 10g开始引入这个服务,也是从Oracle 10g开始,Oracle的企业管理器从客户端形式变为浏览器操作模式,这里的[SID]即Oracle SID,如果是默认安装就是orcl,故这个服务在你的机器上可能就是OracleDBConsoleORCL        

总结:因为机器在内网,路由器设置为强制DHCP分配IP地址,虽然每次设置的IP地址都是一样的(我这里为192.168.1.103)但因为设置的原因造成服务启动失败。      

2.Oracle的OracleDBConsole[SID]服务很脆弱,在没有任何误操作的情况下,重新启动计算机后,它也可能就启动不了了,但在这时,大家一定要保持冷静,多思考,办法总是有的,不到万不得已,不要重新安装,建议大家在重新启动系统前,先手动停止        OracleDBConsole[SID]服务、监听器服务和数据库服务。  

------解决方案------ 我也是重新启动了电脑以后,发现有一个与oracle应用有关的服务起不来了,数据库显示无法连接,但但是sqlplus却能登陆,就是服务起不来??郁闷的很  ------解决方案------------- 那就重建OEM吧。

手工重新配置dbconsole的步骤  

1,修改DBSNMP密码:  

重新配置DBCONSOLE,需要输入DBSNMP密码,但任何密码都会显示错误,需要预先修改。   sql>alter user dbsnmp identified by xxx;  

2,删除早期DBCONSOLE创建的用户:  

sql>drop role MGMT_USER;  

sql>drop user MGMT_VIEW cascade;  

sql>drop user sysman cascade;  

3,删除早期DBCONSOLE创建的对象:  

sql>drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;  

sql>drop public synonym SETEMVIEWUSERCONTEXT;  

4,重新创建DBCONSOLE:

如果是在windows下,要先到注册表删除DBCONSOLE的服务,重启电脑)  

$emca -config dbcontrol db -repos create  

根据提示,先输入SID,再输入Y继续;  

输入端口1521,输入SYS密码,输入DBSNMP密码,输入SYSMAN 密码,

输入Y继续 完成。

DBCONSOLE服务启动后如果还打不开OEM,则有可能是端口号的问题,

本人问题 依然没有解决!不过这个方案值得借鉴!