In this database (e.g. according to DBA), what is the max # of cursors set
to?


On Tue, Apr 2, 2013 at 7:01 AM, BKumar <[email protected]>wrote:

> Hi,
>
> We have recently migrated to tomee+ 1.5.1 from  Jboss. Until now everything
> was working good. But when we are running large processes it is throwing
> error "maximum open cursors exceeded". We have around 60 entity beans(CMP)
> .Also, We are not manually  opening or closing any  connection everything
> is
> done by Container only.We are just  working on Entity.
>
> After googling we found this may  be related to statement caching, which
>  is
> controlled two  property i.e. "PoolPreparedStatements" and
> "maxOpenPreparedStatements" in tomee.xml.
>
> Tomee.xml :::
>
> <Resource id="RageDataSource" type="DataSource">
>         JdbcDriver oracle.jdbc.driver.OracleDriver
>     JdbcUrl jdbc:oracle:thin:@<ID>:5584:PLTDEV
>     UserName test
>     Password test
>    JtaManaged true
>    PoolPreparedStatements true
>    maxOpenPreparedStatements 200
> </Resource>
>
> <Resource id="RageNoTxDataSource" type="DataSource">
>    JdbcDriver oracle.jdbc.driver.OracleDriver
>     JdbcUrl jdbc:oracle:thin:@<ID>:5584:PLTDEV
>     UserName test
>     Password test
>     JtaManaged false
>     PoolPreparedStatements true
>      maxOpenPreparedStatements 200
> </Resource>
>
>
> Error:
>
>  javax.ejb.EJBException: The transaction has been marked rollback only
> because the bean encountered a non-application exception
> :org.apache.openjpa.persistence.PersistenceException : ORA-00604: error
> occurred at recursive SQL level 1
> ORA-01000: maximum open cursors exceeded
> ORA-00604: error occurred at recursive SQL level 1
> ORA-01000: maximum open cursors exceeded
> ORA-01000: maximum open cursors exceeded
>  {prepstmnt 1636515580 SELECT t0.CMPT_SEQ_ID, t0.TFP_PROPERTYNAME,
> t0.TFP_PROPVAL, t0.TFP_PROPVAL_DATATYPE, t0.TFP_UPDATE_COUNT FROM
> TASK_CONFIGURATION t0 WHERE (t0.CMPT_SEQ_ID = ?) [params=?]} [code=604,
> state=60000]
>         at
>
> com.rage.common.util.AppServerUtility.getException(AppServerUtility.java:412)
>         at
>
> com.rage.common.dal.TaskDBUtility.getTaskConfigurations(TaskDBUtility.java:3011)
>         at
>
> com.rage.process.bizcomp.ProcessFlowchartFacadeBean.get(ProcessFlowchartFacadeBean.java:317)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>         at
> org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:128)
>         at
> org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:43)
>         at
> org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:64)
>         at
> org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:70)
>         at sun.reflect.GeneratedMethodAccessor107.invoke(Unknown Source)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>         at
>
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:176)
>         at
>
> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:95)
>         at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>         at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>         at
>
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)
>         at
>
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:237)
>         at
>
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:189)
>         at
>
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:253)
>         at
>
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:248)
>         at
>
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:92)
>         at
>
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:279
>
>
> Thanks,
> Bibhuti
>
>
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/maximum-open-cursors-exceeded-in-entity-bean-tp4661896.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Reply via email to