当前位置: 代码迷 >> Oracle管理 >> windows不能在本地启动OracleDBConsole,异常代码2
  详细解决方案

windows不能在本地启动OracleDBConsole,异常代码2

热度:56   发布时间:2016-04-24 05:27:09.0
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,则有可能是端口号的问题,
  相关解决方案