转载自:http://www.cnblogs.com/spatial/archive/0001/01/01/1529366.html
Oracle:启动 Database Control 时出错
问题描述:
原来一直用oracle10g学习的,EM安装没出问题,一直比较正常,后来卸了10g,装上了oracle最新发布的11g,安装过程中,数据库的安装不存在问题,在最后启动database control时,出现无法启动,当时没太在意,就先跳过去了,因为这个不影响数据库自身的运转的,后来又经过一段时间,需要收集数据库的运行状态信息,不得已就得需要配置安装EM,通过emca语句来配置创建EM,无料在安装过程中,同样出现此问题,于是查看安装日志log,追踪到下面错误的语句:
oracle.sysman.emcp.exception.EMConfigException:启动 Database Control 时出错
at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:869)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:250)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:213)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:235)
at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:535)
at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1215)
at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:519)
at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:468)
可以确定EM资料档案库数据的上载配置都没有错误,就是这个服务无法启动,以至于后面的配置无法完成。
一看是基于java语言开发的配置程序在安装配置过程中抛出的异常,首先怀疑可能是java虚拟机与jdk版本的问题,这个问题在以前也遇到过,版本不一致很可能导致程序抛出一定错误,于是打开任务管理器追踪java.exe版本,追踪方法可以用下面cmd方法查询:
发现java.exe是oracle自身版本带的jdk,跑到其源文件夹一查询,是1.5的,而我的java虚拟机是1.6,很可能是这方面的原因,于是又再sun主页上下载了最新的1.6的jdk,全部代替了oracle版本自身的1.5版的,本想这应该行了吧,可是通过ecma语句重新创建EM,还是无法启动database control服务,于是真的怪哉乎了,问题依然存在,那么排除java版本的问题,还有什么问题呢?于是再看抛出的语句,EMDBPostConfig抛出的错误,肯定是在配置过程中出的问题,可是问题在哪里呢?思来思去,估计恐怕只有网络连接的问题了,于是打开网络连接,一看傻了眼了,居然有两套网络连接着,去cmd下面用ipconfig一看,居然有两套不同的ip地址在同时运行,于是问题可能出现在这里,仅仅是直觉,但是为什么还是说不上来,那就先禁止一个再试试,于是禁止掉一个,再通过emca试试,通过一系列安装配置,在最后启动database control时,的确捏了一把汗,如果再起不来,就真的没有办法了啊!幸运的是,终于在最后关头,顺利的启动了database control,完成了最后的配置,终于成功的配置了11g下面的EM平台,但是回头总结一下,问题根源还是没闹明白,到底与java版本的冲突有关系吗?“网络连接”两套ip地址问题为什么会对EM的创建造成阻碍?暂时回答不了,以后有机会追查清楚了再来补充吧!
问题解决方法总结:
1, 先去检查一下java虚拟机安装情况和版本情况,如果存在冲突,那么首先解决版本的问题吧!一种简单的方法,就是下载一个与jvm配套的jdk直接替换掉oracle自带的版本吧,相信大家这点都可以做到的。
2, 检查你的网络连接情况,如果有多个网络连接,也可能存在问题,那就暂时禁止掉吧,留一个再去试试吧!有的网友反应有时候也要断网才行,本人觉得断网与否应该没太大关系,如果实在不行,也可以断掉网试试吧!
下面是emca创建em的过程,大致演示一下:
1, 删除建立失败的em档案库:
C:\Documents and Settings\Administrator>emca -deconfig dbcontrol db-repos drop
EMCA 开始于 2009-7-23 11:19:18
EM Configuration Assistant, 11.1.0.5.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: verafzy
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:
SYSMAN 用户的口令:
是否继续? [是(Y)/否(N)]: y
2009-7-23 11:19:40 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到E:\app\Administrator\cfgtoollogs\emca\verafzy\emca_2009
_07_23_11_19_17.log。
2009-7-23 11:19:42 oracle.sysman.emcp.util.DBControlUtil stopOMS
信息: 正在停止 Database Control (此操作可能需要一段时间)...
2009-7-23 11:20:23 oracle.sysman.emcp.EMReposConfig invoke
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2009-7-23 11:24:42 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功删除资料档案库
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2009-7-23 11:24:56
2, 重新创建em档案库:
C:\Documents and Settings\Administrator>emca -config dbcontrol db-repos create
EMCA 开始于 2009-7-23 11:26:55
EM Configuration Assistant, 11.1.0.5.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: verafzy
监听程序端口号: 1521
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
SYSMAN 用户的口令: 通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------
已指定以下设置
数据库 ORACLE_HOME ................ E:\app\Administrator\product\11.1.0\db_1
本地主机名 ................ PC-200901030636
监听程序端口号 ................ 1521
数据库 SID ................ verafzy
通知的电子邮件地址 ...............
通知的发件(SMTP) 服务器 ...............
是否继续? [是(Y)/否(N)]: y
009-7-23 11:27:13 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到E:\app\Administrator\cfgtoollogs\emca\verafzy\emca_2009
07_23_11_26_55.log。
009-7-23 11:27:15 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
009-7-23 11:39:46 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功创建资料档案库
009-7-23 11:39:59 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
信息: 正在将配置数据上载到 EM资料档案库 (此操作可能需要一段时间)...
009-7-23 11:41:42 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功上载配置数据
009-7-23 11:41:47 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib
信息: 软件库已配置成功。
009-7-23 11:41:47 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 正在部署预配档案...
009-7-23 11:42:02 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 预配档案部署成功。
009-7-23 11:42:03 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 正在保护 Database Control (此操作可能需要一段时间)...
2009-7-23 11:42:19 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 已成功保护Database Control。
2009-7-23 11:42:19 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2009-7-23 11:46:29 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动Database Control
2009-7-23 11:46:34 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 https://PC-200901030636:1158/em <<<<<<
<<<<<
2009-7-23 11:47:10 oracle.sysman.emcp.EMDBPostConfig invoke
警告:
************************ WARNING ************************
管理资料档案库已置于安全模式下, 在此模式下将对Enterprise Manager 数据进行加密。
加密密钥已放置在文件 E:\app\Administrator\product\11.1.0\db_1\PC-200901030636_ve
rafzy\sysman\config\emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数
据将不可用。
***********************************************************
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2009-7-23 11:47:13
Ok!建立成功,就可以去浏览器下面去登陆em管理平台了!
偶以此地址在IE8登陆:https://localhost:1158/em/console/logon/logon视图如下,em正式建立成功,可能安全方面存在验证的问题,只要导入证书,重新启动下就ok了!
最后说明:方法仅供参考,并非完全有效,因为环境不同,可能差异也比较明显,如果哪位高人能够回答上面的问题,就麻烦留个言,我们共同学习探讨吧!