[日期:2012-10-16] 来源:Linux社区 作者:totoov5 [字体:大 中 小]
场景:
客户说OEM忽然不能用了。因为应用程序链接了OEM的部分页面,必须马上恢复。
现象:
登陆客户服务器,执行emctl status dbconsole,显示未启动。尝试启动报错。
解决步骤:
1) 启动dbconsole,等了好长时间,提示不成功。部分日志如下:
1.2011-6-3 18:44:06 Oracle.sysman.emcp.util.DBControlUtil startOMS
2.信息: 正在启动 Database Control (此操作可能需要一段时间)...
3.2011-6-3 18:44:06 oracle.sysman.emcp.util.PlatformInterface serviceCommand
4.配置: cmdType: 0
5.2011-6-3 18:44:06 oracle.sysman.emcp.util.PlatformInterface serviceCommand
6.配置: Starting Windows service...OracleDBConsoleprotect
7.2011-6-3 18:44:06 oracle.sysman.emcp.util.PlatformInterface serviceCommand
8.配置: Waiting for service 'OracleDBConsoleprotect' to fully start
9.2011-6-3 18:44:16 oracle.sysman.emcp.util.PlatformInterface serviceCommand
10.配置: Waiting for service 'OracleDBConsoleprotect' to fully start
11.2011-6-3 18:44:26 oracle.sysman.emcp.util.PlatformInterface serviceCommand
12.配置: Waiting for service 'OracleDBConsoleprotect' to fully start
2) 以为是修改了IP之类的,确认网络配置无问题后,重建资料库及数据库控制组
结果还是提示上面的错误,OEM任然启动不起来。
后来将主机名,换成127.0.0.1后,重新创建资料库及数据库控制组。仍然启动不起来。
一晃2小时过去了.......
3) google一番后,发现极可能是bug,10.2.0.4上必须打个补丁,Patch 8350262 。 下载补丁---------打补丁
4) 重建资料库,又提示错误了:
SYSMAN already exists........
资料库能删除,但创建就报错......这个纠结。
删除数据库上部分对象:
1.SQL> DROP public synonym SETEMVIEWUSERCONTEXT;
2.
3.同义词已删除。
4.
5.SQL> DROP PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
6.
7.同义词已删除。
8.
9.SQL> drop role MGMT_USER;
10.
11.角色已删除。
12.
13.SQL> DROP USER MGMT_VIEW CASCADE;
14.
15.用户已删除。
16.
17.SQL> DROP USER SYSMAN CASCADE;
再次尝试创建资料库,终于好了。
5) 创建数据库控制组,又报错了......
按提示操作,提示不能连接到数据库实例。
6) 进入OEM,提示数据库实例及监听都没启动,但实例及监听明明好好的。
忽然记起,是不是把tnsname.ora和listener.ora中主机名改成了127.0.0.1引起的。原样修改回去。关闭OEM,重启监听,重启OEM....
终于一切正常了。
7) 按照上面截图提示,修改SYSMAN密码后,果断收工.....
总结:
平时没事多看看oracle的bug,总是好的,省时、省心、省事;
使用OEM,尽量不要去修改主机的IP地址;
多多查看oracle操作日志。
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-10/72390.htm