Open Cursor Reference
Open Cursor Reference
Property Description
Parameter type Integer
Default value 50
Modifiable ALTER SYSTEM
Range of values 0 to 65535
Basic Yes
Any session may execute many SQL statements and the open_cursors parameter
governs the total number of open cursors for any given session.
Just like the sessions and processes parameters, your application usage determines
the value for open_cursors.
If you set open_cursors value too high, you risk having a task abort with the ORA-
01000 error:
Whenever you get an ORA-01000 error you need to determine if the session has a
bug or whether the cursor requests are legitimate. You can change the
open_cursors parameter dynamically while the database is running using an alter
system statement:
alter system set open_cursors = 400 scope=both;
You can monitor your high water mark for open cursors with a query like this:
select
max(a.value) as hwm_open_cur,
p.value as max_open_cur
from
v$sesstat a,
v$statname b,
v$parameter p
where
a.statistic# = b.statistic#
and
b.name = 'opened cursors current'
and
p.name= 'open_cursors'
group by p.value;
In sum, the open_cursors parameter default value is usually enough for any
application, and it can be increased as-needed, depending upon your application.