Discussion:
Datasource Usage for Oracle including clob and Blob operations
(too old to reply)
Umesh Bhandarkar
2004-07-22 04:43:00 UTC
Permalink
We have an application that is running outside the Webloic JVM and uses the Weblogic 8.1 SP3 (SOLARIS) Datasource with Oracle (uses OJDBC shipped with Weblogic).
As part of the application we have Clobs and Blobs being inserted and retrieved and we are using the
[i]a) weblogic.jdbc.vendor.oracle.OracleThinClob -> putString() and getChars() [/i] and [i] b) weblogic.jdbc.vendor.oracle.OracleThinBlob -> putBytes().[/i]
The application runs for quite some time but later it starts throwing up the exception that unable to get connection, but when we check the connection monitor at times there are free connections available.
[b][i]
Is there a problem with the with the weblogic API (or OS) that we are using or are we missing out some setting? [/i][/b]

[b]The Exception that we encounter is as follows:[/b]

weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool QA Gateway Connection Pool to allocate to applications, please increase the size of the pool and retry..
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
Caused by: weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool QA Gateway Connection Pool to allocate to applications, please increase the size of the pool and retry..
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:203)
at weblogic.jdbc.pool.Driver.connect(Driver.java:161)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:507)
at weblogic.jdbc.jts.Driver.connect(Driver.java:139)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Joe Weinstein
2004-07-22 17:07:46 UTC
Permalink
Post by Umesh Bhandarkar
We have an application that is running outside the Webloic JVM and uses the Weblogic 8.1 SP3 (SOLARIS) Datasource with Oracle (uses OJDBC shipped with Weblogic).
As part of the application we have Clobs and Blobs being inserted and retrieved and we are using the
[i]a) weblogic.jdbc.vendor.oracle.OracleThinClob -> putString() and getChars() [/i] and [i] b) weblogic.jdbc.vendor.oracle.OracleThinBlob -> putBytes().[/i]
The application runs for quite some time but later it starts throwing up the exception that unable to get connection, but when we check the connection monitor at times there are free connections available.
[b][i]
Hi. Let me see the application code. It is crucial that your code close every connection
it gets.
Joe
Post by Umesh Bhandarkar
Is there a problem with the with the weblogic API (or OS) that we are using or are we missing out some setting? [/i][/b]
[b]The Exception that we encounter is as follows:[/b]
weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool QA Gateway Connection Pool to allocate to applications, please increase the size of the pool and retry..
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at weblogic.jdbc.common.internal.RmiDataSource_813_WLStub.getConnection(Unknown Source)
Caused by: weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool QA Gateway Connection Pool to allocate to applications, please increase the size of the pool and retry..
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:203)
at weblogic.jdbc.pool.Driver.connect(Driver.java:161)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:507)
at weblogic.jdbc.jts.Driver.connect(Driver.java:139)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Alice Howell
2004-07-24 20:37:49 UTC
Permalink
PoolLimitSQLException is generated when an application request to get a connection fails due to an application configured threshold. examples of such thresholds are WLS JDBC connection pool attributes like HighestNumWaiters, ConnectionReserveTimeoutSeconds, etc.

You should run your app and monitor these numbers in the Administration console. Services->Connection Pools-><Your Pool>->Monitoring (Customize the view to see all of the settings)

These configuration settings may be found in the Admin console under Services->Connection Pools-><Your Pool>->Configuration->Connections->Advanced Options

You might have to change these settings and/or you might need a bigger database connection pool capacity (an option also in the Connections tab). For development servers the capacity is initially set to 15 and for production servers it is set to 25.

We are also experiencing this problem and trying to tweak the configuration for our application.

:D

Loading...