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

September 15, 2017

Reading time ~1 minute

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

weblogic.application.ModuleException: oracle.ons.NoServersAvailable: Subscription time out
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:408)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:192)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:187)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
...

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 12.1.0.2.0 - 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 12.2.1.3.0 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 setDomainEnv.sh file and restart all the servers in the domain.

Thomas is part of the middleware team at Sysco and has been a developer since 1995 working with HTML,Javascript and Java ++ since the day they were born. He's been working with Oracle middleware and database products since 2006.


Customizing service calls with multiple levels of security in OSB 12c

This will be a part two of my previous post which you can read [here](http://blog.sysco.no/osb/jdeveloper/Service-call-with-multiple-leve...… Continue reading