情景描述:尝试登陆SQLPLUS,出现以下错误
C:\Documents and Settings\p485224>SQLPLUS
SQL*Plus: Release 9.2.0.1.0 - Production on Sun Apr 13 19:29:17 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Enter user-name: / as sysdba
ERROR:
ORA-12638: Credential retrieval failed
解决方法:itpub上看到有类似的问题以前讨论过,尝试把sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (NTS)改为SQLNET.AUTHENTICATION_SERVICES= (NONE)。后用'/ as sysdba'不能登陆,但是提供正确的用户名和密码后可以登陆。
在online documentation中搜索了一下,在Oracle® Database Net Services Reference中有这么一段:
SQLNET.AUTHENTICATION_SERVICES
Purpose
Use the parameter SQLNET.AUTHENTICATION_SERVICES to enable one or more authentication services. If authentication has been installed, it is recommended that this parameter be set to either none or to one of the authentication methods.
Default
None
Values
Authentication Methods Available with Oracle Net Services:
-
none for no authentication methods. A valid username and password can be used to access the database.
-
all for all authentication methods
-
nts for Windows NT native authentication
Authentication Methods Available with Oracle Advanced Security:
-
kerberos5 for Kerberos authentication
-
radius for RADIUS authentication
-
dcegssapi for DCE GSSAPI authentication
这样的话原因这个字段含义就比较清楚了。以后再遇到类似的问题可以有的放矢了~