Oracle9i Database Reference Release 2 (9.2) Part Number A96536-02 |
|
|
View PDF |
Parameter type |
Integer |
Default value |
Derived from |
Parameter class |
Static |
Range of values |
10 to unlimited |
ENQUEUE_RESOURCES
sets the number of resources that can be concurrently locked by the lock manager. An enqueue is a sophisticated locking mechanism that permits several concurrent processes to share known resources to varying degrees. Any object that can be used concurrently can be protected with enqueues. For example, Oracle allows varying levels of sharing on tables: two processes can lock a table in share mode or in share update mode.
One difference between enqueues and latches is that latches do not entail an ordered queue of waiting processes as do enqueues. Processes waiting for latches can either use timers to wake up and retry or (in multiprocessors) spin.
At database startup time, Oracle allocates the number of enqueues specified by the ENQUEUE_RESOURCES
parameter. The default value of ENQUEUE_RESOURCES
is derived from the SESSIONS
parameter and is usually adequate, as long as its value is greater than DML_LOCKS
+ 20. For three or fewer sessions, the default value is the number of database files + 20. For 4 to 10 sessions, the default value is the number of database files + ((SESSIONS
- 3) * 5) + 20. For more than 10 sessions, it is the number of database files + ((SESSIONS
- 10) * 2) + 55.
If you explicitly set ENQUEUE_RESOURCES
to a value higher than DML_LOCKS
+ 20, then Oracle uses the value you provide. Oracle will automatically allocate additional enqueues from the shared pool as needed if the number specified by ENQUEUE_RESOURCES
is exceeded. You can check resource usage by querying V$RESOURCE_LIMIT
.