ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 确定enqueue锁类型

确定enqueue锁类型

原创 Linux操作系统 作者:liglewang 时间:2011-10-15 10:35:50 0 删除 编辑

SQL>select sid,p1,p1raw,p2,p2raw,p3,p3raw,event from v$session_wait where event='enqueue';

SID

P1

P1RAW

P2

P2RAW

P3

P3RAW

EVENT

31

1415053318

0000000054580006

19922977

0000000001300021

786911

00000000000C01DF

enqueue

198

1415053318

0000000054580006

19595310

00000000012B002E

760405

00000000000B9A55

enqueue

249

1415053318

0000000054580006

21626889

00000000014A0009

323583

000000000004EFFF

enqueue

304

1415053318

0000000054580006

24707106

0000000001790022

80259

0000000000013983

enqueue

619

1415053318

0000000054580006

19595310

00000000012B002E

760405

00000000000B9A55

enqueue

提示:

如果P1=1415053318,那么锁的mode就是4;如果P1=1415053318,那么锁的mode就是6,至于为何如此判断呢?如:

SQL> select mod(1415053318,16) from dual;
MOD(1415053318,16)
------------------
                 6

SQL> select mod(1415053316,16) from dual;
MOD(1415053316,16)
------------------
                 4

具体的Mode有:

#   Type     Name
---  ------    --------
1    NULL    NULL
2    SS       Sub share
3    SX       Sub exclusive
4    S         Share
5    SSX     Share/sub exclusive
6    X         Exclusive

在Oracle9i中,通过P1RAW就可以直接判断出enqueue锁的type和mode:

若从v$session_wait中查询得到的P1RAW为0000000054580006,在这个值中,前四位表示lock type,后四位表示lock mode。

HEX      ASCII
54        T
58        X

00006就是6,即mode6,所以判断该enqueue lock为TX 6

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25834554/viewspace-709182/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 【函数】DUMP
请登录后发表评论 登录
全部评论

注册时间:2011-09-02

  • 博文量
    52
  • 访问量
    320717