OEM启动失败的恢复 (未打补丁Patch 8350262)

场景:

        客户说OEM忽然不能用了。因为应用程序链接了OEM的部分页面,必须马上恢复。

 

 

现象:

       登陆客户服务器,执行emctl status dbconsole,显示未启动。尝试启动报错。

 

 

解决步骤:

      1)   启动dbconsole,等了好长时间,提示不成功。部分日志如下:        

2011-6-3 18:44:06 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2011-6-3 18:44:06 oracle.sysman.emcp.util.PlatformInterface serviceCommand
配置: cmdType: 0
2011-6-3 18:44:06 oracle.sysman.emcp.util.PlatformInterface serviceCommand
配置: Starting Windows service...OracleDBConsoleprotect
2011-6-3 18:44:06 oracle.sysman.emcp.util.PlatformInterface serviceCommand
配置: Waiting for service 'OracleDBConsoleprotect' to fully start
2011-6-3 18:44:16 oracle.sysman.emcp.util.PlatformInterface serviceCommand
配置: Waiting for service 'OracleDBConsoleprotect' to fully start
2011-6-3 18:44:26 oracle.sysman.emcp.util.PlatformInterface serviceCommand
配置: 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........

      资料库能删除,但创建就报错......这个纠结。

       删除数据库上部分对象:

   

SQL> DROP public synonym SETEMVIEWUSERCONTEXT;

同义词已删除。

SQL> DROP PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;

同义词已删除。

SQL> drop role MGMT_USER;

角色已删除。

SQL> DROP USER MGMT_VIEW CASCADE;

用户已删除。

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操作日志。

你可能感兴趣的:(OEM启动失败的恢复 (未打补丁Patch 8350262))