ORA-12638:身份证明检索失败的解决方法
oracle 报出该错误一般是SQLNET.AUTHENTICATION_SERVICES参数设置错误
找到安装目录E:\app\hfcja\product\12.1.0\dbhome_1\NETWORK\ADMIN下的sqlnet.ora文件
将SQLNET.AUTHENTICATION_SERVICES= (NTS)改为:SQLNET.AUTHENTICATION_SERVICES= (NONE)
SQLNET.AUTHENTICATION_SERVICES=(NTS)
windows操作系统默认参数,意思为操作系统验证验证登陆,也就是说,在Windows中默认就是采用操作系统验证的,也许Oracle认为,拥有了SA权限,就拥有了系统最高权限,所以数据库DBA的sys用户也无需再验证密码了
SQLNET.AUTHENTICATION_SERVICES=(NONE)
表示采用数据库身份验证(基于Oracle密码验证),还可以设置成(NONE,NTS),其实这样设也没有意义了,只要括号中有NTS,就会采用操作系统验证,NONE就没有用了
在unix/linux系统中,默认无sqlnet.ora文件,此时是操作系统验证和Oracle密码验证并存,在安装目录下新增sqlnet.ora文件并加上SQLNET.AUTHENTICATION_SERVICES这个参数后,不管SQLNET.AUTHENTICATION_SERVICES设置为NONE、NTS还是(NONE,NTS),都是基于Oracle密码验证