Fuji JDBC data source fails to connect to Oracle 12c. 


When a Fuji release MID server attempts to run JDBC probes against Oracle Database release 12c, it fails with the following database error:

ORA-28040: No matching authentication protocol


There is a JDBC data source created in your instance that:
  • targets an Oracle database
  • executes the SQL statement through MID server
After upgrading the target database to version Oracle 12c (12.1), the JDBC data source not longer pulls data and fails with the following error:

MID Server reported error: java.sql.SQLException: java.sql.SQLException: ORA-28040: No matching authentication protocol 



The cause is Oracle 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."

Some MID servers, like the one provided with the Fuji release, include an Oracle JDBC JAR file named ojdbc-jdk14.jar. This corresponds to an older implementation of Oracle JDBC jar file intended for use with JDJK 1.4. This JDBC JAR file is not compatible with Oracle Databases 12c.


Update the JDBC driver to the newer Oracle ojdbc7.jar'. 


  • MID server JDK version must be 1.8 (ojdbc7.jar is JDK 1.8 compatible). You can verify this in MID server agent log file at server start.
  • Download ojdbc7.jar from Oracle Technology Network website.

Steps to replace original MID server JDBC library by ojdbc7.jar: 

  1. Follow the steps in JAR File Synchronization to create a new JAR file for the MID server and then to attach the ojdbc7.jar file.

  2. From the MID server host machine, stop the mid-server using the stop script.
  1. Navigate to the MID server lib folder (for example, u01/.../agent/lib for Unix-like OS or C:\....\agent\lib for Windows) and rename the original JDBC jar file from ojdbc-jdk14.jar to ojdbc-jdk14.jar.old

    It is important to rename this jar file because the MID server always checks first for Java classes in the agent/lib folder and then in the agent/extlib folder. If the old driver is not renamed, the MID server always uses the old ojdbc-jdk14.jar library even after adding the new ojdbc7.jar.
  1. Start the MID server again using the Start Script provided.
  1. Verify that after restarting the MID server, the new library, ojdbc7.jar, has been copied under the extlib directory.
    No other Oracle JDBC libraries should exist in extlib folder. 
  1. Test the data source.
    It should work properly.
NoteThis solution was tested in Fuji Patch 13, but it can solve the issue in any other patch if the same symptom is found and if requirements are met.


Base system compatibility matrix

MID Server Version Oracle 12c Ready? Possible Solutions
Fuji Patch13 (and other patches) No

Install Oracle ojdbc7.jar in MID server


Set SQLNET.ALLOWED_LOGON_VERSION=8 in sqlnet.ora (database side)

Geneva Patch 8 Yes  No changes needed
Helsinki Patches 1,2, and 3  Yes  No changes needed

Article Information

Last Updated:2016-10-05 12:43:34