大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说[20220303]oracle如何定位使用library cache mutex 3.txt[通俗易懂],希望您对编程的造诣更进一步.
[20220303]oracle如何定位使用library cache mutex 3.txt
–//这个问题实际上困扰我很久,我开始以为library cache bucket在1个chunk内,只要知道 基地址+40*buckect值 获得偏移,定位
–//library cache bucket 的地址。
–//注:11g 下每个library cache bucket占用16字节,后面跟着mutex,mutex结构占用24字节(注:有朋友讲占用16字节,我想与转储看
–//到mutex仅仅有4个值有关,4*4=16,我个人还是按照24字节来算),这样整个结构占用40字节。
–//可以参考我前面的测试 [20210524]分析library cache转储 3.txt
–//而实际上的情况被分成好几个chunk,显然无法简单的通过 基地址+40*buckect值 计算获得偏移,那么oracle计算sql语句的
–//hash_value,通过hash_value值计算出bucket值, 等于hash_value % (2^_kgl_bucket_count * 256) ,知道bucket数值,
–//如何通过bucket数值来定位library cache muext的地址呢?自己尝试做这方面的探究。
–//测试_kghdsidx_count <> 1 的情况。
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
SYS@book> alter system set “_kghdsidx_count”=3 scope=spfile;
System altered.
SYS@book> @ hide _kgl_bucket_count
NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD
—————– —————————————————————— ————- ————- ———— —– ———
_kgl_bucket_count Library cache hash table bucket count (2^_kgl_bucket_count * 256) TRUE 9 9 FALSE FALSE
–//缺省2^9*256 = 131072.
–//重启数据库略.
SYS@book> @ hide _kghdsidx_count
NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD
————— —————— ————- ————- ———— —– ———
_kghdsidx_count max kghdsidx count FALSE 3 3 FALSE FALSE
–//首先说明一下11g使用library cache mutex代替10g library cache latch,定位library cache mutex就很容易定位library cache
–//latch地址,仅仅偏移16字节。而且muext结构体里面记录了library cache latch值。
–//参考:http://blog.itpub.net/267265/viewspace-2792123/ =>[20210915]探究mutex的值 6.txt
2.建立测试环境:
create table t as select rownum id ,”test” pad from dual connect by level<=1e6;
alter table t add constraint pk_t primary key (id);
exec dbms_stats.gather_table_stats(user, “t”, method_opt=>”for all columns size 1″);
alter system flush shared_pool;
$ cat tt1.txt
declare
v_pad varchar2(10);
begin
for i in 1 .. 1e5 loop
execute immediate “select pad from t where id = ” || i into v_pad;
end loop;
end;
/
@ tt1.txt
3.转储library_cache:
–//有了前面的探究,这次就简单许多。
SYS@book> oradebug setmypid
Statement processed.
SYS@book> oradebug dump library_cache 8
Statement processed.
SYS@book> @ ttt
tracefile_identifier = /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_18540.trc
$ grep “Bucket:” /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_18540.trc | sed “s/^Bucket: #=//;s/Mutex=//;s/(.*)//” >| d1.txt
–//将Bucket以及mutex地址写入文件d1.txt
$ awk “NR==1{a=$1;b=strtonum($2) } NR>1{ print (strtonum($2)-b)/($1-a);a=$1;b=strtonum($2)}” d1.txt | sort | uniq -c | sort -nr
2549 40
5 304257
4 -98694
4 -77020.7
4 -229966
4 223133
4 -116978
3 -80194.5
3 -67183.1
3 -59961.5
3 -51754.9
3 -48567.5
3 -405852
3 -32871.3
3 323884
3 303913
3 -287467
3 -275967
3 -265351
3 264229
3 -26289.1
3 -24643.5
3 239068
3 -191631
3 -175487
3 147675
3 127118
3 -126593
3 -125418
3 112840
3 -108908
2 -95795.7
2 -93205.5
2 -90751.7
2 -90231.1
2 -87759
2 -87723.6
2 -85351.6
2 84402.8
2 82328.3
2 -78947.2
2 -74961.8
2 -74788.7
2 -73436.5
2 -73366
2 -65782.7
2 -61910.7
2 607786
2 -59444.2
2 -58436
2 -50110.6
2 -47116.5
2 456366
2 -44459.8
2 -43841.8
2 -42086.5
2 418339
2 -41532.2
2 -40992.3
2 -39953.5
2 -36698.2
2 -34679.6
2 -33571.6
2 -32199.7
2 -31874
2 -313604
2 -30634.6
2 -30339.7
2 -30050.4
2 -29766.5
2 -29487.9
2 -28946.1
2 -287186
2 286874
2 -27920.1
2 -26510.3
2 -263251
2 257455
2 -255522
2 -242998
2 -23715.5
2 -23363.6
2 228203
2 213639
2 -205739
2 -197428
2 196887
2 193101
2 -186451
2 -18118
2 -168257
2 164852
2 -164583
2 -164250
2 159392
2 -153297
2 -149964
2 145535
2 -143573
2 141437
2 -132656
2 132134
2 123980
2 119554
2 -113078
2 -105276
2 -102948
2 102481
2 -101879
1 -99962.4
1 -99731.6
1 98463.3
1 -98242.5
1 97279.4
1 -97145.5
1 96570.5
1 -95702.1
1 95651.2
1 -95393.7
1 93539.4
1 -92886.1
1 908942
1 90483
1 -89572.6
1 -88423.7
1 88102.9
1 -87303.9
1 -862481
1 -82271.6
1 81753.7
1 -81255.4
1 80353.4
1 79716
1 -77490
1 -766645
1 -76628.5
1 -75786
1 -75648.8
1 -75185.9
1 74959.2
1 74404.3
1 73318.7
1 73152.3
1 -73125.9
1 72606.7
1 -72321.8
1 -71836.8
1 -71766.5
1 -71535.3
1 71239.8
1 -71095.8
1 70738.4
1 -70369.9
1 -70170.8
1 -69275
1 69004.1
1 -68961.7
1 -68644.5
1 -67845.9
1 -67608.7
1 67417
1 66967.8
1 -66951.9
1 66189.2
1 66087.2
1 -658453
1 -65809.3
1 -65675.9
1 65229.5
1 -64439.3
1 -63891.3
1 -63264.3
1 -63149.8
1 -631065
1 -62688.8
1 -62082
1 62010.2
1 -61568.6
1 61196.8
1 -61023.4
1 -60719.4
1 590580
1 58972.9
1 -58469
1 -580047
1 -574974
1 -56726.6
1 -56379.4
1 -56241.4
1 557772
1 -55161.3
1 -54433.9
1 54061.9
1 540259
1 -53867.6
1 53439.9
1 -51841
1 51763.1
1 51218.6
1 511826
1 51000.3
1 -50919.5
1 501999
1 49738.9
1 -49327
1 -492829
1 -49246.9
1 -48552.7
1 478096
1 -470312
1 -46582.8
1 4614464
1 -46008.4
1 -45961.1
1 -458416
1 -45749.7
1 -45095.5
1 44658.6
1 442037
1 -44154.1
1 44071.5
1 436526
1 -43086.1
1 -42655.8
1 42318
1 -41902.2
1 41595.3
1 -41374.6
1 -41115.8
1 -40789.4
1 405204
1 -40466.3
1 -40311.9
1 401607
1 -39389.5
1 -38966
1 -38725
1 -38490.3
1 -38082.5
1 38024.1
1 -376440
1 374038
1 -36276.7
1 -35863.3
1 358582
1 -35527.9
1 35514.1
1 347323
1 346218
1 -344968
1 -33951
1 -33933
1 -329206
1 -32532
1 -31758
1 31609.7
1 -315909
1 313715
1 -31242.1
1 -30935.4
1 -30764.3
1 -30357.2
1 277867
1 -27674.8
1 -27433.8
1 2.72675e+06
1 270149
1 -26964.2
1 26535.7
1 262849
1 -25421.9
1 251019
1 2509834
1 -246395
1 244898
1 -23732.3
1 -23022
1 226178
1 -225638
1 -22527.8
1 -22147
1 -219458
1 218283
1 -21749.6
1 -215590
1 -21307.9
1 -212377
1 -21023.3
1 -20883.8
1 -2.03026e+06
1 -202906
1 202622
1 2.00788e+06
1 -197108
1 -19706.8
1 -19463
1 -193634
1 -19225.2
1 -18993.1
1 189458
1 -18879.1
1 185951
1 -182875
1 176166
1 -17512.7
1 -17415.7
1 -16765.8
1 167360
1 -166249
1 -16330.4
1 161962
1 -16079.8
1 -160568
1 159449
1 154388
1 -15297.3
1 152149
1 -15149.8
1 -15005.2
1 -149617
1 -14519.9
1 145173
1 143457
1 1434208
1 -143111
1 143039
1 1.3951e+06
1 -13940
1 -13817.4
1 137563
1 136997
1 135705
1 -135257
1 -134346
1 -13404.6
1 133896
1 133245
1 -1.32202e+06
1 -131605
1 131445
1 130419
1 -130152
1 128747
1 -123177
1 -121479
1 -118928
1 118148
1 -117548
1 115433
1 114122
1 -113493
1 -11203.7
1 111809
1 -111569
1 1115504
1 -111253
1 109298
1 1.09072e+06
1 -107775
1 106840
1 105716
1 -104508
1 -10421.9
1 103537
1 102397
1 1.01888e+06
1 100287
–//可以发现40出现次数最多,说明一个chunk内每个mutex地址的间隔是40个字节,参考[20210524]分析library cache转储 3.txt 的测试。
–//出现1个很奇怪的现象,一种感觉怎么会使用这么多的chunk,这个好像有点问题。
$ awk “NR==1{a=$1;b=strtonum($2) } NR>1{ print (strtonum($2)-b)/($1-a);a=$1;b=strtonum($2)}” d1.txt | sort | uniq -c | sort -nr|wc
367 734 5928
–//为什么?我很久以前做探究时就遇到这个情况,当时想”_kghdsidx_count”=1的情况我都不清楚,这个问题就暂时先放一放。
–//现在有了前面的探究,感觉难度不是太大,自己再次尝试看看。
–//查询地址跳跃的情况,也就是间隔不是40的情况。
$ awk “NR==1{a=$1;b=strtonum($2);c=$2 } NR>1{ print a,c,$1,$2,(strtonum($2)-b)/($1-a);a=$1;b=strtonum($2);c=$2}” d1.txt | grep -v “40$” | head
229 0x8678c5e0 310 0x86145828 -81255.4
447 0x86146d90 543 0x85e446d0 -32871.3
664 0x85e459b8 783 0x8678cc70 81753.7
990 0x8678ecc8 1107 0x861484b0 -56241.4
1223 0x861496d0 1389 0x85e47b00 -18993.1
1514 0x85e48e88 1648 0x86790398 72606.7
1695 0x86790af0 1855 0x8614a990 -41115.8
2019 0x8614c330 2126 0x85e49e28 -29487.9
2286 0x85e4b728 2308 0x86791ab8 442037
2552 0x867940d8 2601 0x8614ce20 -134346
–//注:太长我使用head显示前10行。
–//取出第2个字段,通过awk保存aa4.txt:
$ awk “NR==1{a=$1;b=strtonum($2);c=$2 } NR>1{ print a,c,$1,$2,(strtonum($2)-b)/($1-a);a=$1;b=strtonum($2);c=$2}” d1.txt | grep -v “40$” | awk “{print “@fchaz ” $2}” > aa4.txt
$ head -3 aa4.txt
@fchaz 0x8678c5e0
@fchaz 0x86146d90
@fchaz 0x85e459b8
–//注:fcha.sql脚本前面有prompt,pause命令,我不可能每次都按1次回车太浪费时间,我建立一个新的fchaz.sql脚本,删除这部分
–//内容,我自己还做了一点小改动,增加结束地址显示。
–//先不执行如上aa4.txt脚本,先确定bucket 0的地址看看。
$ head -1 d1.txt
16 0x8678a498
–//跟踪文件对应记录内容如下:
–//Bucket: #=16 Mutex=0x8678a498(0, 6, 0, 6)
–//16*40 = 640,该bucket的地址 0x8678a498 – 16 = 0x8678a488。
SYS@book> @ tpt/calc 0x8678a488 – 640
DEC HEX
———————————– ——————–
2256052744.000000 8678A208
–//bucket 0 的地址 0x8678A208
SYS@book> @ fcha 0x8678A208
Find in which heap (UGA, PGA or Shared Pool) the memory address 0x8678A208 resides…
Press ENTER to continue, CTRL+C to cancel…
LOC KSMCHPTR KSMCHIDX KSMCHDUR KSMCHCOM KSMCHSIZ KSMCHCLS KSMCHTYP KSMCHPAR
— —————- ———- ———- —————- ———- ——– ———- —————-
SGA 0000000086434000 2 1 permanent memor 3979784 perm 0 00
–//如果你注意前面的测试,可以发现KSMCHIDX=2,前面的测试是KSMCHIDX=1。
SYS@book> @ tpt/calc x0000000086034000 + 3979784
DEC HEX
———————————– ——————–
2252339720.000000 863FFA08
–//第一个chunk的范围是 0x86034000 – 0x863FFA08
SELECT rownum
, x$ksmmem.*
FROM X$KSMMEM
WHERE addr between hextoraw(“0000000086034000”) and hextoraw(“00000000863FFA08”)
AND ksmmmval = hextoraw(“000000008678A208”);
no rows selected
–//恩,没有输出。难道该表不在这个chunk中吗?
–//执行如下:
spool /tmp/fchaz.txt
@aa4.txt
spool off
$ sort /tmp/fchaz.txt | uniq -c
505
505 — —————- ———- ———- —————- ———- ——– ———- —————- —————–
505 LOC KSMCHPTR KSMCHIDX KSMCHDUR KSMCHCOM KSMCHSIZ KSMCHCLS KSMCHTYP KSMCHPAR KSMCHPTR_END
114 SGA 0000000085834000 2 1 permanent memor 3968008 perm 0 00 0000000085BFCC07
170 SGA 0000000085C34000 1 1 permanent memor 3937272 perm 0 00 0000000085FF53F7
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
169 SGA 0000000086034000 3 1 permanent memor 3979488 perm 0 00 00000000863FF8DF
47 SGA 0000000086434000 2 1 permanent memor 3979784 perm 0 00 00000000867FFA07
1 SGA 00000000877FCDF0 2 1 permanent memor 10272 perm 0 00 00000000877FF60F
4 SGA 00000000897F1800 2 1 permanent memor 51232 perm 0 00 00000000897FE01F
1 SYS@book> @ aa4.txt
1 SYS@book> spool off
–//从输出结果执行sort,uniq后发现看上去感觉chunk使用很多,自己上就是在6个chunk上跳来跳去。
–//根据前面测试最大可能在KSMCHIDX=1的chunk,也就是下划线的内容指向的chunk可能性最大,当然仅仅是我的猜测。
SELECT rownum
, x$ksmmem.*
FROM X$KSMMEM
WHERE addr between hextoraw(“0000000085C34000”) and hextoraw(“0000000085FF53F7”)
AND ksmmmval = hextoraw(“000000008678A208”);
ROWNUM ADDR INDX INST_ID KSMMMVAL
———- —————- ———- ———- —————-
1 0000000085E431E8 79463997 1 000000008678A208
–//先尝试推断该数组的开始地址是x85E431E8
–//2^9 = 512, 512*8 = 4096
SYS@book> @ tpt/calc x85E431E8 + 4096
DEC HEX
———————————– ——————–
2246328808.000000 85E441E8
–//查询hextoraw(“0000000085E431E8”) and hextoraw(“0000000085E441E0”)范围的信息:
SELECT rownum-1 rn
, x$ksmmem.*
FROM X$KSMMEM
WHERE addr between hextoraw(“0000000085E431E8”) and hextoraw(“0000000085E441E0”);
RN ADDR INDX INST_ID KSMMMVAL
—- —————- ——– ——- —————-
0 0000000085E431E8 79463997 1 000000008678A208
1 0000000085E431F0 79463998 1 0000000086144FA8
2 0000000085E431F8 79463999 1 0000000085E441E8
3 0000000085E43200 79464000 1 000000008678CA08
4 0000000085E43208 79464001 1 00000000861477A8
5 0000000085E43210 79464002 1 0000000085E469E8
6 0000000085E43218 79464003 1 000000008678F208
7 0000000085E43220 79464004 1 0000000086149FA8
8 0000000085E43228 79464005 1 0000000085E491E8
9 0000000085E43230 79464006 1 0000000086791A08
10 0000000085E43238 79464007 1 000000008614C7A8
11 0000000085E43240 79464008 1 0000000085E4B9E8
12 0000000085E43248 79464009 1 0000000086794208
13 0000000085E43250 79464010 1 000000008614EFA8
14 0000000085E43258 79464011 1 0000000085E4E1E8
15 0000000085E43260 79464012 1 0000000086796A08
16 0000000085E43268 79464013 1 00000000861517A8
17 0000000085E43270 79464014 1 0000000085E509E8
18 0000000085E43278 79464015 1 0000000086799208
19 0000000085E43280 79464016 1 0000000086153FA8
20 0000000085E43288 79464017 1 0000000085E531E8
21 0000000085E43290 79464018 1 000000008679BA08
22 0000000085E43298 79464019 1 00000000861567A8
23 0000000085E432A0 79464020 1 0000000085E559E8
24 0000000085E432A8 79464021 1 000000008679E208
25 0000000085E432B0 79464022 1 0000000086158FA8
26 0000000085E432B8 79464023 1 0000000085E581E8
27 0000000085E432C0 79464024 1 00000000867A0A08
28 0000000085E432C8 79464025 1 000000008615B7A8
29 0000000085E432D0 79464026 1 0000000085E5A9E8
30 0000000085E432D8 79464027 1 00000000867A3208
31 0000000085E432E0 79464028 1 000000008615DFA8
32 0000000085E432E8 79464029 1 0000000085E5D1E8
33 0000000085E432F0 79464030 1 00000000867A5A08
34 0000000085E432F8 79464031 1 00000000861607A8
35 0000000085E43300 79464032 1 0000000085E5F9E8
36 0000000085E43308 79464033 1 00000000867A8208
37 0000000085E43310 79464034 1 0000000086162FA8
38 0000000085E43318 79464035 1 0000000085E621E8
39 0000000085E43320 79464036 1 00000000867AAA08
40 0000000085E43328 79464037 1 00000000861657A8
41 0000000085E43330 79464038 1 0000000085E649E8
42 0000000085E43338 79464039 1 00000000867AD208
43 0000000085E43340 79464040 1 0000000086167FA8
44 0000000085E43348 79464041 1 0000000085E671E8
45 0000000085E43350 79464042 1 00000000867AFA08
46 0000000085E43358 79464043 1 000000008616A7A8
47 0000000085E43360 79464044 1 0000000085E699E8
48 0000000085E43368 79464045 1 00000000867B2208
49 0000000085E43370 79464046 1 000000008616CFA8
50 0000000085E43378 79464047 1 0000000085E6C1E8
51 0000000085E43380 79464048 1 00000000867B4A08
52 0000000085E43388 79464049 1 000000008616F7A8
53 0000000085E43390 79464050 1 0000000085E6E9E8
54 0000000085E43398 79464051 1 00000000867B7208
55 0000000085E433A0 79464052 1 0000000086171FA8
56 0000000085E433A8 79464053 1 0000000085E711E8
57 0000000085E433B0 79464054 1 00000000867B9A08
58 0000000085E433B8 79464055 1 00000000861747A8
59 0000000085E433C0 79464056 1 0000000085E739E8
60 0000000085E433C8 79464057 1 00000000867BC208
61 0000000085E433D0 79464058 1 0000000086176FA8
62 0000000085E433D8 79464059 1 0000000085E761E8
63 0000000085E433E0 79464060 1 00000000867BEA08
64 0000000085E433E8 79464061 1 00000000861797A8
65 0000000085E433F0 79464062 1 0000000085E789E8
66 0000000085E433F8 79464063 1 00000000867C1208
67 0000000085E43400 79464064 1 000000008617BFA8
68 0000000085E43408 79464065 1 0000000085E7B1E8
69 0000000085E43410 79464066 1 00000000867C3A08
70 0000000085E43418 79464067 1 000000008617E7A8
71 0000000085E43420 79464068 1 0000000085E7D9E8
72 0000000085E43428 79464069 1 00000000867C6208
73 0000000085E43430 79464070 1 0000000086180FA8
74 0000000085E43438 79464071 1 0000000085E801E8
75 0000000085E43440 79464072 1 00000000867C8A08
76 0000000085E43448 79464073 1 00000000861837A8
77 0000000085E43450 79464074 1 0000000085E829E8
78 0000000085E43458 79464075 1 00000000867CB208
79 0000000085E43460 79464076 1 0000000086185FA8
80 0000000085E43468 79464077 1 0000000085E851E8
81 0000000085E43470 79464078 1 00000000867CDA08
82 0000000085E43478 79464079 1 00000000861887A8
83 0000000085E43480 79464080 1 0000000085E879E8
84 0000000085E43488 79464081 1 00000000867D0208
85 0000000085E43490 79464082 1 000000008618AFA8
86 0000000085E43498 79464083 1 0000000085E8A1E8
87 0000000085E434A0 79464084 1 00000000867D2A08
88 0000000085E434A8 79464085 1 000000008618D7A8
89 0000000085E434B0 79464086 1 0000000085E8C9E8
90 0000000085E434B8 79464087 1 00000000867D5208
91 0000000085E434C0 79464088 1 000000008618FFA8
92 0000000085E434C8 79464089 1 0000000085E8F1E8
93 0000000085E434D0 79464090 1 00000000867D7A08
94 0000000085E434D8 79464091 1 00000000861927A8
95 0000000085E434E0 79464092 1 0000000085E919E8
96 0000000085E434E8 79464093 1 00000000867DA208
97 0000000085E434F0 79464094 1 0000000086194FA8
98 0000000085E434F8 79464095 1 0000000085E941E8
99 0000000085E43500 79464096 1 00000000867DCA08
100 0000000085E43508 79464097 1 00000000861977A8
101 0000000085E43510 79464098 1 0000000085E969E8
102 0000000085E43518 79464099 1 00000000867DF208
103 0000000085E43520 79464100 1 0000000086199FA8
104 0000000085E43528 79464101 1 0000000085E991E8
105 0000000085E43530 79464102 1 00000000867E1A08
106 0000000085E43538 79464103 1 000000008619C7A8
107 0000000085E43540 79464104 1 0000000085E9B9E8
108 0000000085E43548 79464105 1 00000000867E4208
109 0000000085E43550 79464106 1 000000008619EFA8
110 0000000085E43558 79464107 1 0000000085E9E1E8
111 0000000085E43560 79464108 1 00000000867E6A08
112 0000000085E43568 79464109 1 00000000861A17A8
113 0000000085E43570 79464110 1 0000000085EA09E8
114 0000000085E43578 79464111 1 00000000867E9208
115 0000000085E43580 79464112 1 00000000861A3FA8
116 0000000085E43588 79464113 1 0000000085EA31E8
117 0000000085E43590 79464114 1 00000000867EBA08
118 0000000085E43598 79464115 1 00000000861A67A8
119 0000000085E435A0 79464116 1 0000000085EA59E8
120 0000000085E435A8 79464117 1 00000000867EE208
121 0000000085E435B0 79464118 1 00000000861A8FA8
122 0000000085E435B8 79464119 1 0000000085EA81E8
123 0000000085E435C0 79464120 1 00000000867F0A08
124 0000000085E435C8 79464121 1 00000000861AB7A8
125 0000000085E435D0 79464122 1 0000000085EAA9E8
126 0000000085E435D8 79464123 1 00000000867F3208
127 0000000085E435E0 79464124 1 00000000861ADFA8
128 0000000085E435E8 79464125 1 0000000085EAD1E8
129 0000000085E435F0 79464126 1 00000000867F5A08
130 0000000085E435F8 79464127 1 00000000861B07A8
131 0000000085E43600 79464128 1 0000000085EAF9E8
132 0000000085E43608 79464129 1 00000000867F8208
133 0000000085E43610 79464130 1 00000000861B2FA8
134 0000000085E43618 79464131 1 0000000085EB21E8
135 0000000085E43620 79464132 1 00000000867FAA08
136 0000000085E43628 79464133 1 00000000861B57A8
137 0000000085E43630 79464134 1 0000000085EB49E8
138 0000000085E43638 79464135 1 00000000867FD208
139 0000000085E43640 79464136 1 00000000861B7FA8
140 0000000085E43648 79464137 1 0000000085EB71E8
141 0000000085E43650 79464138 1 00000000877FCE10
142 0000000085E43658 79464139 1 00000000861BA7A8
143 0000000085E43660 79464140 1 0000000085EB99E8
144 0000000085E43668 79464141 1 00000000897F1820
145 0000000085E43670 79464142 1 00000000861BCFA8
146 0000000085E43678 79464143 1 0000000085EBC1E8
147 0000000085E43680 79464144 1 00000000897F4020
148 0000000085E43688 79464145 1 00000000861BF7A8
149 0000000085E43690 79464146 1 0000000085EBE9E8
150 0000000085E43698 79464147 1 00000000897F6820
151 0000000085E436A0 79464148 1 00000000861C1FA8
152 0000000085E436A8 79464149 1 0000000085EC11E8
153 0000000085E436B0 79464150 1 00000000897F9020
154 0000000085E436B8 79464151 1 00000000861C47A8
155 0000000085E436C0 79464152 1 0000000085EC39E8
156 0000000085E436C8 79464153 1 00000000897FB820
157 0000000085E436D0 79464154 1 00000000861C6FA8
158 0000000085E436D8 79464155 1 0000000085EC61E8
159 0000000085E436E0 79464156 1 0000000085834020
160 0000000085E436E8 79464157 1 00000000861C97A8
161 0000000085E436F0 79464158 1 0000000085EC89E8
162 0000000085E436F8 79464159 1 0000000085836820
163 0000000085E43700 79464160 1 00000000861CBFA8
164 0000000085E43708 79464161 1 0000000085ECB1E8
165 0000000085E43710 79464162 1 0000000085839020
166 0000000085E43718 79464163 1 00000000861CE7A8
167 0000000085E43720 79464164 1 0000000085ECD9E8
168 0000000085E43728 79464165 1 000000008583B820
169 0000000085E43730 79464166 1 00000000861D0FA8
170 0000000085E43738 79464167 1 0000000085ED01E8
171 0000000085E43740 79464168 1 000000008583E020
172 0000000085E43748 79464169 1 00000000861D37A8
173 0000000085E43750 79464170 1 0000000085ED29E8
174 0000000085E43758 79464171 1 0000000085840820
175 0000000085E43760 79464172 1 00000000861D5FA8
176 0000000085E43768 79464173 1 0000000085ED51E8
177 0000000085E43770 79464174 1 0000000085843020
178 0000000085E43778 79464175 1 00000000861D87A8
179 0000000085E43780 79464176 1 0000000085ED79E8
180 0000000085E43788 79464177 1 0000000085845820
181 0000000085E43790 79464178 1 00000000861DAFA8
182 0000000085E43798 79464179 1 0000000085EDA1E8
183 0000000085E437A0 79464180 1 0000000085848020
184 0000000085E437A8 79464181 1 00000000861DD7A8
185 0000000085E437B0 79464182 1 0000000085EDC9E8
186 0000000085E437B8 79464183 1 000000008584A820
187 0000000085E437C0 79464184 1 00000000861DFFA8
188 0000000085E437C8 79464185 1 0000000085EDF1E8
189 0000000085E437D0 79464186 1 000000008584D020
190 0000000085E437D8 79464187 1 00000000861E27A8
191 0000000085E437E0 79464188 1 0000000085EE19E8
192 0000000085E437E8 79464189 1 000000008584F820
193 0000000085E437F0 79464190 1 00000000861E4FA8
194 0000000085E437F8 79464191 1 0000000085EE41E8
195 0000000085E43800 79464192 1 0000000085852020
196 0000000085E43808 79464193 1 00000000861E77A8
197 0000000085E43810 79464194 1 0000000085EE69E8
198 0000000085E43818 79464195 1 0000000085854820
199 0000000085E43820 79464196 1 00000000861E9FA8
200 0000000085E43828 79464197 1 0000000085EE91E8
201 0000000085E43830 79464198 1 0000000085857020
202 0000000085E43838 79464199 1 00000000861EC7A8
203 0000000085E43840 79464200 1 0000000085EEB9E8
204 0000000085E43848 79464201 1 0000000085859820
205 0000000085E43850 79464202 1 00000000861EEFA8
206 0000000085E43858 79464203 1 0000000085EEE1E8
207 0000000085E43860 79464204 1 000000008585C020
208 0000000085E43868 79464205 1 00000000861F17A8
209 0000000085E43870 79464206 1 0000000085EF09E8
210 0000000085E43878 79464207 1 000000008585E820
211 0000000085E43880 79464208 1 00000000861F3FA8
212 0000000085E43888 79464209 1 0000000085EF31E8
213 0000000085E43890 79464210 1 0000000085861020
214 0000000085E43898 79464211 1 00000000861F67A8
215 0000000085E438A0 79464212 1 0000000085EF59E8
216 0000000085E438A8 79464213 1 0000000085863820
217 0000000085E438B0 79464214 1 00000000861F8FA8
218 0000000085E438B8 79464215 1 0000000085EF81E8
219 0000000085E438C0 79464216 1 0000000085866020
220 0000000085E438C8 79464217 1 00000000861FB7A8
221 0000000085E438D0 79464218 1 0000000085EFA9E8
222 0000000085E438D8 79464219 1 0000000085868820
223 0000000085E438E0 79464220 1 00000000861FDFA8
224 0000000085E438E8 79464221 1 0000000085EFD1E8
225 0000000085E438F0 79464222 1 000000008586B020
226 0000000085E438F8 79464223 1 00000000862007A8
227 0000000085E43900 79464224 1 0000000085EFF9E8
228 0000000085E43908 79464225 1 000000008586D820
229 0000000085E43910 79464226 1 0000000086202FA8
230 0000000085E43918 79464227 1 0000000085F021E8
231 0000000085E43920 79464228 1 0000000085870020
232 0000000085E43928 79464229 1 00000000862057A8
233 0000000085E43930 79464230 1 0000000085F049E8
234 0000000085E43938 79464231 1 0000000085872820
235 0000000085E43940 79464232 1 0000000086207FA8
236 0000000085E43948 79464233 1 0000000085F071E8
237 0000000085E43950 79464234 1 0000000085875020
238 0000000085E43958 79464235 1 000000008620A7A8
239 0000000085E43960 79464236 1 0000000085F099E8
240 0000000085E43968 79464237 1 0000000085877820
241 0000000085E43970 79464238 1 000000008620CFA8
242 0000000085E43978 79464239 1 0000000085F0C1E8
243 0000000085E43980 79464240 1 000000008587A020
244 0000000085E43988 79464241 1 000000008620F7A8
245 0000000085E43990 79464242 1 0000000085F0E9E8
246 0000000085E43998 79464243 1 000000008587C820
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
247 0000000085E439A0 79464244 1 0000000086211FA8
248 0000000085E439A8 79464245 1 0000000085F111E8
249 0000000085E439B0 79464246 1 000000008587F020
250 0000000085E439B8 79464247 1 00000000862147A8
251 0000000085E439C0 79464248 1 0000000085F139E8
252 0000000085E439C8 79464249 1 0000000085881820
253 0000000085E439D0 79464250 1 0000000086216FA8
254 0000000085E439D8 79464251 1 0000000085F161E8
255 0000000085E439E0 79464252 1 0000000085884020
256 0000000085E439E8 79464253 1 00000000862197A8
257 0000000085E439F0 79464254 1 0000000085F189E8
258 0000000085E439F8 79464255 1 0000000085886820
259 0000000085E43A00 79464256 1 000000008621BFA8
260 0000000085E43A08 79464257 1 0000000085F1B1E8
261 0000000085E43A10 79464258 1 0000000085889020
262 0000000085E43A18 79464259 1 000000008621E7A8
263 0000000085E43A20 79464260 1 0000000085F1D9E8
264 0000000085E43A28 79464261 1 000000008588B820
265 0000000085E43A30 79464262 1 0000000086220FA8
266 0000000085E43A38 79464263 1 0000000085F201E8
267 0000000085E43A40 79464264 1 000000008588E020
268 0000000085E43A48 79464265 1 00000000862237A8
269 0000000085E43A50 79464266 1 0000000085F229E8
270 0000000085E43A58 79464267 1 0000000085890820
271 0000000085E43A60 79464268 1 0000000086225FA8
272 0000000085E43A68 79464269 1 0000000085F251E8
273 0000000085E43A70 79464270 1 0000000085893020
274 0000000085E43A78 79464271 1 00000000862287A8
275 0000000085E43A80 79464272 1 0000000085F279E8
276 0000000085E43A88 79464273 1 0000000085895820
277 0000000085E43A90 79464274 1 000000008622AFA8
278 0000000085E43A98 79464275 1 0000000085F2A1E8
279 0000000085E43AA0 79464276 1 0000000085898020
280 0000000085E43AA8 79464277 1 000000008622D7A8
281 0000000085E43AB0 79464278 1 0000000085F2C9E8
282 0000000085E43AB8 79464279 1 000000008589A820
283 0000000085E43AC0 79464280 1 000000008622FFA8
284 0000000085E43AC8 79464281 1 0000000085F2F1E8
285 0000000085E43AD0 79464282 1 000000008589D020
286 0000000085E43AD8 79464283 1 00000000862327A8
287 0000000085E43AE0 79464284 1 0000000085F319E8
288 0000000085E43AE8 79464285 1 000000008589F820
289 0000000085E43AF0 79464286 1 0000000086234FA8
290 0000000085E43AF8 79464287 1 0000000085F341E8
291 0000000085E43B00 79464288 1 00000000858A2020
292 0000000085E43B08 79464289 1 00000000862377A8
293 0000000085E43B10 79464290 1 0000000085F369E8
294 0000000085E43B18 79464291 1 00000000858A4820
295 0000000085E43B20 79464292 1 0000000086239FA8
296 0000000085E43B28 79464293 1 0000000085F391E8
297 0000000085E43B30 79464294 1 00000000858A7020
298 0000000085E43B38 79464295 1 000000008623C7A8
299 0000000085E43B40 79464296 1 0000000085F3B9E8
300 0000000085E43B48 79464297 1 00000000858A9820
301 0000000085E43B50 79464298 1 000000008623EFA8
302 0000000085E43B58 79464299 1 0000000085F3E1E8
303 0000000085E43B60 79464300 1 00000000858AC020
304 0000000085E43B68 79464301 1 00000000862417A8
305 0000000085E43B70 79464302 1 0000000085F409E8
306 0000000085E43B78 79464303 1 00000000858AE820
307 0000000085E43B80 79464304 1 0000000086243FA8
308 0000000085E43B88 79464305 1 0000000085F431E8
309 0000000085E43B90 79464306 1 00000000858B1020
310 0000000085E43B98 79464307 1 00000000862467A8
311 0000000085E43BA0 79464308 1 0000000085F459E8
312 0000000085E43BA8 79464309 1 00000000858B3820
313 0000000085E43BB0 79464310 1 0000000086248FA8
314 0000000085E43BB8 79464311 1 0000000085F481E8
315 0000000085E43BC0 79464312 1 00000000858B6020
316 0000000085E43BC8 79464313 1 000000008624B7A8
317 0000000085E43BD0 79464314 1 0000000085F4A9E8
318 0000000085E43BD8 79464315 1 00000000858B8820
319 0000000085E43BE0 79464316 1 000000008624DFA8
320 0000000085E43BE8 79464317 1 0000000085F4D1E8
321 0000000085E43BF0 79464318 1 00000000858BB020
322 0000000085E43BF8 79464319 1 00000000862507A8
323 0000000085E43C00 79464320 1 0000000085F4F9E8
324 0000000085E43C08 79464321 1 00000000858BD820
325 0000000085E43C10 79464322 1 0000000086252FA8
326 0000000085E43C18 79464323 1 0000000085F521E8
327 0000000085E43C20 79464324 1 00000000858C0020
328 0000000085E43C28 79464325 1 00000000862557A8
329 0000000085E43C30 79464326 1 0000000085F549E8
330 0000000085E43C38 79464327 1 00000000858C2820
331 0000000085E43C40 79464328 1 0000000086257FA8
332 0000000085E43C48 79464329 1 0000000085F571E8
333 0000000085E43C50 79464330 1 00000000858C5020
334 0000000085E43C58 79464331 1 000000008625A7A8
335 0000000085E43C60 79464332 1 0000000085F599E8
336 0000000085E43C68 79464333 1 00000000858C7820
337 0000000085E43C70 79464334 1 000000008625CFA8
338 0000000085E43C78 79464335 1 0000000085F5C1E8
339 0000000085E43C80 79464336 1 00000000858CA020
340 0000000085E43C88 79464337 1 000000008625F7A8
341 0000000085E43C90 79464338 1 0000000085F5E9E8
342 0000000085E43C98 79464339 1 00000000858CC820
343 0000000085E43CA0 79464340 1 0000000086261FA8
344 0000000085E43CA8 79464341 1 0000000085F611E8
345 0000000085E43CB0 79464342 1 00000000858CF020
346 0000000085E43CB8 79464343 1 00000000862647A8
347 0000000085E43CC0 79464344 1 0000000085F639E8
348 0000000085E43CC8 79464345 1 00000000858D1820
349 0000000085E43CD0 79464346 1 0000000086266FA8
350 0000000085E43CD8 79464347 1 0000000085F661E8
351 0000000085E43CE0 79464348 1 00000000858D4020
352 0000000085E43CE8 79464349 1 00000000862697A8
353 0000000085E43CF0 79464350 1 0000000085F689E8
354 0000000085E43CF8 79464351 1 00000000858D6820
355 0000000085E43D00 79464352 1 000000008626BFA8
356 0000000085E43D08 79464353 1 0000000085F6B1E8
357 0000000085E43D10 79464354 1 00000000858D9020
358 0000000085E43D18 79464355 1 000000008626E7A8
359 0000000085E43D20 79464356 1 0000000085F6D9E8
360 0000000085E43D28 79464357 1 00000000858DB820
361 0000000085E43D30 79464358 1 0000000086270FA8
362 0000000085E43D38 79464359 1 0000000085F701E8
363 0000000085E43D40 79464360 1 00000000858DE020
364 0000000085E43D48 79464361 1 00000000862737A8
365 0000000085E43D50 79464362 1 0000000085F729E8
366 0000000085E43D58 79464363 1 00000000858E0820
367 0000000085E43D60 79464364 1 0000000086275FA8
368 0000000085E43D68 79464365 1 0000000085F751E8
369 0000000085E43D70 79464366 1 00000000858E3020
370 0000000085E43D78 79464367 1 00000000862787A8
371 0000000085E43D80 79464368 1 0000000085F779E8
372 0000000085E43D88 79464369 1 00000000858E5820
373 0000000085E43D90 79464370 1 000000008627AFA8
374 0000000085E43D98 79464371 1 0000000085F7A1E8
375 0000000085E43DA0 79464372 1 00000000858E8020
376 0000000085E43DA8 79464373 1 000000008627D7A8
377 0000000085E43DB0 79464374 1 0000000085F7C9E8
378 0000000085E43DB8 79464375 1 00000000858EA820
379 0000000085E43DC0 79464376 1 000000008627FFA8
380 0000000085E43DC8 79464377 1 0000000085F7F1E8
381 0000000085E43DD0 79464378 1 00000000858ED020
382 0000000085E43DD8 79464379 1 00000000862827A8
383 0000000085E43DE0 79464380 1 0000000085F819E8
384 0000000085E43DE8 79464381 1 00000000858EF820
385 0000000085E43DF0 79464382 1 0000000086284FA8
386 0000000085E43DF8 79464383 1 0000000085F841E8
387 0000000085E43E00 79464384 1 00000000858F2020
388 0000000085E43E08 79464385 1 00000000862877A8
389 0000000085E43E10 79464386 1 0000000085F869E8
390 0000000085E43E18 79464387 1 00000000858F4820
391 0000000085E43E20 79464388 1 0000000086289FA8
392 0000000085E43E28 79464389 1 0000000085F891E8
393 0000000085E43E30 79464390 1 00000000858F7020
394 0000000085E43E38 79464391 1 000000008628C7A8
395 0000000085E43E40 79464392 1 0000000085F8B9E8
396 0000000085E43E48 79464393 1 00000000858F9820
397 0000000085E43E50 79464394 1 000000008628EFA8
398 0000000085E43E58 79464395 1 0000000085F8E1E8
399 0000000085E43E60 79464396 1 00000000858FC020
400 0000000085E43E68 79464397 1 00000000862917A8
401 0000000085E43E70 79464398 1 0000000085F909E8
402 0000000085E43E78 79464399 1 00000000858FE820
403 0000000085E43E80 79464400 1 0000000086293FA8
404 0000000085E43E88 79464401 1 0000000085F931E8
405 0000000085E43E90 79464402 1 0000000085901020
406 0000000085E43E98 79464403 1 00000000862967A8
407 0000000085E43EA0 79464404 1 0000000085F959E8
408 0000000085E43EA8 79464405 1 0000000085903820
409 0000000085E43EB0 79464406 1 0000000086298FA8
410 0000000085E43EB8 79464407 1 0000000085F981E8
411 0000000085E43EC0 79464408 1 0000000085906020
412 0000000085E43EC8 79464409 1 000000008629B7A8
413 0000000085E43ED0 79464410 1 0000000085F9A9E8
414 0000000085E43ED8 79464411 1 0000000085908820
415 0000000085E43EE0 79464412 1 000000008629DFA8
416 0000000085E43EE8 79464413 1 0000000085F9D1E8
417 0000000085E43EF0 79464414 1 000000008590B020
418 0000000085E43EF8 79464415 1 00000000862A07A8
419 0000000085E43F00 79464416 1 0000000085F9F9E8
420 0000000085E43F08 79464417 1 000000008590D820
421 0000000085E43F10 79464418 1 00000000862A2FA8
422 0000000085E43F18 79464419 1 0000000085FA21E8
423 0000000085E43F20 79464420 1 0000000085910020
424 0000000085E43F28 79464421 1 00000000862A57A8
425 0000000085E43F30 79464422 1 0000000085FA49E8
426 0000000085E43F38 79464423 1 0000000085912820
427 0000000085E43F40 79464424 1 00000000862A7FA8
428 0000000085E43F48 79464425 1 0000000085FA71E8
429 0000000085E43F50 79464426 1 0000000085915020
430 0000000085E43F58 79464427 1 00000000862AA7A8
431 0000000085E43F60 79464428 1 0000000085FA99E8
432 0000000085E43F68 79464429 1 0000000085917820
433 0000000085E43F70 79464430 1 00000000862ACFA8
434 0000000085E43F78 79464431 1 0000000085FAC1E8
435 0000000085E43F80 79464432 1 000000008591A020
436 0000000085E43F88 79464433 1 00000000862AF7A8
437 0000000085E43F90 79464434 1 0000000085FAE9E8
504 0000000085E441A0 79464500 1 0000000085FE59E8 [456/29992]
438 0000000085E43F98 79464435 1 000000008591C820
439 0000000085E43FA0 79464436 1 00000000862B1FA8
440 0000000085E43FA8 79464437 1 0000000085FB11E8
441 0000000085E43FB0 79464438 1 000000008591F020
442 0000000085E43FB8 79464439 1 00000000862B47A8
443 0000000085E43FC0 79464440 1 0000000085FB39E8
444 0000000085E43FC8 79464441 1 0000000085921820
445 0000000085E43FD0 79464442 1 00000000862B6FA8
446 0000000085E43FD8 79464443 1 0000000085FB61E8
447 0000000085E43FE0 79464444 1 0000000085924020
448 0000000085E43FE8 79464445 1 00000000862B97A8
449 0000000085E43FF0 79464446 1 0000000085FB89E8
450 0000000085E43FF8 79464447 1 0000000085926820
451 0000000085E44000 79464448 1 00000000862BBFA8
452 0000000085E44008 79464449 1 0000000085FBB1E8
453 0000000085E44010 79464450 1 0000000085929020
454 0000000085E44018 79464451 1 00000000862BE7A8
455 0000000085E44020 79464452 1 0000000085FBD9E8
456 0000000085E44028 79464453 1 000000008592B820
457 0000000085E44030 79464454 1 00000000862C0FA8
458 0000000085E44038 79464455 1 0000000085FC01E8
459 0000000085E44040 79464456 1 000000008592E020
460 0000000085E44048 79464457 1 00000000862C37A8
461 0000000085E44050 79464458 1 0000000085FC29E8
462 0000000085E44058 79464459 1 0000000085930820
463 0000000085E44060 79464460 1 00000000862C5FA8
464 0000000085E44068 79464461 1 0000000085FC51E8
465 0000000085E44070 79464462 1 0000000085933020
466 0000000085E44078 79464463 1 00000000862C87A8
467 0000000085E44080 79464464 1 0000000085FC79E8
468 0000000085E44088 79464465 1 0000000085935820
469 0000000085E44090 79464466 1 00000000862CAFA8
470 0000000085E44098 79464467 1 0000000085FCA1E8
471 0000000085E440A0 79464468 1 0000000085938020
472 0000000085E440A8 79464469 1 00000000862CD7A8
473 0000000085E440B0 79464470 1 0000000085FCC9E8
474 0000000085E440B8 79464471 1 000000008593A820
475 0000000085E440C0 79464472 1 00000000862CFFA8
476 0000000085E440C8 79464473 1 0000000085FCF1E8
477 0000000085E440D0 79464474 1 000000008593D020
478 0000000085E440D8 79464475 1 00000000862D27A8
479 0000000085E440E0 79464476 1 0000000085FD19E8
480 0000000085E440E8 79464477 1 000000008593F820
481 0000000085E440F0 79464478 1 00000000862D4FA8
482 0000000085E440F8 79464479 1 0000000085FD41E8
483 0000000085E44100 79464480 1 0000000085942020
484 0000000085E44108 79464481 1 00000000862D77A8
485 0000000085E44110 79464482 1 0000000085FD69E8
486 0000000085E44118 79464483 1 0000000085944820
487 0000000085E44120 79464484 1 00000000862D9FA8
488 0000000085E44128 79464485 1 0000000085FD91E8
489 0000000085E44130 79464486 1 0000000085947020
490 0000000085E44138 79464487 1 00000000862DC7A8
491 0000000085E44140 79464488 1 0000000085FDB9E8
492 0000000085E44148 79464489 1 0000000085949820
493 0000000085E44150 79464490 1 00000000862DEFA8
494 0000000085E44158 79464491 1 0000000085FDE1E8
495 0000000085E44160 79464492 1 000000008594C020
496 0000000085E44168 79464493 1 00000000862E17A8
497 0000000085E44170 79464494 1 0000000085FE09E8
498 0000000085E44178 79464495 1 000000008594E820
499 0000000085E44180 79464496 1 00000000862E3FA8
500 0000000085E44188 79464497 1 0000000085FE31E8
501 0000000085E44190 79464498 1 0000000085951020
502 0000000085E44198 79464499 1 00000000862E67A8
503 0000000085E441A0 79464500 1 0000000085FE59E8
504 0000000085E441A8 79464501 1 0000000085953820
505 0000000085E441B0 79464502 1 00000000862E8FA8
506 0000000085E441B8 79464503 1 0000000085FE81E8
507 0000000085E441C0 79464504 1 0000000085956020
508 0000000085E441C8 79464505 1 00000000862EB7A8
509 0000000085E441D0 79464506 1 0000000085FEA9E8
510 0000000085E441D8 79464507 1 0000000085958820
511 0000000085E441E0 79464508 1 00000000862EDFA8
512 rows selected.
–//注意看最后一列KSMMMVAL,可以发现上下间隔不再是10240.观察最后2位就可以确定。我开始看也怀疑该数组是否不再这个位置或者
–//这样的组织方式,想起前面的输出在几个chunk上跳来跳去,仔细看rn=0,3,6,9,12行,可以发现满足间隔是10240.
RN ADDR INDX INST_ID KSMMMVAL
———- —————- ———- ———- —————-
0 0000000085E431E8 79463997 1 000000008678A208
3 0000000085E43200 79464000 1 000000008678CA08
6 0000000085E43218 79464003 1 000000008678F208
9 0000000085E43230 79464006 1 0000000086791A08
12 0000000085E43248 79464009 1 0000000086794208
–//KSMMMVAL上下相减
–//8678CA08 – 8678A208 = 10240
–//8678F208 – 8678CA08 = 10240
–//86791A08 – 8678F208 = 10240
–//86794208 – 86791A08 = 10240
–//实际上这个时候你可以大致猜测oracle定位library cache mutex地址的大致算法与前面完全一致。
–//确定基地址A x0000000085E431E8,计算sql语句的hash_value获得bucket值,使用bucket/256 取整就可以定位 该数组的地址 等于
–//A + trunc(bucket/256)*8 ,再通过bucket%256 * 40 + A + trunc(bucket/256)*8 , 就知道定位该bucket的library cache mutex
–//的地址。
4.通过一个例子来讲解如何定位该bucket地址的.
SYS@book> Select sysdate from dual ;
SYSDATE
——————-
2022-03-03 09:12:01
SYS@book> @ hash
HASH_VALUE SQL_ID CHILD_NUMBER KGL_BUCKET PLAN_HASH_VALUE HASH_HEX SQL_EXEC_START SQL_EXEC_ID
———- ————- ———— ———- ————— ———- ——————- ———–
381482536 dvk83p4bbtxj8 0 63016 1388734953 16bcf628 2022-03-03 09:12:01 16777216
–//HASH_VALUE=381482536,KGL_BUCKET=63016.
–//计算方法 381482536%(2^9*256) = 63016。 bucket值等于63016。
SYS@book> select trunc (63016 /256 ), mod(63016 ,256) from dual ;
TRUNC(63016/256) MOD(63016,256)
—————- ————–
246 40
–// 0 0000000085E431E8 79463997 1 000000008678A208
–// 246 0000000085E43998 79464243 1 000000008587C820
–//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
–//注意bucket从0开始计数。对应前面++++行(246行)。地址为000000008587C820.
–//246*8 = 1968
SYS@book> @ tpt/calc x0000000085E431E8 + 1968
DEC HEX
———————————– ——————–
2246326680.000000 85E43998
–//注意看前面++++行,正好对应ADDR值0000000085E43998,通过这个地址,知道保存的值KSMMMVAL=x000000008587C820
–//MOD(63016,256)=40, 40*40 = 1600
SYS@book> @ tpt/calc x000000008587C820 + 1600
DEC HEX
———————————– ——————–
2240269920.000000 8587CE60
–//x8587CE60这个地址记录的就是bucket = 63016 的开始地址。
SYS@book> oradebug setmypid
Statement processed.
SYS@book> oradebug peek 0x8587CE60 40
[08587CE60, 08587CE88) = 8273FC18 00000000 8273FC18 00000000 00000000 00000000 0000000B 00000000 0000F628 00000000
–//执行如下,注意我的测试设置session_cached_cursors=50,多次执行后会变成”软软解析”登录会话第一次后执行的是软解析。
–//我采用的执行方式是执行完成马上退出。
$ echo “Select sysdate from dual ;”|sqlplus -s -l / as sysdba
SYSDATE
——————-
2022-03-03 11:43:50
–//每执行以上语句1次,使用oradebug peek 0x8587CE60 40在另外会话查询该地址 保存前40字节内容。
SYS@book> oradebug peek 0x8587CE60 40
[08587CE60, 08587CE88) = 8273FC18 00000000 8273FC18 00000000 00000000 00000000 0000000B 00000000 0000F628 00000000
SYS@book> oradebug peek 0x8587CE60 40
[08587CE60, 08587CE88) = 8273FC18 00000000 8273FC18 00000000 00000000 00000000 0000000C 00000000 0000F628 00000000
SYS@book> oradebug peek 0x8587CE60 40
[08587CE60, 08587CE88) = 8273FC18 00000000 8273FC18 00000000 00000000 00000000 0000000D 00000000 0000F628 00000000
SYS@book> oradebug peek 0x8587CE60 40
[08587CE60, 08587CE88) = 8273FC18 00000000 8273FC18 00000000 00000000 00000000 0000000E 00000000 0000F628 00000000
–//注意看mutex结构的第4双字节内容,这里就是第8双字节内容的变化,0x0B->0x0C->0x0D->0x0E,每次执行后增加1.
–//你可以打开一个新会话,执行如下:
SYS@book> Select sysdate from dual ;
SYSDATE
——————-
2022-03-03 11:45:49
SYS@book> Select sysdate from dual ;
SYSDATE
——————-
2022-03-03 11:45:54
SYS@book> oradebug peek 0x8587CE60 40
[08587CE60, 08587CE88) = 8273FC18 00000000 8273FC18 00000000 00000000 00000000 0000000E 00000000 0000F628 00000000
SYS@book> oradebug peek 0x8587CE60 40
[08587CE60, 08587CE88) = 8273FC18 00000000 8273FC18 00000000 00000000 00000000 0000000F 00000000 0000F628 00000000
SYS@book> oradebug peek 0x8587CE60 40
[08587CE60, 08587CE88) = 8273FC18 00000000 8273FC18 00000000 00000000 00000000 0000000F 00000000 0000F628 00000000
–//你可以发现第2次执行就是软软解析,不再touch该bucket。gets的数量不再增加。
SYS@book> @ sharepool/shp4 dvk83p4bbtxj8 0
TEXT KGLHDADR KGLHDPAR C40 KGLHDLMD KGLHDPMD KGLHDIVC KGLOBHD0 KGLOBHD6 KGLOBHS0 KGLOBHS6 KGLOBT16 N0_6_16 N20 KGLNAHSH KGLOBT03 KGLOBT09
——————— —————- —————- —————————————- ———- ———- ———- —————- —————- ———- ———- ———- ——— ———- ———- ————- ———-
child handle address 0000000083D930D8 000000008273FC18 Select sysdate from dual 0 0 0 0000000083EBE590 0000000083EBEDA0 4528 8088 3082 15698 15698 381482536 dvk83p4bbtxj8 0
parent handle address 000000008273FC18 000000008273FC18 Select sysdate from dual 0 0 0 000000008278F0B0 00 4720 0 0 4720 4720 381482536 dvk83p4bbtxj8 65535
–//你可以发现bucket地址记录的内容前面就是该语句sql_id=dvk83p4bbtxj8的父游标地址x000000008273FC18.
–//如果你查看父游标0x81EC41D0 开始40字节内容。
SYS@book> oradebug peek 0x000000008273FC18 40
[08273FC18, 08273FC40) = 8587CE60 00000000 8587CE60 00000000 83EBE6C8 00000000 8273FD70 00000000 00000000 10012841
–//开始部分x8587CE60正好是该bucket的地址,oracle正是通过这样的方式链接多个bucket一样的sql语句。
–//关于这部分内容大家可以参考,链接:http://blog.itpub.net/267265/viewspace-2775038/=>[20210602]分析library cache转储 5.txt
–//总之这个地址表是存在的,至于为什么在_kghdsidx_count<>1的情况下这样组织,我就不知道了.
5. 附上shp4.sql脚本:
$ cat sharepool/shp4.sql
column N0_6_16 format 99999999
SELECT DECODE (kglhdadr,
kglhdpar, “parent handle address”,
“child handle address”)
text,
kglhdadr,
kglhdpar,
substr(kglnaobj,1,40) c40,
KGLHDLMD,
KGLHDPMD,
kglhdivc,
kglobhd0,
kglobhd6,
kglobhs0,kglobhs6,kglobt16,
kglobhs0+kglobhs6+kglobt16 N0_6_16,
kglobhs0+kglobhs1+kglobhs2+kglobhs3+kglobhs4+kglobhs5+kglobhs6+kglobt16 N20,
kglnahsh,
kglobt03 ,
kglobt09
FROM x$kglob
WHERE kglobt03 = “&1″ or kglhdpar=”&1″ or kglhdadr=”&1” or KGLNAHSH= &2;
–//另外fcha.sql ,calc.sql脚本来自Tanel Poder的TPT脚本。在tanelpoder.com/downloads/可以下载。
6.今天上班重启服务器参数没有改变,查看发现该表位置不变,但是记录bucket 0的地址发生了变化。
SYS@book> @ hide _kghdsidx_count
NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD
—————————————- —————————————————————— ———————- ———————- ———————- —– ———
_kghdsidx_count max kghdsidx count FALSE 3 3 FALSE FALSE
SYS@book> @ hide _kgl_bucket_count
NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD
—————————————- —————————————————————— ———————- ———————- ———————- —– ———
_kgl_bucket_count Library cache hash table bucket count (2^_kgl_bucket_count * 256) TRUE 9 9 FALSE FALSE
SELECT rownum-1 rn
, x$ksmmem.*
FROM X$KSMMEM
WHERE addr between hextoraw(“0000000085E431E8”) and hextoraw(“0000000085E441E0”);
RN ADDR INDX INST_ID KSMMMVAL
———- —————- ———- ———- —————-
0 0000000085E431E8 79463997 1 000000008678A508
1 0000000085E431F0 79463998 1 0000000086144FA8
2 0000000085E431F8 79463999 1 0000000085E441E8
3 0000000085E43200 79464000 1 000000008678CD08
4 0000000085E43208 79464001 1 00000000861477A8
5 0000000085E43210 79464002 1 0000000085E469E8
6 0000000085E43218 79464003 1 000000008678F508
7 0000000085E43220 79464004 1 0000000086149FA8
8 0000000085E43228 79464005 1 0000000085E491E8
9 0000000085E43230 79464006 1 0000000086791D08
…
SYS@book> @ fchaz 000000008678A508
LOC KSMCHPTR KSMCHIDX KSMCHDUR KSMCHCOM KSMCHSIZ KSMCHCLS KSMCHTYP KSMCHPAR KSMCHPTR_END
— —————- ———- ———- —————- ———- ——– ———- —————- —————–
SGA 0000000086434000 1 1 permanent memor 3980552 perm 0 00 00000000867FFD07
–//不知道为什么,仅仅做一个记录吧。
原文地址:https://www.cnblogs.com/lfree/archive/2022/03/04/15963466.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5469.html