ORACLE V$lock檢視TYPE,ID1,ID2取值的含義

paulyibinyi發表於2009-02-01

  在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

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-544923/,如需轉載,請註明出處,否則將追究法律責任。

相關文章