现在的位置: 首页 > 综合 > 正文

oracle EM和isqlplus 无法打开, JDK冲突

2013年10月09日 ⁄ 综合 ⁄ 共 1507字 ⁄ 字号 评论关闭

背景:

前些天安装了JDK,并设置了相应的环境变量。

JDK安装路径 C:/Program Files/Java/jdk1.6.0_25  

JDK环境变量如下:

JAVA_HOME=C:/Program Files/Java/jdk1.6.0_25

CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

PATH中添加java.exe,javac.exe的路径,加入;%JAVA_HOME%/bin

 

预备知识

oracle自己也带有一个JDK,目录D:/oracle/product/10.2.0/db_1/jdk,在PATH环境变量中有这么一条路径D:/oracle/java/bin/ 这个是oracle自带的JDK路径

 

问题

 

Oracle的服务都可以正常启动,在用浏览器打开OracleEM和isqlplus的WEB界面时连接失败,在命令提示符下查看emctl状态,输入命令emctl status dbconsole ,结果失败,提示查看oracle日志。进入oracle日志文件夹,路径D:/oracle/product/10.2.0/db_1/主机名_SID/sysman/log文件夹,打开emdctl(oracle enterprise manager 10g database control)日志文件提示如下

2011-05-28 20:43:49 Thread-2544 WARN  http: snmehl_connect: connect failed to (SUN-PC:3938): No connection could be made because the target machine actively refused it.
 (error = 10061)

 

查看了日志文件知道是:目标主机主动拒绝连接。同时考虑到环境变量PATH含有oracle自带的JDK路径,而我却在环境变量中设置了JAVA_HOME=C:/Program Files/Java/jdk1.6.0_25,这将导致oracleEM和iSQLPLUS在读取配置文件的时候出现错误,即错误的去读取JAVA的JDK环境变量,而不是oracle自带的JDK的路径。 就是JAVA_HOME误导oracle读取错误的JDK路径。因此我们需要更改环境变量设置,让oracle能够正确的读取。

解决办法是更改JAVA的JDK环境变量设置,删掉JAVA_HOME,更改CLASSPATH=.;C:/Program Files/Java/jdk1.6.0_25/lib/dt.jar;C:/Program Files/Java/jdk1.6.0_25/lib/tools.jar  更改PATH中JDK路径为C:/Program Files/Java/jdk1.6.0_25/bin

经过这样的更改,oracleEM和iSQLPLUS就可以在浏览器上正常打开了。

 

参考文章 http://topic.csdn.net/u/20090222/20/0ff645fb-5a3f-430f-b0d0-f7519286c6f3.html   回帖里面lpc19598188提出了一种解决方法,试了一下,有一个设置提示错误,是因为文件路径问题,呵呵,这个没搞懂,电脑里面安装的东西有点乱……

 

PS:oracle自己带有一个JDK环境,在设置Java语言开发环境的JDK的时候,设置的JAVA_HOME导致oracle错误地读取了Java的JDK,即

       读取了错误的路径导致EM无法正常打开。

 

       解决并总结一个问题用了2个多小时,天啊!!!我要提高效率

抱歉!评论已关闭.