ORA-12638 Credential retrieval failed

This error occurs when the session initiating to connect to Oracle database fails due to domain mismatch between oracle database server and a client trying to connect.

 

What Oracle says is the cause:

The authentication service failed to retrieve the credentials of a user.

What Oracle says to be done to resolve:

Enable tracing to determine the exact error.

 

Now more about this error

This error occurs usually in a windows domain where the domain of the server where database is installed is different from that of the client machine trying to connect, to prove this correct try to connect to database from the server machine.

 

If the connection is obtained from within the server you can be sure that the cause is different domain.

 

Now if you are in a development or test environment you can bypass this security measure by changing the sqlnet.ora file (The file is available in ORACLE_HOME/network/admin folder).

 

Modify the parameter SQLNET.AUTHENTICATION_SERVICES in the file. It would have been

 

SQLNET.AUTHENTICATION_SERVICES= (NTS),

 

Now change the parameter value to:

 

SQLNET.AUTHENTICATION_SERVICES= (NONE).

 

Try connecting from the client machine and it should connect.

 

Note: This should be treated as a temporary solution rather that a final one. Read note of caution below for further explanation.

 

 

Note of caution: By modifying this parameter you are bypassing the default security provided by the domain. Make sure that this parameter is set to NTS in a production environment.

 

ORACLE_HOME is to be replaced with the database server home. That is if you have installed database in D:\Oracle, then you should search the file sqlnet.ora inside D:\Oracle\network\admin folder.