Inicio Foros Bases de datos Oracle Warning en consola Las métricas "Current Open Cursors Count" están en 1296 Respuesta a: Warning en consola Las métricas "Current Open Cursors Count" están en 1296

#3657
alonsojpd
Superadministrador

En primer lugar intenta averiguar qué procesos/usuarios están consumiendo las sesiones. Para ello puedes ejecutar la siguiente consulta SQL:

select sid, count(*)
from v$open_cursor
group by sid
order by 2 desc;

La consulta anterior te mostrará algo así:

SID | COUNT(*)
—-    ——–
1275 | 300
781 | 166
699 | 166
1171 | 163
512 | 160
1167 | 158
894 | 153
1470 | 148
890 | 141
790 | 139
513 | 130
1462 | 129

En el ejemplo anterior hay una sesión, con el ID 1275, que tiene un número de procesos anormal, 300, cuando la media es de 120. En este caso podrías intentar averiguar qué usuario y aplicación está realizando ese número anormal de procesos. Para ello ejecuta esta otra consulta SQL:

select machine, program, osuser
from v$session where sid=1275;

En este caso te devolverá el nombre del equipo, el programa y el nombre del usuario que ha realizado ese número inusual de conexiones. Al menos con esta información podrás analizar el origen del problema y actuar en consecuencia. Incluso puede «matar» (cerrar) dicha conexión (sesión), teniendo en cuenta que si ese usuario tiene alguna transacción sin finalizar se cerrará sin guardar los cambios.

Si quieres forzar el cierre de una sesión puede ejecutar el comando (por ejemplo desde SQLPlus o desde SQL Developer o cualquier otro cliente de Oracle que permita ejecución de consultas SQL del siguiente tipo):

alter system kill session 1275;