塊chain後的研究

qqmengxue發表於2010-09-30

大家都知道當一條記錄在一個塊中不能放下的時候,此時記錄就會發生chain,記錄就會分成至少2部分分別存在不同的塊內,在發生chain的時候block overhead的狀態為會做相應的變化:

[@more@]

如果沒有發生block chain時,狀態為:

Block header dump: 0x0100004c
Object id on Block? Y
seg/obj: 0xc8ca csc: 0x00.ca325 itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0x1000049 ver: 0x01 opc: 0
inc: 0 exflg: 0

Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0004.02b.0000016c 0x00800040.00cc.03 C--- 0 scn 0x0000.000ca303
0x02 0x0004.001.0000016d 0x00800040.00cc.04 --U- 1 fsc 0x0000.000ca326

data_block_dump,data header at 0x712d464
===============
tsiz: 0x1f98
hsiz: 0x14
pbl: 0x0712d464
bdba: 0x0100004c
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x237
avsp=0x223
tosp=0x223
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x237
block_row_dump:
tab 0, row 0, @0x237
tl: 7521 fb: --H-FL-- lb: 0x2 cc: 6
col 0: [500]

其中:--H-FL--分別代表:

H(header):塊上包含頭資訊

F(first):包含第一列

L(last):包含最後一列

cc(column count):總的列數

下面緊接就是具體的data row!

如果發生了chain,則塊也做相應的變化:

第一個塊:

seg/obj: 0xc8ca csc: 0x00.ca33b itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0x1000049 ver: 0x01 opc: 0
inc: 0 exflg: 0

Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0007.015.0000015b 0x00800128.0138.01 --U- 1 fsc 0x173e.000ca33d
0x02 0x0004.001.0000016d 0x00800040.00cc.04 C--- 0 scn 0x0000.000ca326

data_block_dump,data header at 0xa68f464
===============
tsiz: 0x1f98
hsiz: 0x14
pbl: 0x0a68f464
bdba: 0x0100004c
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x237
avsp=0x223
tosp=0x1961
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x237
block_row_dump:
tab 0, row 0, @0x237
tl: 1571 fb: --H-F--N lb: 0x1 cc: 4
nrid: 0x0100004d.0
col 0: [500]

H(header):包含頭資訊

F(first):包含首列

N(next):下一個piece

nrid:chain後的下一個塊的地址

第二個塊(chain):

Block header dump: 0x0100004d
Object id on Block? Y
seg/obj: 0xc8ca csc: 0x00.ca33b itc: 3 flg: E typ: 1 - DATA
brn: 0 bdba: 0x1000049 ver: 0x01 opc: 0
inc: 0 exflg: 0

Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0007.015.0000015b 0x00800127.0138.13 --U- 1 fsc 0x0000.000ca33d
0x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
0x03 0x0000.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.00000000

data_block_dump,data header at 0xa68f47c
===============
tsiz: 0x1f80
hsiz: 0x14
pbl: 0x0a68f47c
bdba: 0x0100004d
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x65
avsp=0x51
tosp=0x51
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x65
block_row_dump:
tab 0, row 0, @0x65
tl: 7963 fb: -----LP- lb: 0x1 cc: 4
col 0: [1948]

L(last):包含最後一列

P(previous):和前一個塊是chain關係

此時不包含頭、第一列等資訊!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10130206/viewspace-1039148/,如需轉載,請註明出處,否則將追究法律責任。

相關文章