安装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)就可以了,做开发是完全可以的,专门做服务器不行,有些限制。

安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案的更多相关文章

  1. 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案(原创) (2016-10-29 下午01:56)

    安装64位版Oracle11gR2后发现启动SQL Developer时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径"C:\app\用户名\product ...

  2. 解决在VMware中安装64位系统时“此主机具有虚拟化支持能力的,但虚拟化技术被禁用”的方法

    您已经配置此虚拟机使用64位客户操作系统.然而,64位操作系统不可用.此主机具有虚拟化支持能力的,但虚拟化技术被禁用.这通常是因为虚拟化技术已经在BIOS /固件设置或禁用或主机没有权限改变此设置. ...

  3. 解决Tomcat6解压版在64位windows系统上无法启动服务的问题

    解决Tomcat6解压版在64位windows系统上无法启动服务的问题         由于客户环境为64位windows系统,开发环境一直用32位.tomcat使用6.0.20非安装版.部署时发现在 ...

  4. 树莓派4B安装64位Linux(不用显示器键盘鼠标)

    入手了树莓派4B,我对它的定位是作为一个Docker实验环境,平时用到的镜像多为Java服务端常用的技术.以及自己作的Java应用镜像,因此宿主机需要64位操作系统,而树莓派官方操作系统只有32位的, ...

  5. 联想Z485安装64位ubantu

    开始今天的正式写作之前不得不吐槽一下联想电脑,真的是很垃圾!联想Z485使用的是AMD的处理器,性能差的很,更让人不能忍的是,居然不能正常安装64位ubantu.这个情况让那些想在自己笔记电脑上安装T ...

  6. 树莓派3B+安装64位ubuntu系统和docker工具

    想在树莓派3B上安装一些64位应用(例如64位JDK),因此首先要安装64位的操作系统,今天咱们就一起来实战: 原文地址:https://blog.csdn.net/boling_cavalry/ar ...

  7. UEFI+GPT引导实践篇(二):UEFI引导安装64位Win7/Win8

    下文是在联想Y480笔记本上以UEFI方式启动安装Windows8的全过程,安装Windows7过程基本相同.注意,如果你的电脑硬盘是MBR分区结构,安装过程中将要删除硬盘上所有数据,请安装前备份硬盘 ...

  8. 64位win7硬盘安装64位ubuntu 13.04

    最近本来是准备通过升级的方式把ubuntu从12.04升级到12.10再升级到13.04的,但是升级到12.10之后,可能是因为某一步的操作不当,出现无法进入系统的情况.不过还好的是升级之前保存了主要 ...

  9. (原创)LAMP教程4-用VirtualBox安装64位的centos6.4

    (原创)LAMP教程4-用VirtualBox安装64位的centos6.4 好的,今天就要开始正式的讲一些有营养的东西了,是的,没有错就是讲如何用VirtualBox安装64位的centos6.4 ...

随机推荐

  1. TortoiseSVN提交文件的时候卡死

    提交文件的时候卡死,查找很久,才发现原来是IP被修改了,郁闷

  2. 鸟哥的Linux私房菜之学习shell script

    运行程序的时候一般都是创建一个子程序来执行,所以子程序中的变量什么的在当前的shell下没法使用,但是如果使用source来执行就可以在当前shell下执行程序 shift 1 去掉第一个参数,后面接 ...

  3. python中遇到的各种问题

    一 编码问题 python的默认编码是ascii码,可以修改为utf-8 在python\Lib\site-packages\下添加一个文件sitecustomize.py 内容是 import sy ...

  4. mac下多个php版本快速切换的方法是怎么样

    一.使用brew安装php多版本方法# brew install php56# brew install php70二.安装切换工具# brew install php-version# source ...

  5. [thml]HTML select标签 获取选中的option的value及Text内容

    很简单的select标签: <select id="hello" onchange="getContent(this.value,this.options[this ...

  6. SlickGrid example 5:带子项的展开收缩

    带子项的展开收缩.   代码: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Ty ...

  7. Floyd-Warshall算法,简称Floyd算法

    Floyd-Warshall算法,简称Floyd算法,用于求解任意两点间的最短距离,时间复杂度为O(n^3). 使用条件&范围通常可以在任何图中使用,包括有向图.带负权边的图. Floyd-W ...

  8. java基础:网络编程TCP,URL

    获取域名的两种方法: package com.lanqiao.java.test; import java.net.InetAddress;import java.net.UnknownHostExc ...

  9. JQuery知识快览之五—操作属性和结构

    前文提到JQuery提供了丰富的内置方法来操作对象集,本文主要介绍JQuery中的那些内置操作属性和DOM结构的方法. prop还是attr? 从JQuery1.6版开始,新增了prop方法来获取和设 ...

  10. Unity重力的测试

    其实和想象的结果还是有点出入 斜坡测试 (非悬空,直接把地面旋转成斜坡) 在非悬空状态下是不会受到斜坡的影响,只有进入悬空再进入斜坡,才会滑下去 一帧内关闭碰撞器再打开,或者一帧内打开Trigger再 ...