[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