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.


Handle dynamic params in metadata for REST connectors in OSB 12C

In this post, we will learn how to get the value of some path parameters from the URI of a REST Service using OSB 12C. There we go:### Us...… Continue reading

API Economy - and how to implement it

Published on September 13, 2017