历尽种种磨难,终于把工作用的32位oracle 10g 装到64 位 windows7上了。不要问我为什么不装64位oracle或者 oracle 11g,工作需要,这是唯一理由。
遇到的种种问题,绕过的弯路就不罗嗦了,直接给出成功步骤。
哦~~ 再罗嗦一句,说一下软件环境:
操作系统: windows7 中文旗舰版
oracle安装版本: 10.2.0.1 中文版,升级补丁至 10.2.0.3
下面说正题
首先,我们要解除oracle安装的windows版本检测
1、编辑安装包内文件 database/stage/prereq/db/refhost.xml
增加下面节点
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>
2、编辑安装包内文件 database/install/oraparam.ini
找到[Certified Versions]小节 在下面的第二行中增加windows版本6.1,如下面所示
Windows=4.0,5.0,5.1,5.2,6.1
注意要把windows 前面的"#"去掉,否则无效
其次我们必须关闭window7的 UAC。不要心存侥幸,这东西开着安装到一半就会被卡住,而且没有任何提示窗体。
3、执行C:/Windows/System32/UserAccountControlSettings.exe 把旁边的控制块拉到最下面。
最后,要以兼容形式运行安装程序。
4、右击setup.exe 点击属性-兼容性- 勾选以兼容模式运行这个程序 ,下拉列表中选择windos xp sp3
一切完成以后点击setup开始安装吧。
oracle 装好了?很兴奋?接下来还有其他软件的问题了
在使用oracle自带的sqlplus连接本机或者远程的oracle实例均能成功过,但使用 PL/SQL Developer (我装的是7.1版本) 连接任何一个实例在登录时均报“ORA-12154: TNS:无法解析指定的连接标识符”错误。
冷静,先分析原因,既然sqlplus已经能够连接,说明oracle的安装(至少客户端的安装)是正常的,TNS的配置是正确的。问题应该出在PL/SQL Developer 自身。考虑到本次安装oracle的过程中有诺干次安装失败且变换过oracle home,是否是注册表中的信息有写垃圾未清理?!进入 PL/SQL Developer 的 preferences中发现可以设定oracle home。该选项为空是自动选择,也可以手工填入路径。但是设置后没有效果。之后又检查了注册表、oracle设置均无异常。
无奈之下选择了重装PL/SQL Developer 。运行安装程序以后弹出一个警告框,这次仔细的看了一下,大概意思是安装目录中含有特殊字符可能导致oracle无法连接。该提示窗口按“确认”按钮后依然会继续安装。恍然大悟啊,64位win7会把32位应用程序默认的安装到Program Files (x86)目录下,那两个括号可能让oracle郁闷了。改变安装路径为一个比较“大众化”的路径,再次进行数据库连接,一切问题都解决了。
经验总结:哥么以后打死也不往默认的32位 program files目录下装东西了