PL/SQL Developer远程连接Oracle数据库

Posted Zoe`

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PL/SQL Developer远程连接Oracle数据库相关的知识,希望对你有一定的参考价值。

修改数据库配置文件:tnsnames.ora  【我的数据库位置:D:\app\Icey-evil\product\11.2.0\dbhome_1\NETWORK\ADMIN】

根据服务器地址加入以下内容:

10.88.250.28 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.88.250.28)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

说明:HOST = 10.88.250.28 是需要连接的oracle服务器 IP,SERVICE_NAME = ORCL是连接的数据库实例,PORT = 1521是oracle服务器监听端口。

配置完成,用PL/SQL Developer工具进行远程连接,database即为添加的tns服务名,这里是 10.88.250.28。

远程连接过程中出现的问题:

1.ORA-12638: 身份证明检索失败

 解决方法: 

  查阅相关资料,说是将本地文件sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (NTS)注释掉,或者将其改为SQLNET.AUTHENTICATION_SERVICES= (NONE)。

  按照以上方法将本地文件sqlnet.ora修改后,重新连接,依旧是ORA-12638。

  个人将服务器上的文件sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (NTS) 改为SQLNET.AUTHENTICATION_SERVICES= (NONE)后重新连接,连接成功。

  综上来看呢,好像是SQLNET.AUTHENTICATION_SERVICES的问题,可是呢在PL/SQL Developer连接出现ORA-12638时,有用Navicat Premium进行远程连接Oracle,连接是成功的,所以呢,在PL/SQL Developer远程连接成功后,又将服务器上文件sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES= (NONE)改回SQLNET.AUTHENTICATION_SERVICES= (NTS),此时按理说,PL/SQL Developer远程连接依旧会是ORA-12638,事实是连接成功!所以......无解...

  【SQLNET.AUTHENTICATION_SERVICES 表示oracle使用哪种验证方式,NTS表示采用本地操作系统认证,NONE表示将采用口令文件方式认证。设定了none后,本地的操作系统认证将不被许可,oracle将采用口令文件认证】

2.   PL/SQL Developer登陆后提示:

Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.

Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1.

 解决方法:修改注册表

  win+r —> cmd —>regedit —>enter;

  找到KEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1

     【win 64位系统中在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraDb11g_home1,Wow64放的是64位操作系统下安装的32位程序】

  找到 NLS_LANG 键,原值是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  将其改为:SIMPLIFIED CHINESE_CHINA.AL32UTF8

  重新打开PL/SQL Developer ,登录,Ok.

  

 


以上是关于PL/SQL Developer远程连接Oracle数据库的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL Developer远程连接Oracle数据库

使用instantclient 11 2和pl/sql Developer连接oracle远程数据库

windows环境下安装连接远程oracle工具PL/SQL Developer 11.0

windows环境下安装连接远程oracle工具PL/SQL Developer 11.0

使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库

如何用PLSQL Developer连接远程的ORACLE数据库