事物 TX v$lock id1,id2含义
v$lock.id1: 回滚段编号|| 槽号
v$lock.id2: seq序列号
TM锁 v$lock.id1 就是 table的 object_id
sys@PROD@137> select sid,type,id1,id2,lmode,request,block from v$lock where sid=11 or sid=12;
SID TYPE ID1 ID2 LMODE REQUEST BLOCK
---------- ------ ---------- ---------- ---------- ---------- ----------
11 AE 100 0 4 0 0
12 AE 100 0 4 0 0
11 TM 21326 0 3 0 0
11 TM 21328 0 3 0 0
11 TX 655393 4869 6 0 0
sys@PROD@137> select sid,type,id1,id2,lmode,request,block from v$lock where sid=11 and TYPE<>'AE';
SID TYPE ID1 ID2 LMODE REQUEST BLOCK
---------- ------ ---------- ---------- ---------- ---------- ----------
11 TM 21326 0 3 0 0
11 TM 21328 0 3 0 0
11 TX 655393 4869 6 0 0
把id1转换十六进制,高2字节代表回滚段编号,低两字节是回滚段槽位号
sys@PROD@137> SELECT TO_CHAR(655393,'XXXXXXXX') FROM DUAL;
TO_CHAR(655393,'XXXXXXXX')
---------------------------
A0021
sys@PROD@137> select to_number('A','X') USN#,to_number('0021','xxxx') wrap# from dual;
USN# WRAP#
---------- ----------
10 33
sys@PROD@137> select XIDUSN,XIDSLOT,XIDSQN from v$transaction;
XIDUSN XIDSLOT XIDSQN
---------- ---------- ----------
10 33 4869
sys@PROD@137> select trunc(655393/65536) usn#,mod(655393,65536) wrap# from dual;
USN# WRAP#
---------- ----------
10 33
v$lock.id1: 回滚段编号|| 槽号
v$lock.id2: seq序列号
TM锁 v$lock.id1 就是 table的 object_id
sys@PROD@137> select sid,type,id1,id2,lmode,request,block from v$lock where sid=11 or sid=12;
SID TYPE ID1 ID2 LMODE REQUEST BLOCK
---------- ------ ---------- ---------- ---------- ---------- ----------
11 AE 100 0 4 0 0
12 AE 100 0 4 0 0
11 TM 21326 0 3 0 0
11 TM 21328 0 3 0 0
11 TX 655393 4869 6 0 0
sys@PROD@137> select sid,type,id1,id2,lmode,request,block from v$lock where sid=11 and TYPE<>'AE';
SID TYPE ID1 ID2 LMODE REQUEST BLOCK
---------- ------ ---------- ---------- ---------- ---------- ----------
11 TM 21326 0 3 0 0
11 TM 21328 0 3 0 0
11 TX 655393 4869 6 0 0
把id1转换十六进制,高2字节代表回滚段编号,低两字节是回滚段槽位号
sys@PROD@137> SELECT TO_CHAR(655393,'XXXXXXXX') FROM DUAL;
TO_CHAR(655393,'XXXXXXXX')
---------------------------
A0021
sys@PROD@137> select to_number('A','X') USN#,to_number('0021','xxxx') wrap# from dual;
USN# WRAP#
---------- ----------
10 33
sys@PROD@137> select XIDUSN,XIDSLOT,XIDSQN from v$transaction;
XIDUSN XIDSLOT XIDSQN
---------- ---------- ----------
10 33 4869
sys@PROD@137> select trunc(655393/65536) usn#,mod(655393,65536) wrap# from dual;
USN# WRAP#
---------- ----------
10 33
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21980353/viewspace-1825501/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21980353/viewspace-1825501/