cause: 由于Oracle不能应用OS认证而导致凭证检索失败
action:
1.打开network/admin下的sqlnet.ora
修改SQLNET.AUTHENTICATION _SERVICES=(NONE)。
2.启动Net8 configuration assistant-->选第三项本地网络服务名配置
-->删除...(删除原来的本地网络服务名)
3.重复第二步
-->添加.. (新建本地网络服务名)
4.restart oracle
---------------------------------------------------------------
NTS是WinNT的认证方式
---------------------------------------------------------------
在sqlnet.ora中将
#sqlnet.authentication_services = (tcp)
改为
#sqlnet.authentication_services = (NONE)
或者把这一行注释掉
---------------------------------------------------------------
sqlnet.authentication_services = (NONE)
----------------------
学习一下sqlnet.ora
tnsnames.ora文件放在客户端机器上,并且在默认状态下存储在ORACLE_HOME/network/admin目录中。sqlnet.ora文件控制着客户端Oracle Net Services的行为,例如跟踪级别和会话特性。我们已经知道了listener.ora和init.ora文件的用途和位置。
从根本上讲,当客户发出请求时,通过使用tnsnames.ora文件首先解析Oracle Net Services的名称。tnsnames.ora文件中的参数将该请求指引到适当的数据库节点。监听器进程监听客户请求,并且将其与一个服务器进程相连接。该请求将被处理,其结果被返回到客户端机器。
客户端的sqlnet.ora 有一个功能
name.directory_path
说明连接的字符串是基于主机命名还是本地命名方法
如果是主机命名
scott/tiger@aaa 这个aaa 就是目标主机的名字,
如果是本地命名
这个aaa 就要到tnsname.ora 文件中获取具体的连接信息.
有些明白以后继续努力学习。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24628403/viewspace-700225/
,如需转载,请注明出处,否则将追究法律责任。