commit的时候最重要的事情是块清除(影响的块不超过缓冲的10%),块清除做的事情是清除块头中的事务信息。主要观察dump block的内容,block中的flag注释是:
Flags: 1nibble。---- = transaction is active, or committed pending cleanout
C--- = transaction has been committed and locks cleaned out
-B-- = this undo record contains the undo for this ITL entry
--U- = transaction committed (maybe long ago); SCN is an upper bound
---T = transaction was still active at block cleanout SCN
详细请见: http://blog.csdn.net/guogang83/article/details/7870893
create table T
(
X INTEGER,
Y INTEGER
);
insert into t values(9,1)
update t set x=10;
Block header dump: 0x0140017d
Object id on Block? Y
seg/obj: 0xc9c8 csc: 0x00.12af7a itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0x1400179 ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0007.013.00000193 0x00800331.0167.08 ---- 1 fsc 0x0000.00000000
0x02 0x000a.011.0000018f 0x00800c7b.00fb.27 C--- 0 scn 0x0000.0012ae8c
data_block_dump,data header at 0x4d18464
===============
tsiz: 0x1f98
hsiz: 0x14
pbl: 0x04d18464
bdba: 0x0140017d
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x1f8f
avsp=0x1f7b
tosp=0x1f7b
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x1f8f
block_row_dump:
tab 0, row 0, @0x1f8f
tl: 9 fb: --H-FL-- lb: 0x1 cc: 2
col 0: [ 2] c1 0b
col 1: [ 2] c1 02
end_of_block_dump
commit;
Block header dump: 0x0140017d
Object id on Block? Y
seg/obj: 0xc9c8 csc: 0x00.12af7a itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0x1400179 ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0007.013.00000193 0x00800331.0167.08 --U- 1 fsc 0x0000.0012af8e
0x02 0x000a.011.0000018f 0x00800c7b.00fb.27 C--- 0 scn 0x0000.0012ae8c
data_block_dump,data header at 0x4d18464
===============
tsiz: 0x1f98
hsiz: 0x14
pbl: 0x04d18464
bdba: 0x0140017d
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x1f8f
avsp=0x1f7b
tosp=0x1f7b
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x1f8f
block_row_dump:
tab 0, row 0, @0x1f8f
tl: 9 fb: --H-FL-- lb: 0x1 cc: 2
col 0: [ 2] c1 0b
col 1: [ 2] c1 02
end_of_block_dump
delete from t;
Block header dump: 0x0140017d
Object id on Block? Y
seg/obj: 0xc9c8 csc: 0x00.12b265 itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0x1400179 ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0007.013.00000193 0x00800331.0167.08 C--- 0 scn 0x0000.0012af8e
0x02 0x0003.018.000001ac 0x0080136f.01f0.3c ---- 1 fsc 0x0007.00000000
data_block_dump,data header at 0x4d18464
===============
tsiz: 0x1f98
hsiz: 0x14
pbl: 0x04d18464
bdba: 0x0140017d
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x1f8f
avsp=0x1f7b
tosp=0x1f84
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x1f8f
block_row_dump:
tab 0, row 0, @0x1f8f
tl: 2 fb: --HDFL-- lb: 0x2
end_of_block_dump
commit;
Block header dump: 0x0140017d
Object id on Block? Y
seg/obj: 0xc9c8 csc: 0x00.12b265 itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0x1400179 ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0007.013.00000193 0x00800331.0167.08 C--- 0 scn 0x0000.0012af8e
0x02 0x0003.018.000001ac 0x0080136f.01f0.3c --U- 1 fsc 0x0007.0012b27b
data_block_dump,data header at 0x4d18464
===============
tsiz: 0x1f98
hsiz: 0x14
pbl: 0x04d18464
bdba: 0x0140017d
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x1f8f
avsp=0x1f7b
tosp=0x1f84
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x1f8f
block_row_dump:
tab 0, row 0, @0x1f8f
tl: 2 fb: --HDFL-- lb: 0x2
end_of_block_dump

324

被折叠的 条评论
为什么被折叠?



