Skip to main content

Change open_cursors Value


The Oracle initialization parameter OPEN_CURSORS specifies the number of cursors a session can have open at any one time. The default value is 300.
If the session attempts to open a new cursor but already has the maximum number of cursors open, the Oracle error -1000 will be returned.
Your client application may hit the following error :
ORA-01000: maximum open cursors exceeded

You can do two things,
1) Change the inti.ora parameter open_cursors = <increased-no>
init.ora file location = ORACLE_HOME\dbs
A database restart is needed to affect the above change.
You can check the value by below sql.
SQL> show parameter OPEN_CURSORS;
Note:
If you are using a spfile you can do it through below statement.
alter system set open_cursors=xxx scope=both;


2) In your application code , use For ...Cursors, because that automatically closes the cursor.
    If you cannot use For..Cursor, take care to close the cursors. Otherwise the opened cursors will persist in memory and increase the open_cursors count unnecessarily.



Comments

Popular posts from this blog

Setting ORACLE_SID

The  Oracle System ID  ( S ID ) is used to uniquely identify a particular database on a system How to set ORACLE_SID: Windows: set ORACLE_SID=orcl Unix/ Linux: export ORACLE_SID=orcl SID is case sensitive in Unix / Linux environments. How to check the current ORACLE_SID: Windows: Go to the commnand prompt and type as C:\> set ORACLE_SID (This will show if any ORACLE_SID is already set). C:\> set (To know all the parameters set) Unix/ Linux: echo $ORACLE_SID