真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle的ASSM小結(jié)

ASSM采用3級(jí)位圖,第一個(gè)extent至少有3個(gè)元數(shù)據(jù)塊,L1 – L2 – header(包含L3)

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),拉薩企業(yè)網(wǎng)站建設(shè),拉薩品牌網(wǎng)站建設(shè),網(wǎng)站定制,拉薩網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,拉薩網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。


段頭 & L3
Extent control: 存儲(chǔ)HHWM信息
Header control: 記錄三級(jí)位圖的基本信息,其中L2 hint for insert為搜索可用空間的起始位置
Extent table/Auxillary extent map: 維護(hù)extent map信息

buffer tsn: 115 rdba: 0x11227ca3 (68/2260131)
scn: 0x0860.07f11dac seq: 0x01 flg: 0x04 tail: 0x1dac2301
frmt: 0x02 chkval: 0x7157 type: 0x23=PAGETABLE SEGMENT HEADER
Hex dump of block: st=0, typ_found=1
  Extent Control Header
  --------------------描述HHWM---------------------------------------------
  Extent Header:: spare1: 0      spare2: 0      #extents: 23     #blocks: 1024 
                  last map  0x00000000  #maps: 0      offset: 2716 
      Highwater::  0x113a3e09  ext#: 22     blk#: 128    ext size: 128  --高水位線塊號(hào)/所在extent/該extent塊數(shù) 
  #blocks in seg. hdr's freelists: 0    
  #blocks below: 1000 
  mapblk  0x00000000  offset: 22   
                   Unlocked
  -------------------描述LHWM-------------------------------------
  Low HighWater Mark :
      Highwater::  0x113a3e09  ext#: 22     blk#: 128    ext size: 128  
  #blocks in seg. hdr's freelists: 0    
  #blocks below: 1024 
  mapblk  0x00000000  offset: 22   
  Level 1 BMB for High HWM block: 0x113a3d8a
  Level 1 BMB for Low HWM block: 0x113a3d8a
  --------------------------------------------------------
  Segment Type: 1 nl2: 1      blksz: 8192   fbsz: 0     
  L2 Array start offset:  0x00001434
  First Level 3 BMB:  0x00000000
  L2 Hint for inserts:  0x11227ca2 – 搜索L2 BMB的起始位置,insert需要使用
  Last Level 1 BMB:  0x113a3d8a
  Last Level II BMB:  0x11227ca2
  Last Level III BMB:  0x00000000
     Map Header:: next  0x00000000  #extents: 23   obj#: 345420 flag: 0x20000000
  Inc # 0
 Extent Map--以(dba, len)形式存儲(chǔ)extent基本信息,start DBA + length
  -----------------------------------------------------------------
   0x11227ca1  length: 8    
   0x11227ca9  length: 8    
   0x11227cb1  length: 8     
   ............. 
   0x11400109  length: 128  
   0x113a3d09  length: 128  
   0x11400189  length: 128  
   0x113a3d89  length: 128  
 
  Auxillary Map:extent no + L1 BMB of first DBA + first DBA in extent(extent 0前3個(gè)塊存儲(chǔ)metadata)
  --------------------------------------------------------
   Extent 0     :  L1 dba:  0x11227ca1 Data dba:  0x11227ca4
   Extent 1     :  L1 dba:  0x11227ca1 Data dba:  0x11227ca9
   Extent 2     :  L1 dba:  0x11227cb1 Data dba:  0x11227cb2
   Extent 3     :  L1 dba:  0x11227cb1 Data dba:  0x11227cb9
   .............
   Extent 19    :  L1 dba:  0x11400109 Data dba:  0x1140010b
   Extent 20    :  L1 dba:  0x113a3d09 Data dba:  0x113a3d0b
   Extent 21    :  L1 dba:  0x11400189 Data dba:  0x1140018b
   Extent 22    :  L1 dba:  0x113a3d89 Data dba:  0x113a3d8b
  --------------------------------------------------------
 
  Second Level Bitmap block DBAs
   --------------------------------------------------------
   DBA 1:   0x11227ca2

注:Extent元信息存于段頭塊,包括start DBA + length + L1 BMB ,若頭塊空間不足則新分配extent map block專(zhuān)門(mén)存儲(chǔ)extent map;
所有L3 BMB以單向鏈表組織在一起,由header control + L2 BMB array組成
   Second Level Bitmap block DBAs
   --------------------------------------------------------
   DBA 1:   0x11227ca2


L2 BMB
 
L1 BMB數(shù)組構(gòu)成: L1 BMB DBA + max freeness + instance id

buffer tsn: 115 rdba: 0x11227ca2 (68/2260130)
scn: 0x0860.07f11d99 seq: 0x02 flg: 0x04 tail: 0x1d992102
frmt: 0x02 chkval: 0x4536 type: 0x21=SECOND LEVEL BITMAP BLOCK
Dump of Second Level Bitmap Block
   number: 22      nfree: 1       ffree: 20     pdba:     0x11227ca3
   Inc #: 0 Objd: 0
  opcode:0
 xid:
  L1 Ranges :
  --------------------------------------------------------
   0x11227ca1  Free: 1 Inst: 1
   0x11227cb1  Free: 1 Inst: 1
   0x11227cc1  Free: 1 Inst: 1 
   .....
   0x113a3d89  Free: 3 Inst: 1
   0x113a3d8a  Free: 1 Inst: 1
  Free:從1-5依次為full和75%-100% free
  --------------------------------------------------------

 

L1
 
由一系列DBA range組成,描述若干連續(xù)塊(不可跨extent)的空間利用率,一個(gè)extent可由若干BMB描述;

buffer tsn: 115 rdba: 0x11227ca1 (68/2260129)
scn: 0x0860.07f11dac seq: 0x01 flg: 0x04 tail: 0x1dac2001
frmt: 0x02 chkval: 0x69fb type: 0x20=FIRST LEVEL BITMAP BLOCK
Hex dump of block: st=0, typ_found=1
Dump of First Level Bitmap Block
 --------------------------------
   nbits : 4 nranges: 2         parent dba:  0x11227ca2   poffset: 0    
   unformatted: 0       total: 16        first useful block: 3     
   owning instance : 1
   instance ownership changed at 02/26/2014 09:35:44
   Last successful Search 02/26/2014 09:35:44
   Freeness Status:  nf1 0      nf2 0      nf3 0      nf4 0     
 
   Extent Map Block Offset: 4294967295
   First free datablock : 16    
   Bitmap block lock opcode 0
   Locker xid:     :  0x0000.000.00000000
   Inc #: 0 Objd: 0
  --------------------------------------------------------
  DBA Ranges : --因?yàn)?個(gè)extent有8個(gè)塊,而該L1描述了16個(gè)塊,故包含2個(gè)range
  --------------------------------------------------------
   0x11227ca1  Length: 8      Offset: 0     
   0x11227ca9  Length: 8      Offset: 8     
 
   0:Metadata   1:Metadata   2:Metadata   3:FULL
   4:FULL   5:FULL   6:FULL   7:FULL
   8:FULL   9:FULL   10:FULL   11:FULL
   12:FULL   13:FULL   14:FULL   15:FULL
  --------------------------------------------------------

由L1 BMB描述每個(gè)數(shù)據(jù)塊的空間利用率;
 



如何搜索可用空間?

依次查詢(xún)L3 – L2 – L1,最終定位到合適的DBA,處理L2/L1時(shí)需要PID哈希值;

1 L2-L1
根據(jù)段頭L2 Hint for inserts定位L2,進(jìn)程依據(jù)其PID哈希值定位L1 并根據(jù)L1.free判斷是否有足夠空間;
若滿足條件跳轉(zhuǎn)到該L1 BMB,否則嘗試下一個(gè)L2 BMB;

2 L1-DBA
搜索L1 BMB,以進(jìn)程pid哈希值作為start dba;
發(fā)現(xiàn)候選DBA時(shí) 進(jìn)程以nowait模式嘗試獲取塊,若此時(shí)塊上有active進(jìn)程則嘗試下一個(gè),5次嘗試均失敗后則釋放L1 BMB進(jìn)行buffer busy wait等待;
碰到unformatted塊則一次性格式化N個(gè)塊并更新HWM;
oracle的ASSM小結(jié) 



結(jié)論:

L3包含多個(gè)L2,L2包含多個(gè)L1,L1包含多個(gè)數(shù)據(jù)塊。
在L3中選擇L2,依賴(lài)L2 Hint for inserts。
在L2中選擇L1,根據(jù)進(jìn)程PID號(hào)的HASH值
在L1中選擇數(shù)據(jù)塊,也是根據(jù)進(jìn)程PID號(hào)的HASH值。

若L2 BMB包含N個(gè)L1 ,L1 BMB又包含M個(gè)DBA,則理論上可支持N*M個(gè)并發(fā)插入進(jìn)程;
但并未考慮到高水位線,進(jìn)程只能訪問(wèn)HHWM之下的塊,假如當(dāng)前高水位線位于第M個(gè)塊,則最大支持M個(gè)并發(fā)插入進(jìn)程;
高水位線一次提升的塊數(shù)= min(L1 BMB ranges, extent);




Vage有一個(gè)很經(jīng)典的調(diào)優(yōu)案例;
癥狀
某ASSM表每天1分區(qū),采用uniform extent每個(gè)1M;上午9:00開(kāi)始并發(fā)插入,大約100多個(gè)進(jìn)程;
每天9點(diǎn)左右開(kāi)始出現(xiàn)buffer busy wait等待,十幾分鐘左右等待消失,然后壓力高的時(shí)候,偶而出現(xiàn)競(jìng)爭(zhēng),但不如早高峰嚴(yán)重

分析
通過(guò)試驗(yàn)發(fā)現(xiàn)新創(chuàng)建的表即便有兩個(gè)L1 BMB, 可并發(fā)進(jìn)程只選擇其中1個(gè),每個(gè)L1 BMB描述64個(gè)塊;
這是由于高水位線的緣故,首次插入時(shí) HHWM提升64個(gè)塊,另1個(gè)L1 BMB描述的塊均在HHWM之上故無(wú)法使用,此時(shí)并發(fā)度為64;
而當(dāng)段大于64時(shí),1個(gè)L1  BMB描述256個(gè)數(shù)據(jù)塊,而高水位線以128塊(extent)為單位增長(zhǎng),此時(shí)最高支持128個(gè)并發(fā)進(jìn)程;
故過(guò)一段時(shí)間后癥狀消失,但偶爾會(huì)出現(xiàn)競(jìng)爭(zhēng);

解決方案
作者采用兩種措施
1 小于64M時(shí),高水位線一次抬升64個(gè)塊(受限于L1 BMB),人為提升高水位線到64M,理論上此時(shí)并發(fā)進(jìn)程可插入到<64M的任何1個(gè)塊中,并發(fā)度非常高;
2 大于64M時(shí),高水位線一次抬升128個(gè)塊(受限于extent size),故將其從1M改為4M(2M應(yīng)該就可以了);
目的都是為了提升插入并發(fā)度,其實(shí)還有1種解決方案,假定能估算每天數(shù)據(jù)量,可直接將高水位線提升至此;

 


 


名稱(chēng)欄目:oracle的ASSM小結(jié)
文章路徑:http://weahome.cn/article/giceoo.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部