列名 | 类型 | 字段说明 |
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;