| 列名 | 类型 | 字段说明 |
| ADDR | RAW(4 | 8) | Address of lock state object |
| KADDR | RAW(4|8) | Address of lock |
| SID | NUMBER | 会话的sid,可以和v$session 关联 |
| TYPE | VARCHAR2(2) |
区分该锁保护对象的类型(表4) TM – DML enqueue TX – Transaction enqueue UL – User supplied –我们主要关注TX和TM两种类型的锁 –UL锁用户自己定义的,一般很少会定义,基本不用关注 –其它均为系统锁,会很快自动释放,不用关注 |
|
ID1 ID2 | NUMBER |
ID1,ID2的取值含义根据type的取值而有所不同 对于TM 锁 ID1表示被锁定表的object_id 可以和dba_objects视图关联取得具体表信息,ID2 值为0 对于TX 锁 ID1以十进制数值表示该事务所占用的回滚段号和事务槽slot number号,其组形式: 0xRRRRSSSS,RRRR=RBS/UNDO NUMBER,SSSS=SLOT NUMBER ID2 以十进制数值表示环绕wrap的次数,即事务槽被重用的次数 |
| LMODE | NUMBER |
|
| REQUEST | NUMBER |
同LMODE –大于0时,表示当前会话被阻塞,其它会话占有改锁的模式 |
| CTIME | NUMBER |
|
| BLOCK | NUMBER |
|
| System Type | Description | System Type | Description |
|---|---|---|---|
|
|
Buffer hash table instance |
|
Library cache pin instance ( |
|
|
Control file schema global enqueue |
|
Password File |
|
|
Cross-instance function invocation instance |
|
Parallel operation |
|
|
Cursor bind |
|
Process startup |
|
|
datafile instance |
|
Row cache instance ( |
|
|
Direct loader parallel index create |
|
Redo thread global enqueue |
|
|
Mount/startup db primary/secondary instance |
|
System change number instance |
|
|
Distributed recovery process |
|
SMON |
|
|
Distributed transaction entry |
|
Sequence number instance |
|
|
File set |
|
Sequence number enqueue |
|
|
Space management operations on a specific segment |
|
Sort segment |
|
|
Instance number |
|
Space transaction enqueue |
|
|
Instance recovery serialization global enqueue |
|
Sequence number value |
|
|
Instance state |
|
Generic enqueue |
|
|
Library cache invalidation instance |
|
Temporary segment enqueue (ID2=0) |
|
|
Job queue |
|
New block allocation enqueue (ID2=1) |
|
|
Thread kick |
|
Temporary table enqueue |
|
|
Library cache lock instance lock (A..P = namespace) |
|
User name |
|
|
Mount definition global enqueue |
|
Undo segment DDL |
|
|
Media recovery |
|
Being-written redo log instance |
decode(a.type,
'TM',c.object_name,
NULL) OBJECT_NAME,
decode(a.lmode,
0,'0:none',
1,'1:NULL',
2,'2:SS(Row-Share)',
3,'3:SX(Row-X)',
4,'4:S(Share)',
5,'5:SSX(S/Row-X)',
6,'6:X(Exclusive)') lmode,
decode(a.REQUEST,
0,'0:none',
1,'1:NULL',
2,'2:SS(Row-Share)',
3,'3:SX(Row-X)',
4,'4:S(Share)',
5,'5:SSX(S/Row-X)',
6,'6:X(Exclusive)') REQUEST,
a.ctime,a.block
from v$lock a,v$session b ,dba_objects c where b.sid=a.sid and c.object_id(+)=a.id1;
本文详细介绍了Oracle数据库中V$LOCK视图的结构及其各列的意义,特别是针对TX和TM类型的锁进行了深入探讨,并提供了一段SQL脚本用于查询锁定情况。
1645

被折叠的 条评论
为什么被折叠?



