1

we moved from oracle 11 to oracle 12c over the weekend. my application started crashing with the below stack trace:

+++INFO+++20170904_13:21:10 Application.main - Starting up...
+++ERROR+++20170904_13:21:12 Application.main - AuditTrailException at AuditTrailDatabase.<init>(AuditTrailDatabase.java:671) caused by SQLException(ORA-28040: No matching authentication protocol
) at DatabaseError.throwSqlException(DatabaseError.java:112)
com.ac.audit.trail.AuditTrailException
        at com.ac.audit.trail.database.AuditTrailDatabase.<init>(AuditTrailDatabase.java:671)
        at com.ac.audit.trail.Application.main(Application.java:154)
Caused by: com.ac.jdbc.JDBCInterfaceException: Error connecting to the database
        at com.ac.jdbc.JDBCInterface.getConnection(JDBCInterface.java:194)
        at com.ac.audit.trail.database.AuditTrailDatabase.<init>(AuditTrailDatabase.java:179)
        ... 1 more
Caused by: java.sql.SQLException: ORA-28040: No matching authentication protocol

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
        at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:288)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:357)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
        at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:221)
        at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:157)
        at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:94)
        at oracle.jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection(OracleImplicitConnectionCache.java:1529)
        at oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:464)
        at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:333)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:404)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:189)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:165)
        at com.ac.jdbc.JDBCInterface.getConnection(JDBCInterface.java:182)
        ... 2 more

my colleague suggested to put the below param in sqlnet.ora file

sqlnet.allowed_logon_version_server=8

I did not have a sqlnet.ora and created a file in my $ORACLE_HOME/network/admin

it still does not seem to work.

I know that this is a workaround but not a long term fix. what am I missing here?

BRATVADDI
  • 199
  • 1
  • 2
  • 10
  • *FYI:* Article backing your colleagues suggestion: [After upgrading to Oracle 12c database, I start getting ORA-28040: No matching authentication protocol.](https://developer.ibm.com/answers/questions/177075/after-upgrading-to-oracle-12c-database-i-start-get.html) – Andreas Sep 04 '17 at 13:45
  • As this potential duplicate says: Upgrade your JDBC driver: [ORA-28040: No matching authentication protocol exception](https://stackoverflow.com/q/24100117/5221149) – Andreas Sep 04 '17 at 13:47
  • 1
    Did you restart the listener after making the changes? And did you make sure that you modified the file in the correct Oracle home? For example, if you're using ASM the listener might be running out of the grid infrastructure home, not the RDBMS home. If that still doesn't work, try restarting the database. (I know that sounds ridiculous, but some sqlnet parameters like the banner require restarting the database.) – Jon Heller Sep 04 '17 at 17:21

1 Answers1

0

The service throwing this error had a different configuration to connect to DB. it did not pick up the details from tnsnames.ora

its a legacy app and we had to dig deeper to arrive at this.

thanks all for the inputs.

BRATVADDI
  • 199
  • 1
  • 2
  • 10