Hi again, There are a few items which I would like to add on this topic as well,
1. I have referred to the Oracle Forums and the general statement given was to ensure that the application client whom is accessing Oracle Database to check their open cursor statement. If there exist codes where the open cursor statements are not closed, then it should be considered to correct that code. >From the Oracle point of view, is by increasing the open cursor parameter in the database to a certain amount. This would definitely hide the issue. But the flaw of this approach is that if the issue occured again, then what is the final solution? Appreciate the ActiveMQ technical team to respond to this matter. Thanks in advance Hatta Hatta wrote: > > Hi, > > I m using ActiveMQ 5.1 SNAPSHOT version. I have already experienced the > same problem in ActiveMQ 5.0.0 Production release. > > ActiveMQ 5.1 has been installed on a Linux OS : kernel version 2.6 and its > currently connecting to an Oracle 10 RAC (Real Application Cluster). > > After a few hours of observation and no activity between my application > and ActiveMQ 5.1, the following was noticed: > > ERROR DefaultDatabaseLocker - Failed to update database lock: > java.sql.SQLException: ORA-01000: maximum open cursors exceeded > > > > java.sql.SQLException: ORA-01000: maximum open cursors exceeded > > > > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) > > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) > > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) > > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743) > > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213) > > at > oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:952) > > at > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160) > > at > oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285) > > at > oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3368) > > at > org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:94) > > at > org.apache.activemq.store.jdbc.DefaultDatabaseLocker.keepAlive(DefaultDatabaseLocker.java:103) > > at > org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.databaseLockKeepAlive(JDBCPersistenceAdapter.java:458) > > at > org.apache.activemq.store.jdbc.JDBCPersistenceAdapter$3.run(JDBCPersistenceAdapter.java:260) > > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) > > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280) > > at > java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135) > > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65) > > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142) > > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > > at java.lang.Thread.run(Thread.java:595) > > > However, My application is still able to send and receive jms messages > from the broker. But this error message is disturbing > and may give an impression that there something wrong with the server > communication with the DB. > > Appreciate a response to this matter. > > Regards > Hatta > > > -- View this message in context: http://www.nabble.com/maximum-open-cursors-exceeded-tp16834950s2354p16883070.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.