您好,欢迎访问一九零五行业门户网

安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案

安装64位版oracle11gr2后发现启动sql developer时弹出配置java.exe的路径,找到oracle自带java.exe后产生的路径“c:\app\用户名\product\11.2.0\dbhome_1\jdk”却弹出错误信息: -------------------------- unable to find a java
安装64位版oracle11gr2后发现启动sql developer时弹出配置java.exe的路径,找到oracle自带java.exe后产生的路径“c:\app\用户名\product\11.2.0\dbhome_1\jdk”却弹出错误信息:--------------------------
unable to find a java virtual machine
to point to a location of a java virtual machine,please refer to the oracle9i jdeveloper install guide(jdev\install.html)
--------------------------
由于没有重新配置的机会,只好到安装目录“c:\app\用户名\product\11.2.0\dbhome_1\sqldeveloper0\sqldeveloper\bin”中找到配置文件sqldeveloper.conf,修改其中“setjavahome”项为“setjavahome c:\program files\java\jdk1.6.0_21”,这是另一个单独安装的jdk,结果还是一样。
于是,又配置成myeclipse8.5所带的jdk路径“setjavahome c:\users\用户名\appdata\local\genuitec\common\binary\com.sun.java.jdk.win32.x86_1.6.0.013”,一切正常,正纳闷时,到网络上搜了一下,找到“http://forums.oracle.com/forums/thread.jspa?messageid=4449178”后终于受到了启发,弄明白是怎么回事。
原来oracle在制造64位版的时候没注意oracle11gr2所带的sql developer是1.5.5.59.69版,不支持64位版的jdk,恰好64位oracle带的jdk和“c:\program files”中的jdk都是64位的。如果你单独安装的jdk中“c:\program files (x86)”中则说明是32位版的,是可以用的。为什么myeclipse所带的jdk可用呢,因为myecipse8.5没有64位版(包括最新的8.6也一样),所以其中带的jdk当然是32位版的了。明白了吗?
再来看看解决方案:
既然你已经决定了要用64位版的oracle11gr2:
(1)单独安装一个32位版的jdk就可以直接配置了;
(2)升级sql developer到2.1,把原来“c:\app\用户名\product\11.2.0\dbhome_1”下的的删除,下载(http://download.oracle.com/otn/java/sqldeveloper/sqldeveloper64-2.1.1.64.45-no-jre.zip)回来直接解压得到一个sqldeveloper文件夹放到同一位置即可。这时即可以配置“c:\program files”下的jdk,而oracle自带的jdk,还是不能用的,因为这个2.1版的sql developer需要的jdk是1.6.0_04以上,而oracle11gr2自带的jdk版本只有1.5.0_17。
还没完哟,还有个小小的问题没有解决,“开始”菜单中的那个“sql developer”是指向“c:\app\用户名\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin\sqldeveloper.bat”的,这个无法启动,也许你的机器可以启动,网络上有人说过这个问题,打开这个文件一看,内容是:
java -xmx640m -xms128m -xverify:none -doracle.ide.util.addinpolicyutils.override_flag=true -dsun.java2d.ddoffscreen=false -dwindows.shell.font.languages= -xx:maxpermsize=128m -dide.asserttracingdisabled=true -doracle.ide.util.addinpolicyutils.override_flag=true -djava.util.logging.config.file=logging.conf -dsqldev.debug=false -dide.conf=./sqldeveloper.conf -dide.startingcwd=. -classpath ../../ide/lib/ide-boot.jar oracle.ide.boot.launcher
解决办法是:把前面的“-xmx640m”修改为“-xmx512m”即可。但运行这个命令,单击那个允许运行程序的“是”后,没有任何反应,但直接在资源管理器中运行这个bat文件会弹出一上类似dos的窗口有很多信息显示后又弹出一个窗口,这个就是了。这样运行感觉不太好,所以继续改造:
在“开始”菜单中的“sql developer”上右击选属性,把目标中的“c:\app\用户名\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin\sqldeveloper.bat”修改为“c:\app\用户名\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin\sqldeveloperw.exe”即可。
至于默认运行“sqldeveloper.bat”,应该有其道理,知道原理者可以补充一下。
现在才明白2g内存运行64位版win7后在什么情况下内存吃紧了,唉,要么再去加一条2g的内存,要么用用oracle database 10g express edition (universal)就可以了,做开发是完全可以的,专门做服务器不行,有些限制。
其它类似信息

推荐信息