Oracle Database 11g Release 2自带SQL Developer启动不了解决办

askycat 2017-01-02

在安装完Oracle Database 11g Release 2数据库,想试一下Oracle自带的SQL Developer工具,在操作系统菜单的所有程序中找到SQL Developer如下所示,并单击:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   结果却提示缺少快捷方式,没找到“SQLDEVELOPER.BAT”,如下所示:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办Oracle Database 11g Release 2自带SQL Developer启动不了解决办

在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安装目录下

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

这时重新单击操作系统菜单中的“SQL Developer”,看到命令窗口闪一下就消失了。看了一下SQL Developer的“readme.html”文档知道了SQL Developer 3.2支持的Java版本至少要1.6.0_04。

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

那就下载当前最新JDK安装,在这里我下载的是jrockit-jdk1.6.0_37-R28.2.5-4.1.0-windows-x64.exe。下载完成后双击出现如下安装界面:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   在欢迎窗口中单击“Next”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   设置JDK安装目录,单击“Next”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   这里问你是否需要安装示例或源代码,根据需要选择,这里我就不选了直接单击“Next”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

 这里是否安装JRE,选择“Yes”,单击“Next”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   设置JRE安装目录,单击“Next”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   安装过程:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   安装完毕,单击“Done”关闭。

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

现在新的JDK安装完后,重新单击操作系统菜单中的“SQL Developer”,这时“SQL Developer”可以启动,但是报了如下的异常:

Oracle Database 11g Release 2自带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)
Oracle Database 11g Release 2自带SQL Developer启动不了解决办

 Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   看着异常就不爽啊,解决呗。运行命令行窗口查看是否设置了JDK系统环境变量,这里显然是没有设置JDK系统环境变量:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   设置系统环境变量

在桌面选中“计算机”右键选择“属性”,单击“高级系统设置”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   在高级选项卡中单击“环境变量”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   在系统变量下单击“新建”,填入变量名“JAVA_HOME”,变量值为JDK的安装目录,我这里为“ D:\JAVAEEServiceInstall\Java\jrockit-jdk1.6.0_37-R28.2.5-4.1.0 ”,单击“确定”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   在系统变量中找到“Path”,单击“编辑”,在变量值中加入“%JAVA_HOME%\bin”以“;”相隔,单击“确定”:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   系统环境变量设置完成后,重新启动命令行窗口,检查是否成功。如下为设置成功:

Oracle Database 11g Release 2自带SQL Developer启动不了解决办

   重新单击操作系统菜单中的“SQL Developer”,这时“SQL Developer”可以正常启动:

 Oracle Database 11g Release 2自带SQL Developer启动不了解决办Oracle Database 11g Release 2自带SQL Developer启动不了解决办

如果希望不出现“[WARN ][jrockit] MaxPermSize=128M ignored: Not a valid option for JRockit”警告,那用记事本打开SQL Developer的bin目录下的“sqldeveloper.bat”文件,找到“-XX:MaxPermSize=128M”直接删除。因为jrockit已经不需要-XX:MaxPermSize这样的参数了

相关推荐