Oracle Database / Operations & Incident Response
ORA-01000: find cursor growth in the affected session
A cursor-limit error can indicate statements or result sets not being closed. Inspect per-session usage before raising OPEN_CURSORS.
Environment and inputs: Oracle Database 19c baseline · SQL*Plus-compatible SQL unless RMAN, DGMGRL, ADRCI or a host shell is specified. Check release, patch level, edition and container first.
Start with this diagnostic
Use the stated SQL, RMAN, DGMGRL or host shell and replace sample names with approved targets. DBA and V$ views need authorized catalog access in the correct container. Do not grant broad privileges for an example.
SELECT s.sid, s.serial#, ss.value AS opened_cursors FROM v$sesstat ss JOIN v$statname n ON n.statistic# = ss.statistic# JOIN v$session s ON s.sid = ss.sid WHERE n.name = 'opened cursors current' ORDER BY ss.value DESC FETCH FIRST 20 ROWS ONLY;
Read the result
The statistic identifies current cursor usage by session. Cached cursor views and client handles require additional interpretation before diagnosing a leak.
Resolve and verify
Trend the affected session through repeated requests and repair statement or result-set cleanup in the client. Adjust a justified limit only with measured workload evidence.
Operational precautions
Do not close unrelated sessions or increase the limit indefinitely to conceal unbounded cursor growth.