Tuesday, May 11, 2010

ORA-1000 maximum open cursors exceeded

Cause:
Program attempted to open too many cursors.

Explanation:
Cursors are resources explicitly opened by application code, and in recursive operations by Oracle code. The init.ora controls the maximum number of concurrent cursors a session may have open at any point in time. An attempt to open an additional cursor results in the ORA-1000 "maximum open cursors exceeded" error.

Diagnose:

  • Check  the value of the OPEN_CURSORS parameter
  • Check  the open curdor  for  a session
    Select  * from v$open_cursor where  sid =xxxx
  • it is possible to get the user session to generate a trace file when the error occurs
    event="1000 trace name errorstack level 3"
Action:
  • Modify the program to use fewer cursors
  • or  increase the value of  OPEN_CURSORS (This  needs  restart of database )

No comments: