Oracle Database 11g Release 2自带SQL Developer启动不了解决办法
在安装完Oracle Database 11g Release 2数据库,想试一下Oracle自带的SQL Developer工具,在操作系统菜单的所有程序中找到SQL Developer如下所示,并单击:
结果却提示缺少快捷方式,没找到“SQLDEVELOPER.BAT”,如下所示:
在Oracle的安装目录D:\DataBaseInstall\Oralce_11g_r2\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin下的确也没找到sqldeveloper.bat文件。网上很多人都说重新下载SQL Developer替换掉安装Oracle时自带的那个。
重新到Oracle官网下载SQL Developer,当前最新版下载地址:http://download.oracle.com/otn/java/sqldeveloper/sqldeveloper64-3.2.20.09.87-no-jre.zip
将下载下来的 sqldeveloper64-3.2.20.09.87-no-jre.zip解压到Oracle安装目录下
这时重新单击操作系统菜单中的“SQL Developer”,看到命令窗口闪一下就消失了。看了一下SQL Developer的“readme.html”文档知道了SQL Developer 3.2支持的Java版本至少要1.6.0_04。
那就下载当前最新JDK安装,在这里我下载的是jrockit-jdk1.6.0_37-R28.2.5-4.1.0-windows-x64.exe。下载完成后双击出现如下安装界面:
在欢迎窗口中单击“Next”:
设置JDK安装目录,单击“Next”:
这里问你是否需要安装示例或源代码,根据需要选择,这里我就不选了直接单击“Next”:
这里是否安装JRE,选择“Yes”,单击“Next”:
设置JRE安装目录,单击“Next”:
安装过程:
安装完毕,单击“Done”关闭。
现在新的JDK安装完后,重新单击操作系统菜单中的“SQL Developer”,这时“SQL Developer”可以启动,但是报了如下的异常:
Exception initializing 'oracle.dbtools.raptor.plsql.PLSQLAddin' in extension 'Or acle SQL Developer': java.lang.NoClassDefFoundError: com/sun/jdi/Bootstrap at oracle.jdevimpl.debugger.jdi.DebugJDIConnector.getVersion(DebugJDICon nector.java:30) at oracle.jdevimpl.debugger.support.DebugFactory.<clinit>(DebugFactory.j ava:81) at oracle.dbtools.raptor.plsql.PLSQLAddin.initialize(PLSQLAddin.java:97) at oracle.ideimpl.extension.AddinManagerImpl.initializeAddin(AddinManage rImpl.java:407) at oracle.ideimpl.extension.AddinManagerImpl.initializeAddins(AddinManag erImpl.java:214) at oracle.ideimpl.extension.AddinManagerImpl.initProductAndUserAddins(Ad dinManagerImpl.java:128) at oracle.ide.IdeCore.initProductAndUserAddins(IdeCore.java:1941) at oracle.ide.IdeCore.startupImpl(IdeCore.java:1565) at oracle.ide.Ide.startup(Ide.java:703) at oracle.ideimpl.DefaultIdeStarter.startIde(DefaultIdeStarter.java:35) at oracle.ideimpl.Main.start(Main.java:184) at oracle.ideimpl.Main.main(Main.java:146) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at oracle.ide.boot.PCLMain.callMain(PCLMain.java:62) at oracle.ide.boot.PCLMain.main(PCLMain.java:54) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at oracle.classloader.util.MainClass.invoke(MainClass.java:128) at oracle.ide.boot.IdeLauncher.bootClassLoadersAndMain(IdeLauncher.java: 189) at oracle.ide.boot.IdeLauncher.launchImpl(IdeLauncher.java:89) at oracle.ide.boot.IdeLauncher.launch(IdeLauncher.java:65) at oracle.ide.boot.IdeLauncher.main(IdeLauncher.java:54) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at oracle.ide.boot.Launcher.invokeMain(Launcher.java:713) at oracle.ide.boot.Launcher.launchImpl(Launcher.java:115) at oracle.ide.boot.Launcher.launch(Launcher.java:68) at oracle.ide.boot.Launcher.main(Launcher.java:57)
看着异常就不爽啊,解决呗。运行命令行窗口查看是否设置了JDK系统环境变量,这里显然是没有设置JDK系统环境变量:
设置系统环境变量
在桌面选中“计算机”右键选择“属性”,单击“高级系统设置”:
在高级选项卡中单击“环境变量”:
在系统变量下单击“新建”,填入变量名“JAVA_HOME”,变量值为JDK的安装目录,我这里为“ D:\JAVAEEServiceInstall\Java\jrockit-jdk1.6.0_37-R28.2.5-4.1.0 ”,单击“确定”:
在系统变量中找到“Path”,单击“编辑”,在变量值中加入“%JAVA_HOME%\bin”以“;”相隔,单击“确定”:
系统环境变量设置完成后,重新启动命令行窗口,检查是否成功。如下为设置成功:
重新单击操作系统菜单中的“SQL Developer”,这时“SQL Developer”可以正常启动:
如果希望不出现“[WARN ][jrockit] MaxPermSize=128M ignored: Not a valid option for JRockit”警告,那用记事本打开SQL Developer的bin目录下的“sqldeveloper.bat”文件,找到“-XX:MaxPermSize=128M”直接删除。因为jrockit已经不需要-XX:MaxPermSize这样的参数了。