DBAtlas · Database operations atlas

ORA-00494: enqueue held for too long by 'inst N, osid M'

Oracle

What does it mean?

A critical resource enqueue (e.g. CF - control file enqueue) was held by a process for much longer than allowed, and Oracle killed that process to prevent the system from hanging. It appears in alert.log together with a 'killing enqueue blocker' entry.

Why does it happen?

A background or user process held an important enqueue beyond the allowed time because of an I/O bottleneck, heavy CPU pressure or an OS stall (swapping, slow disks); for the control file (CF) enqueue this time is set by _controlfile_enqueue_timeout (default 900 s). Hidden (underscore) parameters should only be changed under Oracle Support guidance. Usually triggered by storage latency or slow processes such as LGWR/CKPT.

How to fix it

Review alert.log and the trace file of the killed process to determine which enqueue (usually the control file) and which background process is responsible. The real cause is usually storage/I/O latency: check disk response times, multipath and controller health. Reduce CPU/memory pressure and swap usage. If it recurs, share the trace analysis with Oracle Support.

Open in DBAtlas →

More from this engine