The application has been fine for days. Then one request fails, then a few more, all from the same app server:
ORA-01000: maximum open cursors exceeded
Enter fullscreen mode
Exit fullscreen mode
The usual reaction is to raise OPEN_CURSORS . It's one ALTER SYSTEM , it needs no restart, and the errors stop. Then they come back a week later.
ORA-01000 is almost never a limit that's too low. It's an application that opens cursors and doesn't close them: a cursor leak . The limit is just where the leak becomes visible. This post covers what the limit counts, how to find the leaking session and the exact statement, the query that makes a healthy session look like the culprit, and why raising the limit doesn't help the connections that are already failing. It ends with a lab that proves each step on Oracle Database Free 26ai.
What the limit counts
OPEN_CURSORS is the maximum number of cursors one session can have open at once. It is not a database-wide pool.…