Error: The following error is coming when trying to connect Oracle 12c database from below Oracle 12c client client
ERROR: "ORA-28040: No matching authentication protocol"
Reason:
Set SQLNET.ALLOWED_LOGON_VERSION=8 in the oracle/network/admin/sqlnet.ora file. Now reload the listener and try to connect
[oracle@sisdb network]$ cd admin/
[oracle@sisdb admin]$ cat sqlnet.ora
# sqlnet.ora Network Configuration File: /orasoft/oracle/product/12.2.0.1/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
[oracle@sisdb admin]$ vim sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
[oracle@sisdb admin]$ lsnrctl reload
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 20-JAN-2018 13:42:41
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sisdb)(PORT=1521)))
The command completed successfully
ERROR: "ORA-28040: No matching authentication protocol"
Reason:
This is an Oracle issue and further inquires should be opened with Oracle support. Here is the information we have and a workaround:
Bug 14575666
In 12.1, the default value for the SQLNET.ALLOWED_LOGON_VERSION parameter has been updated to 11. This means that database clients using pre-11g JDBC thin drivers cannot authenticate to 12.1 database servers unless the SQLNET.ALLOWED_LOGON_VERSION parameter is set to the old default of 8.
This will cause a 10.2.0.5 Oracle RAC database creation using DBCA to fail with the ORA-28040: No matching authentication protocol error in 12.1 Oracle ASM and Oracle Grid Infrastructure environments.
Solution :
Set SQLNET.ALLOWED_LOGON_VERSION=8 in the oracle/network/admin/sqlnet.ora file. Now reload the listener and try to connect
[oracle@sisdb network]$ cd admin/
[oracle@sisdb admin]$ cat sqlnet.ora
# sqlnet.ora Network Configuration File: /orasoft/oracle/product/12.2.0.1/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
[oracle@sisdb admin]$ vim sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
[oracle@sisdb admin]$ lsnrctl reload
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 20-JAN-2018 13:42:41
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sisdb)(PORT=1521)))
The command completed successfully