Menu

ORA-01000 Maximum Open Cursors Exceeded: Don't Raise the Limit, Find the Leak
📰

ORA-01000 Maximum Open Cursors Exceeded: Don't Raise the Limit, Find the Leak

DEV Community: java·Uptime Architect·about 7 hours ago
#3yEarCqB
#devtojava#devto#dev#session#cursors
Reading 0:00
15s threshold

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.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.