`
freeskywcy
  • 浏览: 214808 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Oracle的EM(OracleDBConsoleorcl服务)无法启动的问题解决

 
阅读更多

Oracle的EMOracleDBConsoleorcl服务)无法启动

 

原因有如下几个方面:

1、 更改了机器名

2、 更改了IP

3、 断网和联网时(IP自动更改)

 

解决方案:

1、 正式方法:通过emca重新建立repos(比较麻烦)

命令:emca -config dbcontrol db -repos recreate

 

2、 偏方:假设能正常运行时机器名为freesky

1   运行cmd

2   启动em服务:emctl start dbconsole

会提示环境变量ORCALE_UNQNAME没定义,请设置ORCALE_UNQNAME”

3   设置oracle_sidset oracle_sid=orcl

4   再次运行emctl start dbconsole会提示“OC4J Configuration issue. D:\oracle11g\product\11.2.0\dbhome_1\oc4j\j2ee\ OC4J_DBConsole_192.168.0.2_orcl not found”,其中192.168.0.2为新的计算机名(IP),把同目录下能正常运行的OC4J_DBConsole_freesky_orcl文件夹复制一份并改名为OC4J_DBConsole_192.168.0.2_orcl

5   再次运行emctl start dbconsole会提示“EM Configuration issue. D:\oracle11g\product\11.2.0\dbhome_1\192.168.0.2_orcl not found”,把同目录下能正常运行的如freesky_orcl文件夹复制一份并改名为192.168.0.2_orcl

6   再次运行emctl start dbconsoleOK

3.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资料档案库即可。

  总结

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

经过网上查询,知道是网络端口重复了,使用以下方法解决:

emca -config dbcontrol db -DBCONTROL_HTTP_PORT 5508 -AGENT_PORT 3940 -RMI_PORT 5524 -JMS_PORT 5545

再停用一次EM,再启动EM,就好了.

emctl stop dbconsole

emctl start dbconsole

不过提醒点,如果你的计算机IP地址不是固定的话,装Oracle时把网断(禁用与断网是两个不同的概念)了,这样装就不会出问题,再者在启动该服务与监听服务时,不能有网络的,因为如果有网络oracle会自动配置,所以就会出现以上的问题了,最好把些两项服务设置为手动最好

也就是在什么IP环境下装的数据库,服务才能在这种情况下启动

还有如果安装了ODTwithODAC1110621工具的话,PL/SQL连接会出现以下错误

pl/sql ora-12154

我的做法是修改PATH变量

修改前为:D:\Oracle11\product\11.1.0\client_1;D:\Oracle11\product\11.1.0\client_1\bin;D:\Oracle11\product\11.1.0\db_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;D:\Program Files\CodeSmith\v5.0\

修改后为:D:\Oracle11\product\11.1.0\client_1;D:\Oracle11\product\11.1.0\client_1\bin;D:\Oracle11\product\11.1.0\db_1;D:\Oracle11\product\11.1.0\db_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;D:\Program Files\CodeSmith\v5.0\

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics