PROBLEM:
We have recently upgraded our database to Oracle 12c. Post upgrade, when they development Team tried to connect to the database using JDBC driver, Got error as ORA-28040: No matching authentication protocol.
SOLUTION:
This is because, the development is using old JDBC drivers, which are not compatible to Oracle 12c. As development team ruled out upgrading drivers without through testing, Below workaround was implemented.
We add the parameter SQLNET.ALLOWD_LOGON_VERSION_SERVER=8 in sqlnet.ora file under $ORACLE_HOME/rdbms/admin .
For RAC system, add the parameter in sqlnet.ora file on all the nodes. And no need to restart the listener after changing sqlnet.ora.
Sometimes, parameter also need to be added in $GRID_HOME/network/admin/sqlnet.ora.
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
After adding the parameter, through JDBC connection to the database was successful.
So if you have legacy systems and facing this same, then adding this parameter will fix this issue. Though it will expose it to security loopholes.

Great article! I ran into the ORA-28040 error while connecting to an older Oracle database. Your tips on updating the JDBC driver and adjusting the authentication settings were super helpful. Thanks for breaking it down so clearly!