Our environment is WAS 3.5.4 on solaris and our session persistence DB
is oracle 8.1.7 (our application db is a different instance). Our min
and max pool size for the session persistence DB datasource is 5 and
20. Our application is running on 2 clones.
While running a load test of 20 users, we run out of connections to
the session persistence DB instance. The DB limit is 225 and our DBA
confirmed that the user id which we have set for session persistence
in websphere, has grabbed all the available connections. Any ideas?
Below is the exception stack trace:
java.sql.SQLException: ORA-00604: error occurred at recursive SQL
level 1
ORA-00018: maximum number of sessions exceeded
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.<init>(Throwable.java:94)
at java.lang.Exception.<init>(Exception.java:42)
at java.sql.SQLException.<init>(SQLException.java:43)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java:515)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:230)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at com.ibm.ejs.cm.pool.JDBC1xConnectionFactory.createConnection(JDBC1xConnectionFactory.java:44)
at com.ibm.ejs.cm.pool.ConnectionPool.createConnection(ConnectionPool.java:954)
at com.ibm.ejs.cm.pool.ConnectionPool.createOrWaitForConnection(ConnectionPool.java:894)
at com.ibm.ejs.cm.pool.ConnectionPool.findFreeConnection(ConnectionPool.java:814)
at com.ibm.ejs.cm.pool.ConnectionPool.findConnectionForTx(ConnectionPool.java:703)
at com.ibm.ejs.cm.pool.ConnectionPool.allocateConnection(ConnectionPool.java:614)
at com.ibm.ejs.cm.pool.ConnectionPool.getConnection(ConnectionPool.java:274)
at com.ibm.ejs.cm.DataSourceImpl.getConnection(DataSourceImpl.java:187)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.getConnection(BackedHashtable.java:1430)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.ejbStore(BackedHashtable.java:2477)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.ejbStore(BackedHashtable.java:2595)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.ejbStore(BackedHashtable.java:2595)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.ejbStore(BackedHashtable.java:2595)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.ejbStore(BackedHashtable.java:2595)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.ejbStore(BackedHashtable.java:2595)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.ejbStore(BackedHashtable.java:2595)
at com.ibm.servlet.personalization.sessiontracking.BackedHashtable.ejbStore(BackedHashtable.java:2595)
I think that u have to increase the opencrusor value in oracle.pls
consult with your oracle DBA for ORA-00604, your DBA will suggest the
solution.
regards
vichu