Oracle Enqueue Names
Enqueue(排队锁)是Oracle数据库中用于协调多进程并发访问共享资源的锁机制。
This appendix lists Oracle enqueues. Enqueues are shared memory structures (locks) that serialize access to database resources. They can be associated with a session or transaction. Enqueue names are displayed in the LOCK_TYPE column of the DBA_LOCK and DBA_LOCK_INTERNAL data dictionary views.
A resource uniquely identifies an object that can be locked by different sessions within an instance (local resource) or between instances (global resource). Each session that tries to lock the resource will have an enqueue on the resource.
Note:
The names of enqueues and their definitions may change from release to release.
The Oracle enqueues are:
BL, Buffer Cache Management
BR, Backup/Restore
CF, Controlfile Transaction
CI, Cross-instance Call Invocation
CU, Bind Enqueue
DF, Datafile
DL, Direct Loader Index Creation
DM, Database Mount
DR, Distributed Recovery Process
DW, SecureFiles
DX, Distributed Transaction
FP, File Object
FS, File Set
HW, High-Water Lock
IN, Instance Number
IR, Instance Recovery
IS, Instance State
IV, Library Cache Invalidation
JI, Enqueue used during AJV snapshot refresh
JQ, Job Queue
KK, Redo Log "Kick"
KP, contention in Oracle Data Pump startup and shutdown processes
KO, Multiple Object Checkpoint
L[A-P], Library Cache Lock
LS, Log Start or Switch
MM, Mount Definition
MR, Media Recovery
N[A-Z], Library Cache Pin
PE, ALTER SYSTEM SET PARAMETER = VALUE
PF, Password File
PI, Parallel Slaves
PR, Process Startup
PS, Parallel Slave Synchronization
Q[A-Z], Row Cache
RO, Object Reuse
RT, Redo Thread
RW, Row Wait
SC, System Change Number
SM, SMON
SN, Sequence Number
SQ, Sequence Number Enqueue
SR, Synchronized Replication
SS, Sort Segment
ST, Space Management Transaction
SV, Sequence Number Value
TA, Transaction Recovery
TC, Thread Checkpoint
TE, Extend Table
TM, DML Enqueue
TO, Temporary Table Object Enqueue
TS, Temporary Segment (also TableSpace)
TT, Tablespace
TX, Transaction
UL, User-defined Locks
UN, User Name
US, Undo Segment, Serialization
WL, Being Written Redo Log
XA, Instance Attribute Lock
XI, Instance Registration Lock
ZA, Exclusive Lock When Moving Audit Table
Enqueue状态查看
sql
-- 查看当前enqueue等待
SELECT * FROM v$enqueue_stat WHERE cum_wait_time > 0;
-- 详细enqueue持有/等待情况
SELECT
e.addr, e.kaddr, e.sid,
e.type, e.id1, e.id2,
e.lmode, e.request, e.ctime
FROM v$lock e
WHERE e.type IN ('TX','TM','ST','TT','US','SQ','BL','HW')
ORDER BY e.ctime DESC;
注:Oracle不同版本可能有所差异,19c新增了TA
(Tablespace Alter)等新enqueue类型。