ORA-01000: número máximo de cursores abiertos excedido

Podemos encontrarnos con el ORA-01000 en muchos casos, por ejemplo al intentar crear o modificar una tabla. Este error nos indica que se ha excedido el número máximo de cursores. Podemos comprobar el parámetro de la siguiente forma:

SELECT value FROM v$parameter WHERE name = 'open_cursors';

Esto nos devolverá el máximo de cursores abiertos que tenemos definido en la base de datos. Si nos ha aparecido el ORA-01000 tendremos que reducir el uso de cursores o simplemente ampliar el número máximo de cursores de esta forma:

ALTER SYSTEM SET open_cursors = 500 SCOPE=BOTH;

Aumentar este valor no debería impactar en el rendimiento del sistema siempre y cuando lo hagamos a unos valores que no sean desorbitados.

Podéis extraer más información sobre los cursores abiertos con esta sentencia:

select a.name, b.value
from v$statname a, v$mystat b
where a.statistic# = b.statistic#
and lower(a.name) like '%' || lower('cursor')||'%';

Deja un comentario