Debezium Oracle Connector "No suitable driver found" - oracle

When using Oracle Instant Client 21.7 and using the below json being sent to the Debezium connector, the follow error is generated.
Error message:
Caused by: java.sql.SQLException: No suitable driver found for jdbc:oracle:oci:#//<database-host>:<port>/DB
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at io.debezium.jdbc.JdbcConnection.lambda$patternBasedFactory$0(JdbcConnection.java:191)
at io.debezium.jdbc.JdbcConnection$ConnectionFactoryDecorator.connect(JdbcConnection.java:128)
at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:882)
at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:877)
at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:630)
at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:504)
at io.debezium.connector.oracle.OracleConnection.resolveOracleDatabaseVersion(OracleConnection.java:141)
... 71 more
openjdk version "1.8.0_332"
OpenJDK Runtime Environment (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)
Running a later version of Java, the driver worked, but the connector still throws that error.
I've moved the drivers into the correct location, as mentioned here but still no dice.

Related

Zookeeper : java.lang.ClassNotFoundException: org.apache.zookeeper.admin.ZooKeeperAdmin after updating spring boot

I am trying to update an springboot application which uses org.apache.zookeeper.zookeeper.
After updating the spring boot version. I am getting one of the two errors given below depending upon the version used.
Error 1 - (For new version provided below)
Caused by: org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for /service/**/test/**/************
at org.apache.zookeeper.KeeperException.create(KeeperException.java:106)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:54)
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1836)
at org.apache.curator.framework.imps.CreateBuilderImpl$16.call(CreateBuilderImpl.java:1131)
at org.apache.curator.framework.imps.CreateBuilderImpl$16.call(CreateBuilderImpl.java:1113)
at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:93)
at org.apache.curator.framework.imps.CreateBuilderImpl.pathInForeground(CreateBuilderImpl.java:1110)
at org.apache.curator.framework.imps.CreateBuilderImpl.protectedPathInForeground(CreateBuilderImpl.java:593)
at org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:583)
at org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:48)
at org.apache.curator.x.discovery.details.ServiceDiscoveryImpl.internalRegisterService(ServiceDiscoveryImpl.java:237)
at org.apache.curator.x.discovery.details.ServiceDiscoveryImpl.registerService(ServiceDiscoveryImpl.java:192)
at org.springframework.cloud.zookeeper.serviceregistry.ZookeeperServiceRegistry.register(ZookeeperServiceRegistry.java:71)
... 63 more
or
Error 2 - (For some other versions of zookeeper and curator provided in thread 1 provided below)
Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.admin.ZooKeeperAdmin
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 109 more
Old versions: (Working good)
Java - 8
SpringBoot - 2.3.3.RELEASE
Zookeeper - 3.4.12
Curator - 4.0.1
New version: (Spring managed versions)
Java - 8
SpringBoot - 2.7.4
Zookeeper - 3.6.0
Curator - 5.1.0
Many threads mentions that the issue is because of incompatible zookeeper and curator versions.
There are some threads already available regarding the issue
Zookeeper : java.lang.ClassNotFoundException: org.apache.zookeeper.admin.ZooKeeperAdminI tried every solution provided in the this thread and also some other combinations but none seems to work. I tried to use the old version and updating the rest. This too didn't work.
Apache Curator Unimplemented Errors When Trying to Create zNodesI am not accessing the curator directly as provided in this thread and I believe the zookeeper internally uses curator.
Is there any other dependency I need to upgrade? or Do I need to upgrade the java?
Please mention if you need some more info.

Application team getting JMSFMQ6312: An exception occurred in the Java(tm) MQI

We are currently using web-sphere MQ 8.0..4,On linux machine.
Siel application connect to our queue manager with jndi. property and .binding files,earlier application working fine.but application upgraded from version 18 to 19 version also they have upgraded the java version from 1.7 to 1.8,post up gradation, application team facing below error. but we dont see any error in Queue manager logs. error written in application logs.
Application using below upgraded jdk version
D:\>java -version,java version "1.8.0_172",Java(TM) SE Run-time Environment (build 1.8.0_172-b11),Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
Application uses MQ to communicate with the external systems. application jndi.property and .binding files
below jar files are related to websphere MQ version 8.0.0.7.
File based (current in config) application team needed the below JAR files, we have given below jar to application team which is related to MQ version 8.0.0.7 to.
a) jms.jar
b) fscontext.jar
c) connector.jar
d) providerutil.jar
e) jta.jar - optional
f) ldap.jar - optional
g) com.ibm.mq.jar (IBM)
h) com.ibm.mqjms.jar (IBM)
i) dhbcore.jar (IBM)- for MQ 7.5
j) com.ibm.mq.commonservices.jar
k) com.ibm.mq.jmqi.jar
l) com.ibm.mq.jms.Nojndi.jar
we have tried to placed the latest MQ client version( MQ client 9.0.0.7) jar files and tried it,but no luck we are facing same issue.
Application team tried placing one JAR at a time.which is available in my queue manager, While they have placed the all the JAR except JMS.Jar application team faced the below error:
ErrorCode = JMS_EXCEPTION
ErrorMessage = Exception: com.ibm.msg.client.jms.DetailedJMSException: JMSFMQ6312: An exception occurred in the Java(tm) MQI.
The Java(tm) MQI has thrown an exception describing the problem.
See the linked exception for further information.; Message: JMSFMQ6312: An exception occurred in the Java(tm) MQI.
StackTrace = com.ibm.msg.client.jms.DetailedJMSException: JMSFMQ6312: An exception occurred in the Java(tm) MQI.
The Java(tm) MQI has thrown an exception describing the problem.
While placed all the Jar files including Jms.jar we get this error:
[SIEL ERROR] Thread[http-nio-8080-exec-13,5,main] [2:36:01.393 PM Tue Jul 23: ] Error:JNdi File
[SIEL ERROR] Thread[http-nio-8080-exec-13,5,main] [2:36:01.393 PM Tue Jul 23: ] Errorjava.lang.NullPointerException
#Josh: We have placed the 4 com.ibm.mq.allclient.jar, jms.jar (most be v2.0), fscontext.jar, and providerutil.jar, jar files post changes we are not getting earlier error( JMSFMQ6312),but now facing different exception in logs,please check below error.
Thread[http-nio-8080-exec-43,5,main] [12:09:06.850 PM Mon Jul 29: ] Receive failed.
[SIEL ERROR] Thread[http-nio-8080-exec-43,5,main] [12:09:06.850 PM Mon Jul 29: ] Exception during Receive:
javax.naming.NameNotFoundException: crmCF
[SIEL ERROR] Thread[http-nio-8080-exec-39,5,main] [12:33:24.911 PM Mon Jul 29: ] Threw SielBusinessServiceException with
ErrorCode = JMS_EXCEPTION
ErrorMessage = Exception: com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2002: Failed to get a message from destination 'CRM.CUSTOMER.OUT'.
IBM MQ classes for JMS attempted to perform an MQGET; however IBM MQ reported an error.
Use the linked exception to determine the cause of this error.; Message: JMSWMQ2002: Failed to get a message from destination 'CRM.CUSTOMER.OUT'.
StackTrace = com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2002: Failed to get a message from destination 'CRM.CUSTOMER.OUT'.
IBM MQ classes for JMS attempted to perform an MQGET; however IBM MQ reported an error.
but we can see channel is running fine,no impact on messages transfer, application team wants to know why they are getting this exception.
AMQ8417: Display Channel Status details.
CHANNEL(SIEL.CLIENT) CHLTYPE(SVRCONN)
CONNAME(xxx.xx.xx.xx) CURRENT
STATUS(RUNNING) SUBSTATE(RECEIVE)

SAP Vora Thrift Server Error: Instantiating dialect 'sapsql' failed

I have deployed a cloudera CDH 5.13.1 Cluster with SAP Vora 1.4 Patch 4.
When I started the Vora thrift server everything looks fine, but as soon as I start SAP Vora tools and login following error shows up:
17/12/20 11:26:52 ERROR thriftserver.SparkExecuteStatementOperation: Error executing query, currentState RUNNING,
org.apache.spark.sql.catalyst.errors.package$DialectException: Instantiating dialect 'sapsql' failed.
Reverting to default dialect 'sapsql'
at org.apache.spark.sql.SQLContext.getSQLDialect(SQLContext.scala:225)
at org.apache.spark.sql.hive.HiveContext.getSQLDialect(HiveContext.scala:577)
at org.apache.spark.sql.hive.SapHiveContext$$anonfun$1.apply(SapHiveContext.scala:54)
at org.apache.spark.sql.hive.SapHiveContext$$anonfun$1.apply(SapHiveContext.scala:54)
at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:136)
at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:135)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:242)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:242)
at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:222)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$$anonfun$apply$2.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$$anonfun$apply$2.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Failure.append(Parsers.scala:202)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:222)
at scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$apply$14.apply(Parsers.scala:891)
at scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$apply$14.apply(Parsers.scala:891)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala:890)
at scala.util.parsing.combinator.PackratParsers$$anon$1.apply(PackratParsers.scala:110)
at org.apache.spark.sql.catalyst.AbstractSparkSQLParser.parse(AbstractSparkSQLParser.scala:34)
at org.apache.spark.sql.hive.SapHiveContext$$anonfun$2.apply(SapHiveContext.scala:58)
at org.apache.spark.sql.hive.SapHiveContext$$anonfun$2.apply(SapHiveContext.scala:58)
at org.apache.spark.sql.execution.datasources.DDLParser.parse(DDLParser.scala:43)
at org.apache.spark.sql.SQLContext.parseSql(SQLContext.scala:231)
at org.apache.spark.sql.hive.HiveContext.parseSql(HiveContext.scala:334)
at org.apache.spark.sql.SQLContext.sql(SQLContext.scala:829)
at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.org$apache$spark$sql$hive$thriftserver$SparkExecuteStatementOperation$$execute(SparkExecuteStatementOperation.scala:211)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.extension.SapSQLDialect
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.spark.util.Utils$.classForName(Utils.scala:177)
at org.apache.spark.sql.SQLContext.getSQLDialect(SQLContext.scala:215)
... 54 more
In the installation guide it says I need to assign the vora user authorization for the Hive Metastore.
Since this is only a test setup authorization is disabled in Hive and the vora user can create and drop tables in the default database and has write access to Hive's warehouse location.
How can I solve it?
This issue is caused by an incompatability with CDH 5.13 and Vora 1.4 patch 4. The issue is currently being investigated by SAP.
Is it an option for you to move to a newer Vora version? Current version is Vora 2.1. Since version 2.0 Vora is deployed in a Kubernetes cluster instead of the Hadoop cluster. This could help to overcome this CDH dependency issue.

IBM Websphere MQ: Failed to connect queue manager and queue with 2009 error code

Error detail as following: (stacktrace)
Caused by: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2009'.
at com.ibm.mq.MQDestination.open(MQDestination.java:310)
at com.ibm.mq.MQQueue.<init>(MQQueue.java:261)
at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:2751)
at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:2779)
at com.citi.sh.h2h.service.adapter.H2hMqSendReceiveAdapter.connect(H2hMqSendReceiveAdapter.java:79)
... 17 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009
at com.ibm.mq.jmqi.remote.internal.RemoteHconn.getConnection(RemoteHconn.java:884)
at com.ibm.mq.jmqi.remote.internal.RemoteHconn.getCmdLevel(RemoteHconn.java:2698)
at com.ibm.mq.MQDestination.open(MQDestination.java:302)
... 21 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9213: A communications error for 'TCP' occurred. [1=java.net.SocketException[Unrecognized Windows Sockets error: 0: recv failed],4=TCP,5=sockInStream.read]
at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1515)
at com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveBuffer(RemoteRcvThread.java:804)
at com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveOneTSH(RemoteRcvThread.java:768)
at com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.run(RemoteRcvThread.java:158)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketException: Unrecognized Windows Sockets error: 0: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1505)
... 4 more
In windows 2003 server, my application running as a service to connect MQ to execute message. Some process executed successfully, but some are failed. The above error occurred.
My Java application use JDK1.7 and MQ version is 7.0.1.11
Could you give me some solution to fix this issue? Thank your very much for your help!
IBM MQ v7.0 went out of support on September 30th 2015.
I would suggest that you move to a supported version of IBM MQ. I'm leaving 7.1 out of the list below since it will go out of support on April 30 2017. Note that 7.5 will go out of support on April 30 2018.
MQ 7.5 client
MQ 8.0 client
MQ 9.0 client
If you must continue to use a out of support version I did find some references to the cause of your problem being that the Windows server supports both a IPv4 and IPv6 stacks. The solution was to force the JRE to use IPv4 only by adding the following setting to your Java startup.
-Djava.net.preferIPv4Stack=true

Intermittent PersistenceException/GenericJDBCException in opening Connection (Hibernate, Oracle)

In my Stand One Java Application, we are using Hibernate JPA based Pooled DataSource to connect with Oracle Database. We are intermittently getting the following exception. But on retry it often succeeds to create connection pool. Also, other service(s) which are also accessing same DB server, can create connection pool successfully.
How to address this problem?
Can there be any connection leakage and how to diagnose it?
Exception in thread "main" com.xyz.abc.inf.console.ConsoleException: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Could not open connection
at com.xyz.abc.inf.console.service.GatewayService.postStart(GatewayService.java:104)
at com.xyz.abc.inf.console.service.AbstractLaunchableService.start(AbstractLaunchableService.java:205)
at com.xyz.abc.inf.console.ConsoleLauncher.main(ConsoleLauncher.java:85)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Could not open connection
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:273)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:311)
at $Proxy102.getResultList(Unknown Source)
at com.nrift.finch.inf.domain.repository.RepositoryBase.query(RepositoryBase.java:139)
at com.xyz.abc.inf.domain.dao.jpa.impl.ServiceRouteParticipantDaoImpl.findByServiceId(ServiceRouteParticipantDaoImpl.java:55)
at com.xyz.abc.inf.service.impl.RouteResolverServiceImpl.getRouteByService(RouteResolverServiceImpl.java:21)
at com.xyz.abc.inf.console.service.GatewayService.startCamelContextIfNotStarted(GatewayService.java:143)
at com.xyz.abc.inf.console.service.GatewayService.postStart(GatewayService.java:102)
... 2 more
Caused by: org.hibernate.exception.GenericJDBCException: Could not open connection
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:304)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169)
at org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler.extractPhysicalConnection(ConnectionProxyHandler.java:82)
at org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler.continueInvocation(ConnectionProxyHandler.java:138)
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
at $Proxy103.prepareStatement(Unknown Source)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:147)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:166)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:145)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1854)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1831)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1811)
at org.hibernate.loader.Loader.doQuery(Loader.java:899)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
at org.hibernate.loader.Loader.doList(Loader.java:2516)
at org.hibernate.loader.Loader.doList(Loader.java:2502)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2332)
at org.hibernate.loader.Loader.list(Loader.java:2327)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:490)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1247)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:264)
... 13 more
Caused by: java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:527)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:70)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:292)
Database Server : Oracle 11g
Client configuration :
[root#eighamq1 ~]# uname -a
Linux eighamq1.nrifintech.com 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
[root#eighamq1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
[root#eighamq1 ~]# java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
[root#eighamq1 ~]# mvn -v
Apache Maven 3.0.4 (r1232337; 2012-01-17 14:14:56+0530)
Maven home: /usr/local/maven-3.0.4
Java version: 1.7.0, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.18-194.el5", arch: "amd64", family: "unix"
JDBC.properties
jdbc.database.driverClass = oracle.jdbc.OracleDriver
jdbc.database.url = jdbc:oracle:thin:#172.16.29.92:1521:d11gr21
jdbc.database.initialLimit = 1
jdbc.database.maxLimit = 5
jdbc.database.minLimit = 1
jpa.hibernate.dialectClass = org.hibernate.dialect.Oracle10gDialect
jdbc.database.initialPoolSize = 10
jdbc.database.minPoolSize = 5
jdbc.database.maxPoolSize = 20
jdbc.database.maxStatements = 0
jdbc.database.acquireIncrement = 5
jdbc.database.acquireRetryAttempts = 5
jdbc.database.checkoutTimeout = 1000
Artifacts used :
ojdbc16-11.2.0.1.0.jar
c3p0-0.9.1.1.jar
hibernate-entitymanager : 4.1.12.Final
hibernate-commons-annotations : 4.0.1.Final
hibernate-c3p0 : 4.1.12.Final
hibernate-commons-annotations : 4.0.1.Final
hibernate-jpa-2.0-api : 1.0.1.Final
The oracle thin driver use the Java Security api internally to connect to oracle. Java Security in linux use the /dev/random as Entropy Gathering device and this device in linux sometimes are very slow returning values. It is probable that this is the reason than the connection couldn't be opened fast.
You can change the devices putting this in the command line:
-Djava.security.egd=file:///dev/urandom
With this property you indicate that you can use the /dev/urandom to get random values and this device is very fast because it uses a pseudo random algorithm.
It is good to put this property when you use the Oracle Thin Driver to connect database to improve the performance to connect to database.

Resources