|Oracle® Database Reference
10g Release 1 (10.1)
Part Number B10755-01
|Default value||Derived from |
|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