After installing Oracle 8.1.6 Server to Oracle 9 Server on Windows 2000 I had problem with connecting to the oracle database.
From machine with oracle client I received error:
ORA-12631: Username retrieval failed .
From another oracle server machine i received
ORA-12638: Credential retrieval failed
I checked this error in OTN site and this is the description:
ORA-12638: Credential retrieval failed
Cause: The authentication service failed to retrieve the credentials of a user.
Action: Enable tracing to determine the exact error
This doesn't help much,does it?
To solve the problem:
-----------------------------------------
On the client/server computer, edit the SQLNET.ORA file located in ORACLEHOME/NETWORK/ADMIN directory. Replace the line
SQLNET.AUTHENTICATION_SERVICES=(NTS)
with
SQLNET.AUTHENTICATION_SERVICES=(NONE)
Here some details:
------------------------------------------
The SQLNET.AUTHENTICATION_SERVICES parameter enables one or more authentication services. If authentication has been installed, it is recommended to set it to either NONE or to one of the authentication methods.
The NTS value uses the Windows NT native authentication, enabling a client single login access to an Windows NT server and an Oracle database.
Earlier releases of 8.1.7 had a bug which was sorted out in a patch, this may be true for 8.1.6 too. You can also read this note from metalink on related issue:
Doc ID: Note:156483.1
Subject: ORA-12571 when running SVRMGRL or SQL*Plus locally on Windows 2000 Server
Problem Description
===================
Oracle 8.1.6.0.0 Enterprise Edition is installed on a Microsoft Windows 2000 platform. Now when trying and run Server Manager (svrmgrl) or SQL*Plus (sqlplus), locally at the Server, an ORA-12571 error (see note A> below)is generated. The same error may ALSO occur if when trying to run either tool as a user other than the Oracle user (see note B> below).
Solution Description
--------------------
Edit the Server's sqlnet.ora file (located in the Oracle_Home\Network\Admin directory or where the TNS_ADMIN Environment variable is set)and remove/comment out the following line: sqlnet.authentication_services = (NTS)
Explanation
-----------
Oracle's Windows Native Authentication Adapter (NTS) uses Kerberos as the authentication mechanism on Windows 2000.
A>: Oracle's installer will set the authentication to (NTS) by default. However, if the Windows 2000 machine is not in a Domain where there is a Windows 2000 Domain Controller, it will not be able to contact the KDC (Key Distribtion Centre) needed for Kerberos Authentication. The Domain Controller holds the KDC.
B>: Also, if the Windows 2000 machine is installed in a Windows 2000 domain, but if the user logs in as a local user on the Windows 2000 machine, then the Win2000 machine will not be able to get to the KDC to get a ticket. Hence this ORA-12571 error and others (such as ORA-12638) will occur.