How to fix ORA-00609 and ORA-12641:Authentication service failed to initialize

How to fix ORA-00609 and ORA-12641:Authentication service failed to initialize

The following error occurs repeatedly in the alert logs

Fatal NI connect error 12641, connecting to:
 (ADDRESS=(PROTOCOL=tcp)(HOST=xxx)(PORT=27998))

  VERSION INFORMATION:
        TNS for Linux: Version 19.0.0.0.0 - Production
        Oracle Bequeath NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
        TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
  Version 19.13.0.0.0
  Time: 25-FEB-2025 08:38:26
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12641

TNS-12641: Authentication service failed to initialize
    ns secondary err code: 0
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
2025-02-25T08:38:26.087097+00:00
opiodr aborting process unknown ospid (1452408) as a result of ORA-609
2025-02-25T08:38:26.087637+00:00
Errors in file /u01/app/oracle/diag/rdbms/oradb/ORADB2/trace/ORADB2_ora_1452408.trc:
ORA-00609: could not attach to incoming connection
ORA-12641: Authentication service failed to initialize
2025-02-25T08:38:27.098390+00:00

CAUSE

The sqlnet.ora file that is local to the database ($ORACLE_HOME/network/admin/sqlnet.ora) contained the following entry:

SQLNET.AUTHENTICATION_SERVICES=(ALL)

Behavior investigated in BUG 23728771 which was closed as not-a-bug

BUG 23728771 – ABOUT AN ACTUAL BEHAVIOR SQLNET.AUTHENTICATION_SERVICES

When setting SQLNET.AUTHENTICATION_SERVICES as ALL, then the server picks the authentication adapter KERBEROS5, RADIUS and KERBEROS5 by default.
if sqlnet.authentication_kerberos5_service is not specified in client/server sqlnet.ora, it will fail with error ORA-12641 while performing the kerberos authentication.

SOLUTION

According Oracle Doc ID 2426368.1 , if you are not using authentication adapter KERBEROS5, RADIUS and KERBEROS5, please simply changed setting in sqlnet.ora file to:

SQLNET.AUTHENTICATION_SERVICES=(NONE)

Note
If you are using another type of authentication like OS authentication you may need to set it to SQLNET.AUTHENTICATION_SERVICES=(BEQ) or SQLNET.AUTHENTICATION_SERVICES=(NTS) accordingly.