ORA-28040: No matching authentication protocol error :- How to resolve ORA-28040 error. After upgrading Oracle database from 11g to 12c or higher version if you facing the same error then follow below steps.
SQLNET parameters ALLOWED_LOGON_VERSION_CLIENT & ALLOWED_LOGON_VERSION_SERVER issue in Oracle 12c. Set the value to the minimum authentication protocol allowed while making connection to Oracle Database instances.
Note: Version refer to the authentication protocol its not mean that oracle release version.
Error:
Caused by: java.sql.SQLException: ORA-28040: No matching authentication protocol”
ORA-28040: No matching authentication protocol error
ORA-03134: Connections to this server version are no longer supported error.
Solution:
Set the following value in SQLNET.ora file in Oracle database Server and client both:
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
Note: value permit all most values for authentication protocol.
Example-1:
Suppose application is using client version 9i then for connectivity need to set following parameters as follows:
You required to add below entry in SQLNET.ORA FILE.
SQLNET.ALLOWED_LOGON_VERSION_SERVER value to 8 and DBA_USERS table have column PASSWORD VERSION its value should be 8.
SQLNET.ALLOWED_LOGON_VERSION_CLIENT value to 8.
minimum authentication protocol allowed for clients and used when a server is acting as a client.
Example-2:
If ORacle database 12c has database link to Oracle 10g database for some information then need to set the paremeter in sqlnet.ora of oracle 12c because it act as client of oracle 10g database.
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
Note: Version refer to the authentication protocol its not mean that oracle release version.
Value of Parameter :
- 12a for Oracle Database 12c 12.1.0.2 or later
- 12 for the critical patch updates CPUOct2012 and later Oracle Database 11g authentication protocols
- 11 for Oracle Database 11g authentication protocols —– (default)
- 10 for Oracle Database 10g authentication protocols
- 8 for Oracle8i authentication protocol
Example-3:
Set these parameters at the lowest version level that is required in your environment. For example: All clients at version 10 or higher would require this setting:
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
Note:
Keep the SEC_CASE_SENSITIVE_LOGON=TRUE in a 12.2 instance
if the sqlnet.ora file set the following parameter:
SQLNET.ALLOWED_LOGON_VERSION_SERVER=12 or 12a (12.2 default is 12)