背景:本机电脑安装PLSQL去访问安装在虚拟机里面(或服务器上)的Oracle。

我都成功访问了,一个是本机虚拟机里的,一台是安装在阿里云服务器里面的。根据下面操作,访问没问题。

                               如果有其他报错,可以留言相互讨论。

第一步、安装PLSQL

安装很简单,无脑下一步就行,主要是配置注意一点儿。

执行plsql.exe文件、安装完成后,找到PLSQL安装目录,将instantclient_11_2文件放入下面所示的目录中

postgres远程数据库 plsql远程数据库_数据库

第二步、配置本机电脑上的tnsnames.ora文件

首先在instantclient_11_2该目录下创建  network/admin/tnsnames.ora 文件,路径一定要填写正确。

 

tnsnames.ora文件内容服务器安装的Oracle数据库的tnsnames.ora内容一样

Oracle服务器上的路径/u01/app/oracle/product/11.2.0/network/admin   tnsnames.ora

IP    端口   SERVICE_NAME  这三项注意填准确

 内容如下:

orcl =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.113.129)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

第三步、配置本机电脑环境变量,

第二个配置项,字符集不进行配置的话可能链接时会报错,配置的值为下面SQL查询出来的。具体错误见下面列举的错误中的第三个。一般按照我下面的配置没什么问题。

select userenv('language') from duall;

select * from v$nls_parameters;

postgres远程数据库 plsql远程数据库_服务器_02

TNS_ADMIN

E:\plsql\instantclient-basic-nt-11.2.0.4.0\instantclient_11_2\NETWORK\ADMIN
 

postgres远程数据库 plsql远程数据库_服务器_03

 

 NLS_LANG

AMERICAN_AMERICA.AL32UTF8

 

第四步、打开plsql,tool下首选项里面也要填好,填的是本机plsql的安装目录

postgres远程数据库 plsql远程数据库_postgres远程数据库_04

E:\plsql\instantclient-basic-nt-11.2.0.4.0\instantclient_11_2
E:\plsql\instantclient-basic-nt-11.2.0.4.0\instantclient_11_2\oci.dll

至此安装完成可以登录连接Oracle数据库。

第五步,连接Oracle数据库,两种连接方式都可以

postgres远程数据库 plsql远程数据库_postgres远程数据库_05

postgres远程数据库 plsql远程数据库_postgres远程数据库_06

PLSQL可能还需要注*册*码(可能用一段时间之后提示)需要的时候填一下就行

Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz
serial Number:601769
password:xs374ca

常见问题

1.报错ora12170,连接超时

通常是Oracle所在的服务器,防火墙没有关闭,检查一下防火墙。没有关闭的话 关闭一下就可以了。

service iptables status       7以上使用   systemctl friewalld status

如果是Oracle数据库时安装在阿里云上的话,还需要开放策略。在控制台安全组规则里面添加如下规则:放行之后就可以正常访问了。

postgres远程数据库 plsql远程数据库_数据库_07

二、tns连接有问题

检查数据库的tns是不是开了
lsnrctl status 

没有打开的话 开启一下监听

lsnrctl start

三、ora12705:Cannot access NLS data files or invalid environment specified。 

原因是本机配置的环境变量中字符集和服务器的不一致

select userenv('language') from duall;

select * from v$nls_parameters;

在安装PLSQL的本机 添加环境变量NLS_LANG,值为上一步的查询结果。