问题描述:
原来一直用 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 了!