maximum open cursors exceeded
Hola,
mi problema es que desde una aplicacion se está intentando insertar un registro. En la tabla tengo un trigger y un secuencia que me genera el id a insertar. A nivel de base de datos se hace el insert correctamente pero desde la aplicación da el siguiente error:AunaException: CLASE: PagadorOJB METODO: insertarPagadorOJB() EXCEPCION: SQL failure while insert object data for class es.gpm.auna.clasesrelacionadas.vo.PagadorVO, PK of the given object is [ pagadorID=null], object was es.gpm.auna.clasesrelacionadas.vo.PagadorVO@da5598, exception message is [ORA-01000: maximum open cursors exceeded ORA-06512: at "COBROS_AGC.TRG_PAGADOR", line 3 ORA-04088: error during execution of trigger 'COBROS_AGC.TRG_PAGADOR' ]
Si pudieran ayudarme, muchas gracias. Elena
mi problema es que desde una aplicacion se está intentando insertar un registro. En la tabla tengo un trigger y un secuencia que me genera el id a insertar. A nivel de base de datos se hace el insert correctamente pero desde la aplicación da el siguiente error:AunaException: CLASE: PagadorOJB METODO: insertarPagadorOJB() EXCEPCION: SQL failure while insert object data for class es.gpm.auna.clasesrelacionadas.vo.PagadorVO, PK of the given object is [ pagadorID=null], object was es.gpm.auna.clasesrelacionadas.vo.PagadorVO@da5598, exception message is [ORA-01000: maximum open cursors exceeded ORA-06512: at "COBROS_AGC.TRG_PAGADOR", line 3 ORA-04088: error during execution of trigger 'COBROS_AGC.TRG_PAGADOR' ]
Si pudieran ayudarme, muchas gracias. Elena
Elena.
Es simple, la base de datos esta limitando los cursores concurrentes a la base de datos.
realiza en siguiente query desde SQLPLUS:
SQL> col name for a15
SQL> col value for a15
SQL> select name, value
2 from v$parameter
3 where name = 'open_cursors';
Por default cuando la base de datos es creada pone por defecto 300 cursores, por el momento incrementa este valor.
En la aplicacion mas grande que he trabajado no excede a mas de 1000 cursores, entra al init modificalo da de baja la base de datos y levantala con este valor como ejemplo, y monitoreas la base de datos.
para tener la segurirdad de que se hja incrementado este valor puedes hacer nuevamente el query.
SQL> select name, value
2 from v$parameter
3 where name = 'open_cursors';
Te debe de dar como resultado el valor que incrementaste.
vuelve a provocar el error con la aplicacion para verificar que este funcionado, y ve monitoreando la base de datos.
Saludos
Jorge
Es simple, la base de datos esta limitando los cursores concurrentes a la base de datos.
realiza en siguiente query desde SQLPLUS:
SQL> col name for a15
SQL> col value for a15
SQL> select name, value
2 from v$parameter
3 where name = 'open_cursors';
Por default cuando la base de datos es creada pone por defecto 300 cursores, por el momento incrementa este valor.
En la aplicacion mas grande que he trabajado no excede a mas de 1000 cursores, entra al init modificalo da de baja la base de datos y levantala con este valor como ejemplo, y monitoreas la base de datos.
para tener la segurirdad de que se hja incrementado este valor puedes hacer nuevamente el query.
SQL> select name, value
2 from v$parameter
3 where name = 'open_cursors';
Te debe de dar como resultado el valor que incrementaste.
vuelve a provocar el error con la aplicacion para verificar que este funcionado, y ve monitoreando la base de datos.
Saludos
Jorge