• [转]OracleDBConsole服务不能启动的经历


      【IT168 技术文档】

      OracleDBConsole[SID]服务简介

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

      本文基于Oracle 11g,操作系统为Windows xp,故本文描述的解决办法仅供参考。

      故障描述

      在一次正常使用企业管理器后,重新启动计算机,再次启动OracleDBConsoleORCL服务时,报:

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

      在应用程序事件日志中记录了如下错误信息:

      Process exited abnormally during initialization.

      解决过程

      尝试从命令行下启动该服务,也以失败告终,正寻思着是否删除数据库再重新安装,突然想起Oracle企业管理器其实是一个单独的组件,可以将其单独删除,再重新安装的,其实这里并不是删除Oracle企业管理器,而是Oracle数据库控制台资料档案库,删除资料档案库会同时删除OracleDBConsoleORCL服务,并删除用户SYSMAN及其所属对象,重新创建资料档案库就会重新添加OracleDBConsoleORCL服务,并创建SYSMAN用户及其所属对象。搞清楚这一点关系后,开始动手实施修复。

      首先删除资料档案库,注意此时Oracle的监听器服务和数据库服务必须处于启动状态,因为删除命令会连接到数据库删除SYSMAN用户及其所属对象:

      C:\>emca -repos drop

      EMCA 开始于 2009-1-31 9:13:24

      EM Configuration Assistant, 11.1.0.5.0 正式版

      版权所有 (c) 2003, 2005, Oracle。保留所有权利。

      输入以下信息:

      数据库 SID: orcl

      监听程序端口号: 1521

      SYS 用户的口令:【输入SYS用户的口令,输入口令时屏幕不会回显】

      SYSMAN 用户的口令:【输入SYSMAN用户的口令】

      SYSMAN 用户的口令:

      是否继续? [是(Y)/否(N)]: y

      2009-1-31 9:15:04 oracle.sysman.emcp.EMConfig perform

      信息: 正在将此操作记录到 c:\app\Administrator\cfgtoollogs\emca\orcl\emca_2009_01

      _31_09_13_24.log。

      2009-1-31 9:15:05 oracle.sysman.emcp.EMReposConfig invoke

      信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...

      开始等待删除,这个过程可能比较长,来杯咖啡,休息休息吧。

      删除结束后,往往有人会想到使用命令重新创建资料档案库,但经过我多次尝试,使用这种办法创建好资料档案库后,OracleDBConsoleORCL服务仍然无法启动,企业管理器依旧无法使用,于是想到使用dbca来创建,于是在运行窗口输入:dbca,启动数据库配置助手,在第一步时选择“配置数据库选件”,后面的操作只需要一直点击下一步就可以了,注意在选择是否使用EM资料档案库时,一定要选中,默认没有选中,dbca检查到系统中已经没有EM资料档案库,于是就会重新创建,OracleDBConsoleORCL服务也会重新添加了,这也会花一段时间,如果dbca重新配置过程中不出现错误,那配置结束后,OracleDBConsoleORCL服务就能够正常启动,就可以正常使用Oracle企业管理器了。如果删除EM资料档案库不彻底,运行dbca期间可能会报错,一般是SYSMAN用户及其对象没有删除干净,遇到这种问题时,只需要再次运行一次emca –repos drop即可。

      如果在删除EM资料档案库时,删除了SYSMAN用户及其所属对象,但OracleDBConsole[SID]服务没有删除时,如果该服务还能够启动,并能够通过浏览器进入,那此时就可以使用emca –repos create重新创建EM资料档案库即可。

      总结

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

         另外一种情况是IP变动了的原因,比如你在XP之类的系统通过DHCP获得IP时容易出现这个问题,解决方法:

          1:运行cmd
      2:执行emctl start dbconsole,提示“找不到环境变量ORCALE_SID”,请运行SET ORCALE_SID=***
      3:再次执行emctl start dbconsole,提示“无法找到D:\oracle\product\10.2.0\db_1\e1c8cd_SKYORCL”,复制该目录下的“localhost_skyorcl”文件夹放在同一目录下,且把名称改成“e1c8cd_SKYORCL”。
      4:再次执行emctl start dbconsole,提示“无法找到D:\oracle\product\10.2.0\db_1\oc4j\j2ee\OC4J_DBConsole_e1c8cd_skyorcl”,复制该目录下的“OC4J_DBConsole_localhost_skyorcl”文件夹放在同一目录下,且把名称改成“OC4J_DBConsole_e1c8cd_skyorcl”。
      4:再次执行emctl start dbconsole,既可以启动
      注意:“localhost_skyorcl”与“OC4J_DBConsole_localhost_skyorcl”俩个文件夹的我名称与目录由您自己安装决定。

  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/flyingfish/p/1683062.html
Copyright © 2020-2023  润新知