Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

connection pool: ResourceAllocationException

513 views
Skip to first unread message

sed...@gedas.cz

unread,
Oct 24, 2005, 8:18:31 AM10/24/05
to
Hi All,

I have some trouble when I'm using connection pool for Oracle database. Usually it works fine but sometimes (probably when EJB must dispatche more requests than one in the same time) I get exception

[24.10.05 14:01:09:989 SEL?] 2fa9a056 FreePool E J2CA0046E: Method createManagedConnctionWithMCWrapper caught an exception during creation of the ManagedConnection for resource jdbc/formanDS, throwing ResourceAllocationException. Original exception: com.ibm.ws.exception.WsException: DSRA8100E: Unable to get a PooledConnection from the DataSource. with SQL State : 66000 SQL Code : 12154

(for full listing see below).
The scenario is:
Servlet hosted on WAS 5.1.1.5 (Test Environment in RAD 6.0 and/or full WAS) calls stateless session bean on the same server. Bean gets connection from datasource, opens connection (via oci8 driver of Oracle 9i), selects data, close connection.

Configuration of driver and datasource is:
Oracle driver implementation class name: oracle.jdbc.pool.OracleConnectionPoolDataSource
Data source helper class name: com.ibm.websphere.rsadapter.OracleDataStoreHelper
Purge policy: EntirePool
Min connections: 1
Max connections: 2-10

When I only clicking in my Web appliaction, everything goes well, but when I try to simulate some load, from time to time I get the exception.

Does anybody know, where is the problem?
Thanks very much.

Full listing of the exception is:

[24.10.05 14:01:09:989 SEL?] 2fa9a056 FreePool E J2CA0046E: Method createManagedConnctionWithMCWrapper caught an exception during creation of the ManagedConnection for resource jdbc/formanDS, throwing ResourceAllocationException. Original exception: com.ibm.ws.exception.WsException: DSRA8100E: Unable to get a PooledConnection from the DataSource. with SQL State : 66000 SQL Code : 12154
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:2321)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:477)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:539)
at java.sql.DriverManager.getConnection(DriverManager.java:158)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:169)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:149)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:95)
at com.ibm.ws.rsadapter.DSConfigurationHelper$1.run(DSConfigurationHelper.java:926)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:111)
at com.ibm.ws.rsadapter.DSConfigurationHelper.getPooledConnection(DSConfigurationHelper.java:921)
at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:757)
at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:764)
at com.ibm.ejs.j2c.poolmanager.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1332)
at com.ibm.ejs.j2c.poolmanager.FreePool.createOrWaitForConnection(FreePool.java:1133)
at com.ibm.ejs.j2c.poolmanager.PoolManager.reserve(PoolManager.java:1748)
at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:712)
at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:465)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:242)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:215)
at ...
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912)
Caused by: java.sql.SQLException: ORA-12154: TNS:could not resolve service name
DSRA0010E: SQL State = 66000, Error Code = 12 154DSRA0010E: SQL State = 66000, Error Code = 12 154
... 50 more

[24.10.05 14:01:10:052 SEL?] 2fa9a056 ConnectionMan E J2CA0020E: The Connection Pool Manager could not allocate a Managed Connection: javax.resource.spi.ResourceAllocationException: DSRA8100E: Unable to get a PooledConnection from the DataSource.
at com.ibm.ejs.j2c.poolmanager.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1404)
at com.ibm.ejs.j2c.poolmanager.FreePool.createOrWaitForConnection(FreePool.java:1133)
at com.ibm.ejs.j2c.poolmanager.PoolManager.reserve(PoolManager.java:1748)
at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:712)
at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:465)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:242)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:215)
at ...
---- Begin backtrace for Nested Throwables
com.ibm.ws.exception.WsException: DSRA8100E: Unable to get a PooledConnection from the DataSource. with SQL State : 66000 SQL Code : 12154
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:2321)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:477)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:539)
at java.sql.DriverManager.getConnection(DriverManager.java:158)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:169)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:149)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:95)
at com.ibm.ws.rsadapter.DSConfigurationHelper$1.run(DSConfigurationHelper.java:926)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:111)
at com.ibm.ws.rsadapter.DSConfigurationHelper.getPooledConnection(DSConfigurationHelper.java:921)
at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:757)
at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:764)
at com.ibm.ejs.j2c.poolmanager.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1332)
at com.ibm.ejs.j2c.poolmanager.FreePool.createOrWaitForConnection(FreePool.java:1133)
at com.ibm.ejs.j2c.poolmanager.PoolManager.reserve(PoolManager.java:1748)
at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:712)
at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:465)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:242)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:215)
at ...
Caused by: java.sql.SQLException: ORA-12154: TNS:could not resolve service name
DSRA0010E: SQL State = 66000, Error Code = 12 154DSRA0010E: SQL State = 66000, Error Code = 12 154
... 50 more
---- Begin backtrace for nested exception
java.sql.SQLException: ORA-12154: TNS:could not resolve service name
DSRA0010E: SQL State = 66000, Error Code = 12 154DSRA0010E: SQL State = 66000, Error Code = 12 154
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:2321)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:477)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:539)
at java.sql.DriverManager.getConnection(DriverManager.java:158)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:169)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:149)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:95)
at com.ibm.ws.rsadapter.DSConfigurationHelper$1.run(DSConfigurationHelper.java:926)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:111)
at com.ibm.ws.rsadapter.DSConfigurationHelper.getPooledConnection(DSConfigurationHelper.java:921)
at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:757)
at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:764)
at com.ibm.ejs.j2c.poolmanager.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1332)
at com.ibm.ejs.j2c.poolmanager.FreePool.createOrWaitForConnection(FreePool.java:1133)
at com.ibm.ejs.j2c.poolmanager.PoolManager.reserve(PoolManager.java:1748)
at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:712)
at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:465)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:242)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:215)
at ...

Cyrille Le Clerc

unread,
Oct 24, 2005, 10:58:37 AM10/24/05
to
Hello,

The cause exception is "ORA-12154: TNS:could not resolve service name".

It is not a Websphere exception, it is an Oracle connection exception.
If you use the same configuration parameters with any oracle client
(thin or oci), you will get the same exception.

Check your jdbc connection url with your dba.

Here is a sample of doc to help you to troubleshoot your exception :
http://ora-12154.ora-code.com/

Hope this helps,

Cyrille
--
Cyrille Le Clerc
cyrille...@fr.ibm.com
clec...@pobox.com

Paul Ilechko

unread,
Oct 24, 2005, 4:30:44 PM10/24/05
to

Talk to your DBA. looks like you're maxing out on available connections.

sed...@gedas.cz

unread,
Oct 25, 2005, 5:19:46 AM10/25/05
to
Thanks, the problem was in using ONAMES server instead of TNSNAMES file.
0 new messages