[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 --//不知道为什么,仅仅做一个记录吧。
[20220303]oracle如何定位使用library cache mutex 3.txt
来源:这里教程网
时间:2026-03-03 17:29:13
作者:
编辑推荐:
- [20220303]oracle如何定位使用library cache mutex 3.txt03-03
- [20220304]测试library cache mutex遇到的疑问.txt03-03
- 盖世无双之国产数据库风云榜-2022年02月03-03
- db file sequential read03-03
- [重庆思庄每日技术分享]-在为表添加了列后执行ALTER TABLE SHRINK SPACE 提示ORA-810203-03
- [20220304]使用gdb完成各种进制转换.txt03-03
- Oracle 11g RAC Silent Install For NFS03-03
- PDB克隆迁移转换03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 盖世无双之国产数据库风云榜-2022年02月
盖世无双之国产数据库风云榜-2022年02月
26-03-03 - db file sequential read
db file sequential read
26-03-03 - Oracle ADG 备库添加备库
Oracle ADG 备库添加备库
26-03-03 - 数据库对比系列之一
数据库对比系列之一
26-03-03 - DBFS取代ASM部署Oracle RAC 11.2.0.4
DBFS取代ASM部署Oracle RAC 11.2.0.4
26-03-03 - opatch打补丁,RAC19C
opatch打补丁,RAC19C
26-03-03 - ORACLE 10.2.0.4 rac for aix query gv$instance with ORA-12850
- 酒旅江湖战事:携程坚挺,美团蓄力,抖音来战
酒旅江湖战事:携程坚挺,美团蓄力,抖音来战
26-03-03 - Oracle ASM扩容(NFS)
Oracle ASM扩容(NFS)
26-03-03 - 利用福禄克光纤测试仪了解综合布线
利用福禄克光纤测试仪了解综合布线
26-03-03
