27 October 2015

ORA-01000: maximum open cursors exceeded

Users started complaining about the below error since today evening:

ORA-01000: maximum open cursors exceeded

Cause: Application attempted to open too many cursors. The initialization parameter OPEN_CURSORS determines the maximum number of cursors per user.

Action: Modify the application to use fewer cursors. If this error occurs often, shut down Oracle, increase the value of OPEN_CURSORS, and then restart Oracle.

Increase the value for open_cursors parameter and keep a track on the cursors being opened by the application and whether they are being closed or left open.

alter system set open_cursors = 1000 scope=both;

Try to close whatever cursors are no longer in use, restart the database.

Will keep posted on further improvements or modifications to this issue.

Update:

Also came across the parameter SESSION_CACHED_CURSORS which sets the number of cached closed cursors each session can have. You can set SESSION_CACHED_CURSORS to higher than OPEN_CURSORS, lower than OPEN_CURSORS, or anywhere in between. This parameter has no effect on ora-1000's or on the number of cursors a session will have open. Conversely, OPEN_CURSORS has no effect on the number of cursors cached. There's no relationship between the two parameters.

Let's see, if this is going to work, will keep this parameter to 100

No comments:

Post a Comment