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