APPLIES TO:
JDBC - Version 9.0.1.0 to 9.2.0.8 [Release 9.0.1 to 9.2]
Information in this document applies to any platform.
SYMPTOMS
On : 9i version, Thin JDBC driver
After upgrading a database from 11.2.0.3 to 12.1.0.1, JDBC connections fail with ORA-28040: No matching authentication protocol.
ERROR
-----------------------
ORA-28040 No matching authentication protocol
STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Upgrade the database from 11.2.0.3 to 12.1.0.1.
2. Try to establish a connection from the application to the upgraded database using JDBC 9i.
CAUSE
The issue is caused by unsupported combination of JDBC/JDK/Database product components.
Based on the error stack obtained:
java.sql.SQLException: ORA-28040: No matching authentication protocol
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.O3log.receive1st(O3log.java:428)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:248)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:246)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
the version of the JDBC driver being used is 9i. This is confirmed based on the fact that the package oracle.jdbc.ttc7 only exists in JDBC 9i and not in later driver releases such as JDBC 10g, 11g or 12c.
9i clients are not supported with Oracle Database 12.
This is reported in Document: 207303.1 Client / Server Interoperability Support Matrix for Different Oracle Versions under the certification matrix in section 'Current Interoperability Support Situation':
#8 - Attempting to connect from 9.2 to 12.1 will fail with an "ORA-28040: No matching authentication protocol" error.
SOLUTION
Upgrade the JDBC driver to 11g or JDBC 12c.
These releases can be downloaded from the JDBC/UCP Download Page.
Please make sure to use the appropriate JDBC 11g or JDBC 12c jar files based on the JDK version to be used.
For details, please refer to :
Document: 401934.1 Starting With Oracle JDBC Drivers
Section : Which JDBC driver version goes with which JDK version ?
This document has been taken from Oracle Support Doc ID 2111118.1