[callout class=”success” title=””]本地oracle客户端用PLSQL Developer连接远程数据库,每次登录都会在很久之后,出现 ORA-12638: 身份证明检索失败,tnsping 表明TNS配置没有问题。[/callout]
[toggle hide=”no” title=”解决方案” color=”red”]解决方案:
[infobg class=”lightbulb” showicon=”yes” title=”方法一:”]
方法一:
D:appsabreproduct11.2.0client_1NETWORKADMIN
此目录下找到sqlnet.ora文件,如果存在SQLNET.AUTHENTICATION_SERVICES= (NTS)设置,则修改为:SQLNET.AUTHENTICATION_SERVICES= (NONE),如果不存在,则直接添加SQLNET.AUTHENTICATION_SERVICES= (NONE),我的问题得以解决。
SQLNET.AUTHENTICATION_SERVICES 表示oracle使用哪种验证方式,NTS表示采用本地操作系统认证,NONE表示将采用口令文件方式认证。设定了none后,本地的操作系统认证将不被许可,oracle将采用口令文件认证(此时 remote_login_passwordfile=exclusive)如connect /as sysdba 登录,后报错RA-01031: insufficient privileges,实际上是要求你输入sysdba的用户名和密码
[/infobg]
[infobg class=”warning” showicon=”yes” title=”方法二:”]
解决方法如下:
操作安装oracle服务器
开始 -> 程序 -> Oracle -> Configuration and Migration Tools(配置和移植工具) -> Net Manager
启动后:
本地→概要文件→Oracle高级安全性→验证→去掉所选方法中的 “NTS” 就可以了。
[/infobg]
[/toggle]