日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
邏輯讀時(shí)的cbclatch(三)-創(chuàng)新互聯(lián)

繼續(xù)驗(yàn)證使用索引時(shí),cbc latch相關(guān)情況,使用solaris中的dtrace

創(chuàng)新互聯(lián)是一家專業(yè)提供泰山企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為泰山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

編寫dtrace腳本

more cbc.d #!/usr/sbin/dtrace -s -n  char *memnr; int latchaddr; dtrace:::BEGIN {         i=1;         latchaddr=0; } pid$1::sskgslcas:entry {         memnr=copyin(arg0,12);         latchaddr=arg0;         printf("[%2x%2x%2x%2x|%2x%2x%2x%2x|%2x%2x%2x%2x]",memnr[3],memnr[2],memnr[1],memnr[0],memnr[7],memnr[6],memnr[5],memnr[4],memnr [11],memnr[10],memnr[9],memnr[8]);         printf("i=%d PID::entry:==%s:%s:%s:%s %x %x %x %x %x %x",i, probeprov, probemod, probefunc, probename,arg0,arg1,arg2,arg3,arg4,arg5);         i=i+1; } pid$1::sskgslcas:return {         memnr=copyin(latchaddr,12);         printf("[%2x%2x%2x%2x|%2x%2x%2x%2x|%2x%2x%2x%2x]",memnr[3],memnr[2],memnr[1],memnr[0],memnr[7],memnr[6],memnr[5],memnr[4],memnr [11],memnr[10],memnr[9],memnr[8]);         printf("i=%d PID::entry:==%s:%s:%s:%s %x %x %x",i, probeprov, probemod, probefunc, probename,latchaddr,arg0,arg1);         i=i+1; }

先測(cè)試非唯一索引:

session1:創(chuàng)建相應(yīng)對(duì)象,并多次執(zhí)行查詢語(yǔ)句

create table a as select * from dba_objects; create index idx_a on a(object_id); select owner from a where object_id='30000'; SQL> select c.sid,spid,pid,a.SERIAL# from (select sid from v$mystat where rownum<=1) c,v$session a,v$process b where c.sid=a.sid and a.paddr=b.addr;        SID SPID                PID    SERIAL# ---------- ------------ ---------- ----------        159 1355                 15          9

session2:查詢出block

set pagesize 50000 set linesize 10000 select file#,dbablk,tch,ba,HLADDR from x$bh a,dba_objects b where a.obj=b.data_object_id and object_name='IDX_A' order by FILE#,DBABLK;      FILE#     DBABLK        TCH BA       HLADDR ---------- ---------- ---------- -------- --------          1      60641          0 5A4A8000 5F13949C          1      60642          0 5A350000 5F0FC938          1      60642          4 595EA000 5F0FC938          1      62091          0 58116000 5F14F564          1      62091          4 58468000 5F14F564 SQL> select segment_name,header_file,header_block from dba_segments where segment_name=upper('IDX_A'); SEGMENT_NAME                                                                      HEADER_FILE HEADER_BLOCK --------------------------------------------------------------------------------- ----------- ------------ IDX_A                                                                                       1        60641

60641對(duì)段頭塊,60642為索引的root塊,62091為leaf塊

執(zhí)行dtrace腳本,做跟蹤,然后回到session1中再次執(zhí)行查詢語(yǔ)句

./cbc.d 1355 > logic_read.log

bash-3.2# cat logic_read.log|wc -l

   25

session1:60642對(duì)應(yīng)5F0FC938,在索引掃描時(shí),對(duì)root塊是共享cbc latch

SQL> oradebug call sskgslcas 0x5f0fc938 0 1 Function returned 1 SQL> select owner from a where object_id='30000'; OWNER ------------------------------ PUBLIC PUBLIC SQL> oradebug call sskgsldecr 0x5f0fc938 1 Function returned 1

62091為leaf塊,在索引掃描時(shí),對(duì)leaf塊是一次共享cbc latch,三次獨(dú)占cbc latch

bash-3.2# cat logic_read.log|grep -i 5F14F564   1  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 6 8| 0 0 07a]i=5 PID::entry:==pid1355:oracle:sskgslcas:entry 5f14f564 0 1 fdc4d278 fdc4d270 fdc4d134   1  53244                 sskgslcas:return [ 0 0 0 1| 0 0 6 8| 0 0 07a]i=6 PID::entry:==pid1355:oracle:sskgslcas:return 5f14f564 16 1   1  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 6 9| 0 0 07a]i=11 PID::entry:==pid1355:oracle:sskgslcas:entry 5f14f564 0 2000000f ffffffff fdc4d278 fdc4d130   1  53244                 sskgslcas:return [20 0 0 f| 0 0 6 9| 0 0 07a]i=12 PID::entry:==pid1355:oracle:sskgslcas:return 5f14f564 16 1   1  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 6 a| 0 0 07a]i=13 PID::entry:==pid1355:oracle:sskgslcas:entry 5f14f564 0 2000000f c4a89cc fdc4d134 fdc4d270   1  53244                 sskgslcas:return [20 0 0 f| 0 0 6 a| 0 0 07a]i=14 PID::entry:==pid1355:oracle:sskgslcas:return 5f14f564 16 1   1  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 6 b| 0 0 07a]i=15 PID::entry:==pid1355:oracle:sskgslcas:entry 5f14f564 0 2000000f 0 fdc4d278 fdc4d26c   1  53244                 sskgslcas:return [20 0 0 f| 0 0 6 b| 0 0 07a]i=16 PID::entry:==pid1355:oracle:sskgslcas:return 5f14f564 16 1

上面是索引為非唯一索引時(shí),cbc latch相關(guān)情況下面過(guò)程為測(cè)試

再測(cè)試唯一索引:

create table a as select * from dba_objects; create unique index idx_a on a(object_id); SQL> select c.sid,spid,pid,a.SERIAL# from (select sid from v$mystat where rownum<=1) c,v$session a,v$process b where c.sid=a.sid and a.paddr=b.addr;        SID SPID                PID    SERIAL# ---------- ------------ ---------- ----------        147 1374                 16         12 select owner from a where object_id='30000'; SQL> select file#,dbablk,tch,ba,HLADDR from x$bh a,dba_objects b where a.obj=b.data_object_id and object_name='IDX_A' order by FILE#,DBABLK;      FILE#     DBABLK        TCH BA       HLADDR ---------- ---------- ---------- -------- --------          1      60641          1 595EA000 5F13949C          1      60642          4 5A752000 5F0FC938          1      61343          3 584A0000 5F122270 SQL> /      FILE#     DBABLK        TCH BA       HLADDR ---------- ---------- ---------- -------- --------          1      60641          1 595EA000 5F13949C          1      60642          6 5A752000 5F0FC938          1      61343          5 584A0000 5F122270 SQL> select segment_name,header_file,header_block from dba_segments where segment_name=upper('IDX_A'); SEGMENT_NAME -------------------------------------------------------------------------------- HEADER_FILE HEADER_BLOCK ----------- ------------ IDX_A           1        60641 60642為root塊,61343為leaf塊 bash-3.2# cat logic_read1.log CPU     ID                    FUNCTION:NAME   0  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 074| 0 0 0 0]i=1 PID::entry:==pid1374:oracle:sskgslcas:entry 5ceb6fe8 0 930001 5d76abac 5ceb6fe8 5f8c4c6c   0  53244                 sskgslcas:return [ 093 0 1| 0 0 074| 0 0 0 0]i=2 PID::entry:==pid1374:oracle:sskgslcas:return 5ceb6fe8 16 1   0  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 5db| 0 0 07a]i=3 PID::entry:==pid1374:oracle:sskgslcas:entry 5f0fc938 0 1 804510c 8045104 fdc18bf8   0  53244                 sskgslcas:return [ 0 0 0 1| 0 0 5db| 0 0 07a]i=4 PID::entry:==pid1374:oracle:sskgslcas:return 5f0fc938 16 1   0  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 5 2| 0 0 07a]i=5 PID::entry:==pid1374:oracle:sskgslcas:entry 5f122270 0 1 804510c 8045104 fdc18bf8   0  53244                 sskgslcas:return [ 0 0 0 1| 0 0 5 2| 0 0 07a]i=6 PID::entry:==pid1374:oracle:sskgslcas:return 5f122270 16 1   0  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 698| 0 0 07a]i=7 PID::entry:==pid1374:oracle:sskgslcas:entry 5f106340 0 1 fdc18f60 fdc18f58 fdc18f00   0  53244                 sskgslcas:return [ 0 0 0 1| 0 0 698| 0 0 07a]i=8 PID::entry:==pid1374:oracle:sskgslcas:return 5f106340 16 1   0  53243                  sskgslcas:entry [ 0 0 0 1| 0 0 075| 0 0 0 0]i=9 PID::entry:==pid1374:oracle:sskgslcas:entry 5ceb6fe8 1 930000 c4a88d0 5ceb6fe8 5f8c4c6c   0  53244                 sskgslcas:return [ 093 0 0| 0 0 075| 0 0 0 0]i=10 PID::entry:==pid1374:oracle:sskgslcas:return 5ceb6fe8 16 1 bash-3.2# cat logic_read1.log|grep -i 5F0FC938   0  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 5db| 0 0 07a]i=3 PID::entry:==pid1374:oracle:sskgslcas:entry 5f0fc938 0 1 804510c 8045104 fdc18bf8   0  53244                 sskgslcas:return [ 0 0 0 1| 0 0 5db| 0 0 07a]i=4 PID::entry:==pid1374:oracle:sskgslcas:return 5f0fc938 16 1 bash-3.2# cat logic_read1.log|grep -i 5F122270   0  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 5 2| 0 0 07a]i=5 PID::entry:==pid1374:oracle:sskgslcas:entry 5f122270 0 1 804510c 8045104 fdc18bf8   0  53244                 sskgslcas:return [ 0 0 0 1| 0 0 5 2| 0 0 07a]i=6 PID::entry:==pid1374:oracle:sskgslcas:return 5f122270 16 1 bash-3.2# cat logic_read1.log|grep -i 5F106340   0  53243                  sskgslcas:entry [ 0 0 0 0| 0 0 698| 0 0 07a]i=7 PID::entry:==pid1374:oracle:sskgslcas:entry 5f106340 0 1 fdc18f60 fdc18f58 fdc18f00   0  53244                 sskgslcas:return [ 0 0 0 1| 0 0 698| 0 0 07a]i=8 PID::entry:==pid1374:oracle:sskgslcas:return 5f106340 16 1 唯一索引掃描時(shí),對(duì)root塊與leaf塊都是一次共享cbc latch,對(duì)表塊也是一次共享cbc latch

邏輯讀時(shí)的cbc latch(一):http://qhd2004.blog.51cto.com/629417/1576554

邏輯讀時(shí)的cbc latch(二):http://qhd2004.blog.51cto.com/629417/1576579

參考:http://blog.itpub.net/321157/viewspace-730936/

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享標(biāo)題:邏輯讀時(shí)的cbclatch(三)-創(chuàng)新互聯(lián)
鏈接地址:http://www.dlmjj.cn/article/dogdig.html