因为这个问题折腾了蛮久,而网上的资料也不全,所以在此总结一下这个问题的解决办法。
一、环境配置(点击可下载)
- 主机:Windows 10 专业版
- VMWare中安装:Windows 7 专业版
- Oracle版本:Oracle 11g 64位
- PLSQL Developer版本:PLSQL Developer 64位
- instantclient版本:instantclient-basic-windows.x64-11.2.0.4.0
二、安装过程
- 虚拟机安装和Windows 7安装
- 这部分我不打算讲,不知道的可以百度一下。但是需要注意的是,在虚拟机中安装好了Windows 7后,记得把 网络连接模式设置为 桥接模式(把“桥接模式(B):直接连接物理网络”和下面的"复制物理网络连接状态(P)"一起选上),切记!!!
- 在虚拟机中安装Oracle 11g以及更改文件配置 Oracle的安装可以看这篇博客,我建议你看完全部博客再安装,因为最后口令管理那步非常容易跳过,以后再设置就比较麻烦了。安装好了Oracle之后,我们就要更改里面的两个文件了。
- 找到Oracle11g安装目录,在里面找到listener.ora和tnsnames.ora两个文件,位置如下图
- 然后修改这两个文件,但是在修改前,还得先设置下属性(因为更改这两个文件需要管理员权限):右击打开属性,点到“安全”选项卡,具体步骤如下图
接着更改文件:
- 找到Oracle11g安装目录,在里面找到listener.ora和tnsnames.ora两个文件,位置如下图
- 在主机(Windows10)上安装PLSQL Developer
- PLSQL Developer64位可在 这里下载
- 下载instantclient,将其解压放到一个地方(我是放在D盘oracle11g文件夹下),然后把虚拟机中刚才更改后的tnsnames.ora文件复制一份,放到instantclient文件夹下
- 打开PLSQL Developer,点TOOL(工具)--->Preference(首选项) ![seting](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDAxMTAzNzE0NTk0?x-oss-process=image/format,png) 将图中红色框的改成你instantclient文件夹的位置和该文件夹里面oci.dll的位置。
- 设置环境变量
- 如果你懒的话,就在PLSQL安装目录下建一个.bat文件,里面的内容是: ``` @echo off set path=D:\oracle11g\instantclient_11_2 set ORACLE_HOME=D:\oracle11g\instantclient_11_2 set TNS_ADMIN=D:\oracle11g\instantclient_11_2 set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK start plsqldev.exe ``` 路径还是要改成对应的,最后两行不用改。改好后每次启动PLSQL就用这个批处理文件启动。
如果你不想每次都点这个批处理文件的话,就在系统环境变量中自己设置一下。好了,现在把主机和虚拟机的防火墙都关了,然后到虚拟机(windowns7)里把oracle的服务全部重启一下,接着就可以在主机(windows10)中打开PLSQL进行连接了。
P.S. 如果你第一次连接成功了,但是重启一下又没用了,那你得把虚拟机网络连接设置为桥接模式(把“桥接模式(B):直接连接物理网络”和下面的"复制物理网络连接状态(P)"一起选上)。
![网络连接](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDAxMTA0NzE3MjE4?x-oss-process=image/format,png)