Aquí se explica cómo encontrar los cursores abiertos que se han analizado. Debe iniciar sesión como usuario con acceso a v $ open_cursor y v $ session.
COLUMN USER_NAME FORMAT A15
SELECT s.machine, oc.user_name, oc.sql_text, count(1)
FROM v$open_cursor oc, v$session s
WHERE oc.sid = s.sid
GROUP BY user_name, sql_text, machine
HAVING COUNT(1) > 2
ORDER BY count(1) DESC
;
Si le proporciona parte del texto SQL, puede ser útil para identificar aplicaciones con fugas. Si un cursor no ha sido analizado, entonces no aparece aquí. Tenga en cuenta que Oralce algunas veces mantendrá las cosas abiertas más tiempo que usted.
Estos 'cursores abiertos actual' se perezosamente cosechado por el servidor de tabla de Oracle; por lo que el número que ve para su aplicación puede ser anómalamente alto sin que signifique que cometió un error. Ver http://www.orafaq.com/node/758 –