[20210524]分析library cache转储 4.txt

[20210524]分析library cache转储 4.txt

--//链接http://blog.itpub.net/267265/viewspace-2773571/=》[20210524]分析library cache转储 3.txt
--//继续测试多个sql语句hash_value值相同的情况,说明一点实际上并不是hash_value一样才会在一个bucket,
--//我的测试环境仅仅有131072个buecket,好像很大内存的配置也是131072个bucket。
--//131072 = 0x20000,也就是full_hash_vlue & 0x1ffff ,相当于后21bit相等的都会在一个bucket里面。
--//当然hash_value一样一定在一个bucket 里面。

1.环境:
SCOTT@book> @ ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.找到一些sql语句hash_value一样。
--//参考http://externaltable.blogspot.com/2012/06/hash-collisions-sql-signatures-and.html
--//花了一个下午找到仅仅有4个hash_value,注本来想找到20个以上的情况,不现实放弃。

SCOTT@book> create table dula as select * from dual ;
Table created.

define SQL1='select sysdate from dual --'
define SQL2='select sysdate from dula --'

  SELECT hashval
        ,SUBSTR (hashval, 25, 8)
        ,sql_type
        ,DECODE (sql_type,  1, '&SQL1',  2, '&SQL2',  NULL) || SQL || ';'
            sql_text
    FROM HASH_1
   WHERE SUBSTR (hashval, 25, 8) IN (  SELECT SUBSTR (hashval, 25, 8)
                                         FROM HASH_1
                                     GROUP BY SUBSTR (hashval, 25, 8)
                                       HAVING COUNT (*) > 3)
ORDER BY SUBSTR (hashval, 25, 8);

HASHVAL                                  SUBSTRHASHVAL,2    SQL_TYPE SQL_TEXT
---------------------------------------- ---------------- ---------- ------------------------------------------------------------
7fa0440cb576468eee514bd1865821d8         865821d8                  2 select sysdate from dula --QVJzuaXTQDRWAMQsUKRahCOmcllpAYLn;
9d524191de77830512606b60865821d8         865821d8                  2 select sysdate from dula --hBaTOrXVlpVzFMMfuJFHWWksdoGuzZdc;
4823f0eab9589f52ce20856e865821d8         865821d8                  1 select sysdate from dual --heqVJLdwOOvUbNnwDpaMwowplkAymAhs;
85e2a9308c0fdac36dd09edd865821d8         865821d8                  1 select sysdate from dual --SYWAvXlLqpLVnKmYQGOJxklMrToCdoUD;
--//这里记录的HASHVAL与实际hash_value大小头要对调一下。

$ cat aa1.txt
select sysdate from dula --QVJzuaXTQDRWAMQsUKRahCOmcllpAYLn;
@ hash
select sysdate from dula --hBaTOrXVlpVzFMMfuJFHWWksdoGuzZdc;
@ hash
select sysdate from dual --heqVJLdwOOvUbNnwDpaMwowplkAymAhs;
@ hash
select sysdate from dual --SYWAvXlLqpLVnKmYQGOJxklMrToCdoUD;
@ hash

--//执行如下:
SCOTT@book> @ aa1.txt
SYSDATE
-------------------
2021-05-24 09:10:30

HASH_VALUE SQL_ID        CHILD_NUMBER HASH_HEX
---------- ------------- ------------ ---------
3626064006 d2kujxvc22q46            0  d8215886

SYSDATE
-------------------
2021-05-24 09:10:30

HASH_VALUE SQL_ID        CHILD_NUMBER HASH_HEX
---------- ------------- ------------ ---------
3626064006 60uv02bc22q46            0  d8215886

SYSDATE
-------------------
2021-05-24 09:10:30

HASH_VALUE SQL_ID        CHILD_NUMBER HASH_HEX
---------- ------------- ------------ ---------
3626064006 6x190tvc22q46            0  d8215886

SYSDATE
-------------------
2021-05-24 09:10:30

HASH_VALUE SQL_ID        CHILD_NUMBER HASH_HEX
---------- ------------- ------------ ---------
3626064006 dv7qhdrc22q46            0  d8215886

--//执行多次可以发现HASH_VALUE一样,记住sql_id 分别是d2kujxvc22q46,60uv02bc22q46,6x190tvc22q46,dv7qhdrc22q46。
--//位于 bueckt = 3626064006 % 131072  = 88198,88198 = 0x15886。

3.转储library cache:

SYS@book> oradebug setmypid
Statement processed.

SYS@book> @ tix
New tracefile_identifier =  /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_40996_0002.trc

SYS@book> oradebug dump library_cache 10;
Statement processed.

--//单独把Bucket: #=88198内容保存为一个文件(bucket88198.txt)便于分析。

 $  grep "select sysdate from du" bucket88198.txt
    ObjectName:  Name=select sysdate from dual --SYWAvXlLqpLVnKmYQGOJxklMrToCdoUD
    ObjectName:  Name=select sysdate from dual --heqVJLdwOOvUbNnwDpaMwowplkAymAhs
    ObjectName:  Name=select sysdate from dula --hBaTOrXVlpVzFMMfuJFHWWksdoGuzZdc
    ObjectName:  Name=select sysdate from dula --QVJzuaXTQDRWAMQsUKRahCOmcllpAYLn
--//显示的顺序正好与前面的执行顺序相反。

$ egrep "sql_id|^  LibraryHandle" bucket88198.txt
  LibraryHandle:  Address=0x7cd73a38 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
      Parent Cursor:  sql_id=dv7qhdrc22q46 parent=0x7cd72a68 maxchild=1 plk=y ppn=n
  LibraryHandle:  Address=0x7cd794e8 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
      Parent Cursor:  sql_id=6x190tvc22q46 parent=0x7cd78518 maxchild=1 plk=y ppn=n
  LibraryHandle:  Address=0x7e0ea7c8 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
      Parent Cursor:  sql_id=60uv02bc22q46 parent=0x7cd7d948 maxchild=1 plk=y ppn=n
  LibraryHandle:  Address=0x7c6c5a48 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
      Parent Cursor:  sql_id=d2kujxvc22q46 parent=0x7d1d05d8 maxchild=1 plk=y ppn=n

$ head -1 bucket88198.txt
Bucket: #=88198 Mutex=0x8049bd20(0, 232, 0, 6)

--//mutex地址0x8049bd20,减去0x10 就是bucket的地址:0x8049bd10

SYS@book> oradebug peek 0x8049bd10 40
[08049BD10, 08049BD38) = 7CD73A38 00000000 7C6C5A48 00000000 00000000 00000000 000000E8 00000000 00015886 00000000
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--//注意看前16字节,0x7CD73A38,正好是sql_id=dv7qhdrc22q46的父游标句柄。0x7C6C5A48正好是sql_id=d2kujxvc22q46的 父游标句柄.
--//这样bucket记录的前8位就是链表的尾部,后8位就是链表的开头。如何链接起来的呢?
--//后记:看了后面的分析,感觉应该反过来,前8位就是链表的开头(最后执行的sql语句父游标句柄),后8位就是链表的尾部。

4.看看如何链接:
--//我以前测试可以发现父游标句柄的地址减去0x30正好就是父游标句柄chunk的开始地址。
SYS@book> @ fcha 0x7cd73a38
LOC KSMCHPTR           KSMCHIDX   KSMCHDUR KSMCHCOM           KSMCHSIZ KSMCHCLS   KSMCHTYP KSMCHPAR
--- ---------------- ---------- ---------- ---------------- ---------- -------- ---------- ----------------
SGA 000000007CD73A08          1          1 KGLHD                   592 recr             80 00
--//0x7cd73a38 0x000000007CD73A08 正好相差0x30.后面的不再执行fcha,不然写的太长..

SYS@book> @ tix
New tracefile_identifier =  /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_40996_0003.trc

oradebug peek 0x7CD73A08 592 1
oradebug peek 0x7cd794b8 592 1
oradebug peek 0x7e0ea798 592 1
oradebug peek 0x7c6c5a18 592 1

SYS@book> oradebug peek 0x8049bd10 40
[08049BD10, 08049BD38) = 7CD73A38 00000000 7C6C5A48 00000000 00000000 00000000 000000E8 00000000 00015886 00000000

SYS@book> oradebug peek 0x7CD73A08 592 1
[07CD73A08, 07CD73C58) = 00000251 80B38F00 7CD73918 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00080050 7CD794E8 00000000 ...

SYS@book> oradebug peek 0x7cd794b8 592 1
[07CD794B8, 07CD79708) = 00000251 80B38F00 7CD793C8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00080050 7E0EA7C8 00000000 ...

SYS@book> oradebug peek 0x7e0ea798 592 1
[07E0EA798, 07E0EA9E8) = 00000251 80B38F00 7E0EA6A8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00080050 7C6C5A48 00000000 ...

SYS@book> oradebug peek 0x7c6c5a18 592 1
[07C6C5A18, 07C6C5C68) = 00000251 80B38F00 7C6C57F8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00080050 8049BD10 00000000 ...

--//注意看倒数的8位,7CD794E8 7E0EA7C8 7C6C5A48 8049BD10
--//这不正好与前面看到LibraryHandle的地址对应上吗,最后一个8049BD10对应该bucket的地址。

$ egrep "^  LibraryHandle" bucket88198.txt
  LibraryHandle:  Address=0x7cd73a38 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
  LibraryHandle:  Address=0x7cd794e8 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
  LibraryHandle:  Address=0x7e0ea7c8 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
  LibraryHandle:  Address=0x7c6c5a48 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
--//这样正好形成一个链表。

5.清除一个光标从共享池看看,注意不能使用dbms_shared_pool.purge.这样仅仅清除子光标。
--//按照vage以前的介绍,必须退出会话,再打开新的会话,执行语句,再刷新共享池。

--//修改aa1.txt脚本,注解第一条sql语句。
$ cat aa1.txt
--select sysdate from dula --QVJzuaXTQDRWAMQsUKRahCOmcllpAYLn;
--@ hash
select sysdate from dula --hBaTOrXVlpVzFMMfuJFHWWksdoGuzZdc;
@ hash
select sysdate from dual --heqVJLdwOOvUbNnwDpaMwowplkAymAhs;
@ hash
select sysdate from dual --SYWAvXlLqpLVnKmYQGOJxklMrToCdoUD;
@ hash

--//退出会话在登录,执行aa1.txt 脚本多次:
SCOTT@book> @ aa1.txt
SYSDATE
-------------------
2021-05-24 09:45:19

HASH_VALUE SQL_ID        CHILD_NUMBER HASH_HEX
---------- ------------- ------------ ---------
3626064006 60uv02bc22q46            0  d8215886

SYSDATE
-------------------
2021-05-24 09:45:19

HASH_VALUE SQL_ID        CHILD_NUMBER HASH_HEX
---------- ------------- ------------ ---------
3626064006 6x190tvc22q46            0  d8215886

SYSDATE
-------------------
2021-05-24 09:45:19

HASH_VALUE SQL_ID        CHILD_NUMBER HASH_HEX
---------- ------------- ------------ ---------
3626064006 dv7qhdrc22q46            0  d8215886

SYS@book> oradebug peek 0x8049bd10 40
[08049BD10, 08049BD38) = 7CD73A38 00000000 7C6C5A48 00000000 00000000 00000000 000000F2 00000000 00015886 00000000
--//现在还是与前面一样。

SYS@book> alter system flush shared_pool;
System altered.

SYS@book> alter system flush shared_pool;
System altered.

SYS@book> @ sharepool/shp4 d2kujxvc22q46 0
no rows selected
--//开始执行的第一条语句已经不在共享池。

oradebug peek 0x7CD73A08 592 1
oradebug peek 0x7cd794b8 592 1
oradebug peek 0x7e0ea798 592 1

SYS@book> oradebug peek 0x8049bd10 40
[08049BD10, 08049BD38) = 7CD73A38 00000000 7E0EA7C8 00000000 00000000 00000000 000000F7 00000000 00015886 00000000

--//注意看bucket地址的后8为变成了7E0EA7C8.
--//看看现在的链接情况:

SYS@book> oradebug peek 0x7CD73A08 592 1
[07CD73A08, 07CD73C58) = 00000251 80B38F00 7CD73918 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00080050 7CD794E8 00000000 ...
--//0x7CD794E8-0x30 = 2094503096 ,2094503096 = 0x7cd794b8

SYS@book> oradebug peek 0x7CD794B8 592 1
[07CD794B8, 07CD79708) = 00000251 80B38F00 7CD793C8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00080050 7E0EA7C8 00000000 ...
--//0x7E0EA7C8-0x30 = 2114889624,2114889624 = 0x7e0ea798

SYS@book> oradebug peek 0x7e0ea798 592 1
[07E0EA798, 07E0EA9E8) = 00000251 80B38F00 7E0EA6A8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00080050 8049BD10 00000000 ...

--//7CD794E8,7E0EA7C8,8049BD10.
--//你可以发现最后的peek,现在记录的是8049BD10.正好是bucket的地址。而不是原来执行第一条语句的父游标句柄。
--//另外你还可以发现父游标句柄中的许多信息,实际上就是一些指来指去的指针。
--//比如:

SYS@book> @ fcha 7E0EA6A8
LOC KSMCHPTR           KSMCHIDX   KSMCHDUR KSMCHCOM           KSMCHSIZ KSMCHCLS   KSMCHTYP KSMCHPAR
--- ---------------- ---------- ---------- ---------------- ---------- -------- ---------- ----------------
SGA 000000007E0EA6A8          1          1 KGLDA                   240 freeabl           0 00

--//就是父游标堆0 的描述符地址。

SYS@book> @ sharepool/shp4 60uv02bc22q46 0
TEXT                  KGLHDADR         KGLHDPAR         C40                                        KGLHDLMD   KGLHDPMD   KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLOBT09
--------------------- ---------------- ---------------- ---------------------------------------- ---------- ---------- ---------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ----------
child handle address  000000007E0EA348 000000007E0EA7C8 select sysdate from dula --hBaTOrXVlpVzF          1          0          1 000000007E0EA290 000000007CD7DF68       4528       8088       3092     15708      15708 3626064006 60uv02bc22q46          0
parent handle address 000000007E0EA7C8 000000007E0EA7C8 select sysdate from dula --hBaTOrXVlpVzF          1          0          1 000000007E0EA710 00                     4752          0          0      4752       4752 3626064006 60uv02bc22q46      65535

SYS@book> @ fcha 000000007E0EA710
LOC KSMCHPTR           KSMCHIDX   KSMCHDUR KSMCHCOM           KSMCHSIZ KSMCHCLS   KSMCHTYP KSMCHPAR
--- ---------------- ---------- ---------- ---------------- ---------- -------- ---------- ----------------
SGA 000000007E0EA6A8          1          1 KGLDA                   240 freeabl           0 00

--//指向的就是父游标堆0 的描述符地址。

总结:
--//也许使用术语不是很专业,希望我能把问题讲清楚。实际上更好的理解bucket以及其链上的库对象如何链接在一起的。
--//附上library cache bucket=88198的转储内容。

$ cat bucket88198.txt
Bucket: #=88198 Mutex=0x8049bd20(0, 232, 0, 6)
  LibraryHandle:  Address=0x7cd73a38 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
    ObjectName:  Name=select sysdate from dual --SYWAvXlLqpLVnKmYQGOJxklMrToCdoUD
      FullHashValue=30a9e285c3da0f8cdd9ed06dd8215886 Namespace=SQL AREA(00) Type=CURSOR(00) Identifier=3626064006 OwnerIdn=83
    Statistics:  InvalidationCount=0 ExecutionCount=3 LoadCount=2 ActiveLocks=1 TotalLockCount=3 TotalPinCount=1
    Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=1 Version=0 BucketInUse=2 HandleInUse=2 HandleReferenceCount=0
    Concurrency:  DependencyMutex=0x7cd73ae8(0, 2, 0, 0) Mutex=0x7cd73b78(44, 32, 0, 6)
    Flags=RON/PIN/TIM/PN0/DBN/[10012841]
    WaitersLists:
      Lock=0x7cd73ac8[0x7cd73ac8,0x7cd73ac8]
      Pin=0x7cd73aa8[0x7cd73aa8,0x7cd73aa8]
      LoadLock=0x7cd73b20[0x7cd73b20,0x7cd73b20]
    Timestamp:  Current=05-24-2021 09:06:00
    HandleReference:  Address=0x7cd73c20 Handle=(nil) Flags=[00]
    ReferenceList:
      Reference:  Address=0x7cd70568 Handle=0x7cd712c8 Flags=ROD[21]
    LibraryObject:  Address=0x7cd729c8 HeapMask=0000-0001-0001-0000 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
      DataBlocks:
        Block:  #='0' name=KGLH0^d8215886 pins=0 Change=NONE
          Heap=0x7cd73980 Pointer=0x7cd72a68 Extent=0x7cd72948 Flags=I/-/P/A/-/-
          FreedLocation=0 Alloc=2.437500 Size=3.976562 LoadTime=13161977630
      ChildTable:  size='16'
        Child:  id='0' Table=0x7cd73878 Reference=0x7cd732b8 Handle=0x7cd725b8
    NamespaceDump:
      Parent Cursor:  sql_id=dv7qhdrc22q46 parent=0x7cd72a68 maxchild=1 plk=y ppn=n
  LibraryHandle:  Address=0x7cd794e8 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
    ObjectName:  Name=select sysdate from dual --heqVJLdwOOvUbNnwDpaMwowplkAymAhs
      FullHashValue=eaf02348529f58b96e8520ced8215886 Namespace=SQL AREA(00) Type=CURSOR(00) Identifier=3626064006 OwnerIdn=83
    Statistics:  InvalidationCount=0 ExecutionCount=3 LoadCount=2 ActiveLocks=1 TotalLockCount=3 TotalPinCount=1
    Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=1 Version=0 BucketInUse=2 HandleInUse=2 HandleReferenceCount=0
    Concurrency:  DependencyMutex=0x7cd79598(0, 2, 0, 0) Mutex=0x7cd79628(44, 32, 0, 6)
    Flags=RON/PIN/TIM/PN0/DBN/[10012841]
    WaitersLists:
      Lock=0x7cd79578[0x7cd79578,0x7cd79578]
      Pin=0x7cd79558[0x7cd79558,0x7cd79558]
      LoadLock=0x7cd795d0[0x7cd795d0,0x7cd795d0]
    Timestamp:  Current=05-24-2021 09:06:00
    HandleReference:  Address=0x7cd796d0 Handle=(nil) Flags=[00]
    ReferenceList:
      Reference:  Address=0x7cd76018 Handle=0x7cd76d78 Flags=ROD[21]
    LibraryObject:  Address=0x7cd78478 HeapMask=0000-0001-0001-0000 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
      DataBlocks:
        Block:  #='0' name=KGLH0^d8215886 pins=0 Change=NONE
          Heap=0x7cd79430 Pointer=0x7cd78518 Extent=0x7cd783f8 Flags=I/-/P/A/-/-
          FreedLocation=0 Alloc=2.437500 Size=3.976562 LoadTime=13161977620
      ChildTable:  size='16'
        Child:  id='0' Table=0x7cd79328 Reference=0x7cd78d68 Handle=0x7cd78068
    NamespaceDump:
      Parent Cursor:  sql_id=6x190tvc22q46 parent=0x7cd78518 maxchild=1 plk=y ppn=n
  LibraryHandle:  Address=0x7e0ea7c8 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
    ObjectName:  Name=select sysdate from dula --hBaTOrXVlpVzFMMfuJFHWWksdoGuzZdc
      FullHashValue=9141529d058377de606b6012d8215886 Namespace=SQL AREA(00) Type=CURSOR(00) Identifier=3626064006 OwnerIdn=83
    Statistics:  InvalidationCount=0 ExecutionCount=3 LoadCount=2 ActiveLocks=1 TotalLockCount=3 TotalPinCount=1
    Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=1 Version=0 BucketInUse=2 HandleInUse=2 HandleReferenceCount=0
    Concurrency:  DependencyMutex=0x7e0ea878(0, 2, 0, 0) Mutex=0x7e0ea908(44, 32, 0, 6)
    Flags=RON/PIN/TIM/PN0/DBN/[10012841]
    WaitersLists:
      Lock=0x7e0ea858[0x7e0ea858,0x7e0ea858]
      Pin=0x7e0ea838[0x7e0ea838,0x7e0ea838]
      LoadLock=0x7e0ea8b0[0x7e0ea8b0,0x7e0ea8b0]
    Timestamp:  Current=05-24-2021 09:06:00
    HandleReference:  Address=0x7e0ea9b0 Handle=(nil) Flags=[00]
    ReferenceList:
      Reference:  Address=0x7cd7bac8 Handle=0x7e0ea058 Flags=ROD[21]
    LibraryObject:  Address=0x7cd7d8a8 HeapMask=0000-0001-0001-0000 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
      DataBlocks:
        Block:  #='0' name=KGLH0^d8215886 pins=0 Change=NONE
          Heap=0x7e0ea710 Pointer=0x7cd7d948 Extent=0x7cd7d828 Flags=I/-/P/A/-/-
          FreedLocation=0 Alloc=2.437500 Size=3.976562 LoadTime=13161977620
      ChildTable:  size='16'
        Child:  id='0' Table=0x7cd7e758 Reference=0x7cd7e198 Handle=0x7e0ea348
    NamespaceDump:
      Parent Cursor:  sql_id=60uv02bc22q46 parent=0x7cd7d948 maxchild=1 plk=y ppn=n
  LibraryHandle:  Address=0x7c6c5a48 Hash=d8215886 LockMode=N PinMode=0 LoadLockMode=0 Status=VALD
    ObjectName:  Name=select sysdate from dula --QVJzuaXTQDRWAMQsUKRahCOmcllpAYLn
      FullHashValue=0c44a07f8e4676b5d14b51eed8215886 Namespace=SQL AREA(00) Type=CURSOR(00) Identifier=3626064006 OwnerIdn=83
    Statistics:  InvalidationCount=0 ExecutionCount=3 LoadCount=2 ActiveLocks=1 TotalLockCount=3 TotalPinCount=1
    Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=1 Version=0 BucketInUse=2 HandleInUse=2 HandleReferenceCount=0
    Concurrency:  DependencyMutex=0x7c6c5af8(0, 2, 0, 0) Mutex=0x7c6c5b88(44, 32, 0, 6)
    Flags=RON/PIN/TIM/PN0/DBN/[10012841]
    WaitersLists:
      Lock=0x7c6c5ad8[0x7c6c5ad8,0x7c6c5ad8]
      Pin=0x7c6c5ab8[0x7c6c5ab8,0x7c6c5ab8]
      LoadLock=0x7c6c5b30[0x7c6c5b30,0x7c6c5b30]
    Timestamp:  Current=05-24-2021 09:06:00
    HandleReference:  Address=0x7c6c5c30 Handle=(nil) Flags=[00]
    ReferenceList:
      Reference:  Address=0x7d1ce848 Handle=0x7c591030 Flags=ROD[21]
    LibraryObject:  Address=0x7d1d0538 HeapMask=0000-0001-0001-0000 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
      DataBlocks:
        Block:  #='0' name=KGLH0^d8215886 pins=0 Change=NONE
          Heap=0x7c361200 Pointer=0x7d1d05d8 Extent=0x7d1d04b8 Flags=I/-/P/A/-/-
          FreedLocation=0 Alloc=2.437500 Size=3.976562 LoadTime=13161977570
      ChildTable:  size='16'
        Child:  id='0' Table=0x7d1d13e8 Reference=0x7d1d0e28 Handle=0x7c591320
    NamespaceDump:
      Parent Cursor:  sql_id=d2kujxvc22q46 parent=0x7d1d05d8 maxchild=1 plk=y ppn=n

[20210524]分析library cache转储 4.txt
上一篇:Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论


下一篇:.NET Debugging Demos Lab 6: Memory Leak