因为我的电脑是win7,64位的,以前折腾了N遍,在上面都没有装上Oracle客户端,每次的错误都是五花八门,搞得很无语。我已经彻底放弃了很长一段时间。不过最近由于工作的需要,确实又要用到Oracle,我电脑又刚买一年,换电脑又不太可能。没办法,只好再次折腾,没想到,这次走运,经过一上午的时候(不算下载客户端的时间),竟然给搞定了。欣喜之余,决定把这个记录下来。顺便提醒一句:如果想搞软件开发,最好不要买64位的机器,要不然真是折腾人。
我主要是参照园子里的一篇文章。如何在Windows7 x64上安装oracle10g,我把这篇文章摘录如下,然后对其中的一些细节,进行一下解释。然后加上我自己遇到的一些问题。(红色的为我加的)
如何在Windows7 x64上安装oracle10g
安装Oracle for x64 vista
当然首先安装的时候要以管理员身份运行安装程序,一般win7下都要用管理员身份。
Windows7安装Oracle 10g x64版的时候出现:
解决方案:
1、 直接有效的办法:
修改\10204_vista_w2k8_x64_production_client\client\install\oraparam.ini文件。在其中:
[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
Windows=5.0,5.1,5.2,6.0,6.1
在最后补上6.1,再次运行setup.exe,就成功了。
提示:如何找到问题的根源?
打开C:\Program Files (x86)\Oracle\Inventory\logs下的日志记录,如果有错误,则能够较快发现问题。
有时候按照第一步改了,安装还是有问题。那么就跟着作者进行第二步。
2、 按照网上说法:(我试了无效,但是我也改了,可能对后续的步骤有帮助)
在安装目录下,搜索refhost.xml
针对每个refhost.xml,增加一项
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>
我按照上面的两步操作之后,安装还是有问题。很悲催。它还是说操作系统版本不支持。我仔细一看它的错误,终于发现了,原来是我在修改oraparam.ini文件时,加6.1时,把前面的逗号写成了中文的,结果它识别不了,二得我无语了。依稀记得N个月前安装的时候,好像也是这个问题,加了6.1还是未通过,但当时没发现逗号是中文的原因。这个问题解决后,继续安装,操作系统版本通过了,但后面又出现问题了,幸亏有提示,又发现了在refhost.xml文件中加东西时,写这句注释<!--Microsoft Windows 7-->时,把后面的-->写掉了,哎,太不认真了。修改后,Ok,下面的步骤顺利通过,安装成功。
安装PL/SQL Developer
直接安装完PL/SQL Developer后会有如下一堆问题:
Initialization error SQL*Net not properly installed
Could not load "D:\oracle\product\10.2.0\client_1\BIN\oci.dll"
ORA-12154 TNS could not resolve the connect identifier specified
可以尝试下面的做法(来自http://carltao.blog.51cto.com/856514/196838)
由于在本机Vista X64上安装了64位的Oracle,结果试图使用PLSQL Developer去访问它的时候,报告说无法加载oci.dll文件。原来oci.dll是64位的,32位应用程序PLSQL Developer自然无法加载了。
试验了下,解决办法如下:
1. 下载32位Oracle InstantClient(http://download.oracle.com/otn/nt/instantclient/10204/instantclient-basic-win32-10.2.0.4.zip),并展开到某目录,例如C:\oracle\instantclient_10_2;(下载的时候,要在Oracle网站上注册,很麻烦,不过也没办法)
2. 将系统的tnsnames.ora拷贝到该目录下;
3. 在PLSQL Developer中设置Oracle_Home和OCI Library,如下图所示
上面举例时,解压的目录是C:\oracle\instantclient_10_2,但是设置的时候,看上面的截图目录又换到了D盘,其实这两个路径应该要是一样的,你解压到哪个地方,在Plsql里面就设置到哪个路径。
4. 在PLSQL Developer目录下编辑如下bat文件,替换其快捷方式,启动PLSQL Developer:
@echo off
set path=C:\oracle\instantclient_10_2
set ORACLE_HOME=C:\oracle\instantclient_10_2
set TNS_ADMIN=C:\oracle\instantclient_10_2
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
start plsqldev.exe
注:NLS_LANG前半部分必须是AMERICAN_AMERICA,因为instant client不支持其他语言;而后半部分可以根据你数据库的字符集调整,如果数据库采用AL32UTF8,则可以设置AL32UTF8。
这里是要你在PLSQL Developer目录下创建一个bat文件,我开始看成是编辑,结果找了半天,没有找到。创建完成后,把上面的代码拷贝进去,注意里面的路径,还是要设置成你上面解压的路径。
下面就是先为plsql在桌面创建一个快捷方式,然后右键,查看这个快捷方式的属性,把“目标”后面的路径,指定为,你所创建的bat文件,即可。作者创建的bat文件为startOracleWin7x64.bat,你写成你自己创建的bat文件即可。然后又再快捷方式,即可顺利启动plsql(当然前提是你配置好了你的网络数据库服务器)。
最后感谢一下分享的那位同仁,解决了我的燃眉之急,谢谢他的分享!