A database cursor is the memory that the ORACLE RDBMS assigns to a SQL command.
This applies to the SQL commands that are implicit to posting and querying data
and the SQL commands that are explicit in triggers.
The following table presents constraints that apply to database cursors.
Element
|
Constraint/Note
|
open cursors (maximum)
|
value of the OPEN_CURSORS parameter found in the INIT.ORA file
|
open cursors (minimum)
|
5 per ORACLE connection.
|
|
4 per runtime session when running against
ORACLE or SQL*Connect.
|
|
5 per block (1 for SELECT, 1 for UPDATE,
1 for INSERT, 1 for DELETE, and 1 for QUERY ).The first 4 listed are opened
as needed. This restriction applies under normal circumstances, but it
is possible to change the number of cursors by altering settings on the
Set Options form or by using command line switches.One cursor for query
is always opened for each block as needed and is never shared.
|
open
cursors (minimum)
|
1 per record group created with query.
|
|
1 cursor is used if database date or time
default values ($$DBDATE$$) are referenced for any item.
|
|
1 for any SQL statement.These can be in
triggers, procedures, or functions. This restriction applies under normal
circumstances, but it is possible to change the number of cursors by altering
settings on the Set Options form or by using command line switches.
|