您的位置:首页 > 数据库 > Oracle

ORACLE V$lock视图TYPE,ID1,ID2取值的含义

2014-10-28 21:44 309 查看
在oracle v$lock视图中,下面对type,ID1,ID2三个列的具体含义说明下:

TYPE 有TM,TX两种类型,TX为行级锁,事物锁,TM锁为表级锁

TYPE

ID1

ID2

TM

被修改表的标识(object_id)

0

TX

以十进制数值表示该事务所占用的回滚段号与该事务在该回滚段的事务表(Transaction table)中所占用的槽号(slot number,可理解为记录号)。其组成形式为: 0xRRRRSSSS ( RRRR = RBS number, SSSS = slot )。

以十进制数值表示环绕(wrap)次数,即该槽(slot)被重用的次数;

当type为TM时,6718为对象ID号

SQL> select type,id1,id2 from v$lock where sid in (16,17);

TYPE ID1 ID2
---- ---------- ----------
TX 65572 56
TM 6718 0
TM 6718 0
TX 65572 56

SQL> select object_id from DBA_OBJECTS WHERE WNER='SYS' and object_name='TEST';

OBJECT_ID
----------
6718

SQL>

当type为TX时,65572通过以下换算方式得到回滚段号和回滚段所占用的事物槽号

SQL> select xidusn,xidslot from v$transaction;

XIDUSN XIDSLOT
---------- ----------
1 36

SQL> select trunc(65572/65536),mod(65572,65536) from dual;

TRUNC(65572/65536) MOD(65572,65536)
------------------ ----------------
1 36
http://blog.itpub.net/7199859/viewspace-544923/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: