安裝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)就可以了,做開發是完全可以的,專門做服務器不行,有些限制。