配置PL/SQL DEVELOPER远程访问oracle数据库

1、要想使用PL/SQL需要先安装oracle客户端(这个是必须的,要不然plsql就用不了,这个客户端可以去oracle官网上下载,名字叫instance client,尽量用较新的版本就可以了,windows版的大的也就50多M,还有精简版的20多M,地址:http://www.oracle.com/technetwork/cn/database/features/instant-client/index.html,挑个适合你的系统的版本的。)

oracle客户端的安装很简单,直接解压出来,放到你喜欢的目录下就算安装好了(比如我放在E:\instantclient_11_2这里了,instantclient_11_2就是客户端解压出来的目录)。

2、要使用oracle的客户端还需要配置一下,在oracle客户端目录里(E:\instantclient_11_2)新建个文件夹名字叫network,然后进入network目录再新建个目录admin,然后进admin目录,在此目录下要创建连接oracle数据库的配置文件tnsnames.ora(就得是这个名字,其它名字无效),该文件内容如下:

1
2
3
4
5
6
7
8
wpsdb1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.3)(PORT = 1521))
    (CONNECT_DATA =
       (SERVER = oracle1)
        (SERVICE_NAME = wpsdb.huacai.com)
    )
)

第一行开头不能有空格,那个wpsdb1是oracle数据库的实例名(ORACLE_SID)(可以随便写),

第二行无所谓,等号后留空即可

第三行很重要,HOST后面那个ip是oracle数据库所在的主机的ip,要是有域名解析的话可以用主机名,后面的那个port是oracle监听的端口,一般是1521(该端口可在oracle主机上用命令netstat -ntlp|grep tnslsnr查看)。

第四行无所谓,留空值即可

第五行那个oracle1是我的oracle的主机的主机名(可用命令hostname查看,这一行可以忽略,直接不要写)

第六行很重要,网上很多资料说这个地方填oracle的sid,其实不然(我把oracle的sid值填上去后报错:ORA-12154 TNS:监听程序当前无法识别连接描述符中请求的服务),实际上这里应该填的是oracle的服务名,要查看这个服务名可在oracle主机上用oracle账户输入命令lsnrctl status查看,我的得到的执行结果里有这样几行:

1
2
3
4
Services Summary...
Service "wpsdb.huacai.com" has 2 instance(s).
Instance "wpsdb1", status READY, has 2 handler(s) for this service...
Instance "wpsdb2", status READY, has 1 handler(s) for this service...

对比上面SERVICE_NAME我添的值,应该不难判断你的服务名是什么了。

3、像上面这样配置完了后plsql还不能登录oracle使用,因为它现在还找不到你的这个oracle的客户端,但是可以进入软件里面,进入软件,选择Tools->Preferences,在Oracle HomeOCI Library两栏中分别填入Oracle客户端的路径和OCI文件的路径(oci.dll文件直接在instantclient_11_2文件夹下),所以我在这两个选项中填写的内容是”E:\instantclient_11_2“和”E:\instantclient_11_2\oci.dll“。这时再登录就可以登录成功了。如若还不行就重启一下PL/SQL。

4、有时候可能会出现客户端对中文支持不好的问题,可参照如下第三条的环境变量设置:

桌面上,右键点“我的电脑”,选择“属性”,选择“高级”页中的“环境变量”,在系统变量中,增加:
1) 变量名:ORACLE_HOME
变量值:E:\instantclient_11_2
2) 变量名:TNS_ADMIN
变量值:E:\instantclient_11_2
3) 变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
4) 修改Path变量,在后面添加 E:\instantclient_11_2