欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

【oracle案例】oracle EM和isqlplus 无法打开, JDK冲突

程序员文章站 2022-03-30 14:05:39
...

背景: 前些天安装了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,jav

背景:

前些天安装了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个多小时,天啊!!!我要提高效率