环境本系列文章第一篇,问题的产生及解决请读问题一及问题二
问题:数据库创建即将完成时,说Oracle Enterprise Manager服务启动失败,实际就是DBConsole服务启动失败
分析:该问题同样由Oracle10g自带的1.4.2引起
解决:用外部JDK替换Oracle自带的JDK
做法:
1、删除EM资料库
你既可利用Oracle的工具进行删除,也可利用命令行工具执行,此处利用命令行工具执行
在命令行状态:输入 emca -deconfig dbcontrol db -repos drop
执行该命令,此时要你输入sys口令(好象还要输监听端口号及数据库SID,记不住了,监听端口号是数据库的监听端口号,默认为1521,数据库SID就是你安装时创建的数据库SID)
当问到是否继续时,说Y
2、编辑emca.bat
在Oracle10g安装目录下的BIN目录中,有emca.bat文件,修改set JRE_JAVA参数,指向你的外部JRE中的JAVA.EXE
此步骤非必须,是我已对1.4.2不相信了,不修改也可,用外部JDK整个替换Oracle安装目录中的JDK来的更直接,反正都是
要替换的,我是用我机器上JDK1.6.0_10目录下的所有替换了Oracle安装目录下的JDK目录下的所有
3、重建EM资料库
命令行状态输入:emca -config dbcontrol db -repos create
执行该命令,让你输入一堆用户口令,我都是用我创建数据库时用的sys口令来的,我所有的用户都用同一口令(因为是开发
状态),同样,还让你输入监听端口号,还是数据库的监听端口号
问到是否继续时,说Y
后来提示说创建成功,到Windows服务列表中看时,DBConsole服务已正常启动
通过IE登录到EM,连接正常,可进入,说明DBConsole的确已正常
后记:这些问题困扰了我两个晚上,上网查资料基本没有说明,通过日志发现错误出在JAVA上,日志中不是解压JAVA包后出
问题,就是在调用ORACLE中JAVA的JAR什么什么的,判断大概问题出在JAVA上,那么是出现在本身机器中的JAVA,还
是另有一套JAVA在执行?通过查看WINDOWS进程表,发现ORACLE是利用自身的JAVA在RUN,于是决定利用我机器上的
JAVA完全替换ORACLE中的JAVA,查看日志,查看ORACLE安装过程中运行的文件,就替换了ORACLE安装目录下的JRE与
JDK,想想白白浪费了两个晚上,真是不值,但愿对其他人有帮助