After upgrade from to - JDBC fails with "ONS configuration failed"

After upgrade from WebLogic to WebLogic the server throws exception when starting the JDBC resources.

weblogic.application.ModuleException: oracle.ons.NoServersAvailable: Subscription time out
at weblogic.jdbc.module.JDBCModule.prepare(
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(
at weblogic.application.internal.flow.ModuleStateDriver$
at weblogic.application.internal.flow.ModuleStateDriver$
at weblogic.application.utils.StateMachineDriver.nextState(

Something’s up!

ONS - Oracle Notification System if you will, is used as the transport for Fast Application Notification (FAN) typically used in RAC environments.

select * from v$database;

Oracle Database 12c Enterprise Edition Release - 64bit Production

select name, value from v$database_parameter where name = ‘cluster_database’;

cluster_database	FALSE

So, we’re surely not connecting to a RAC database.

It turns out this is a bug in the JDBC driver bundled with WebLogic and there is a simple workaround for it:

All you need to do is to set the parameter -Doracle.jdbc.fanEnabled=false to JAVA_OPTIONS in file and restart all the servers in the domain.