一条UPDATE从生到死的整个过程的深入解析(四)
AFN:3 DBA:0x00c0027dOBJ:77365 SCN:0x0000.00f5e0cc SEQ:1 OP:11.5 ENC:0 RBL:0
KTB Redo
op: 0x11 ver: 0x01
compat bit: 4 (post-11) padding: 1
op: F xid: 0x0001.018.000057ef uba: 0x018021ba.0724.0f
Block cleanout record, scn: 0x0000.00f5e123 ver: 0x01 opt: 0x02, entriesfollow...
itli: 1 flg: 2 scn: 0x0000.00f5e0cc
KDO Op code: URP row dependencies Disabled
xtype: XA flags: 0x00000000 bdba:0x00c0027d hdba: 0x00c0027a
itli: 2 ispac: 0 maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 2ckix: 0
ncol: 2 nnew: 1 size: -2
col 1: [ 4] 67 79 6a 31
CHANGE #4 MEDIA RECOVERY MARKERSCN:0x0000.00000000 SEQ:0 OP:5.20 ENC:0
session number = 162
serial number = 7
transaction name =
version 186646784
audit sessionid 1362603
Client Id =
2. undo的dump
(1) 对应OP=5.2的操作
alter system dump undo header"_SYSSMU1_1918248848$";
index state cflags wrap# uel scn dba parent-xid nub stmt_num cmt
------------------------------------------------------------------------------------------------
0x18 10 0x80 0x57ef 0x0010 0x0000.00f5e123 0x018021ba 0x0000.000.00000000 0x00000001 0x00000000 0
(2) 对应OP=5.1的操作,即undo块数据
alter systemdump datafile 6 block 8634;
* Rec #0xf slt:0x18 objn: 77365(0x00012e35) objd: 77365 tblspc: 7(0x00000007)
* Layer: 11 (Row) opc: 1 rci 0x00
Undotype: Regular undo Begin trans Last buffer split: No
TempObject: No
TablespaceUndo: No
rdba:0x00000000Ext idx: 0
flg2: 0
*-----------------------------
uba:0x018021ba.0724.0e ctl max scn: 0x0000.00f5dc35 prv tx scn: 0x0000.00f5dc3f
txn startscn: scn: 0x0000.00f5e123 logon user: 91
prev brb: 25174454 prev bcl: 0
KDO undorecord:
KTB Redo
op:0x03 ver: 0x01
compatbit: 4 (post-11) padding: 1
op: Z
KDO Opcode: URP row dependencies Disabled
xtype: XA flags: 0x00000000 bdba: 0x00c0027d hdba: 0x00c0027a
itli:2 ispac: 0 maxfr: 4858
tabn: 0slot: 0(0x0) flag: 0x2c lock: 0 ckix: 0
ncol: 2nnew: 1 size: 2
col 1: [ 6] 41 41 41 41 41 41
3. data的dump
对应OP=11.9的操作
alter system dump datafile 3 block 637
Object idon Block Y
seg/obj: 0x12e35 csc: 0x00.f5e123 itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0xc00278 ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0003.00d.00007825 0x01802b0c.0a53.2d C--- 0 scn 0x0000.00f5e0cc
0x02 0x0001.018.000057ef 0x018021ba.0724.0f ---- 1 fsc 0x0002.00000000
bdba:0x00c0027d
data_block_dump,dataheader at 0xa5d664
===============
tsiz:0x1f98
hsiz:0x14
pbl:0x00a5d664
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
f
seo=0x1f80
avsp=0x1f77
tosp=0x1f79
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x1f80
block_row_dump:
tab 0,row 0, @0x1f80
tl: 11fb: --H-FL-- lb: 0x2 cc: 2
col 0: [ 2] c1 02
col 1: [ 4] 67 79 6a 31
附OPCODE:
Layer 5 : Transaction Undo - KCOCOTUN [ktucts.h]
Opcode 1 : Undo block or undo segment header - KTURDB
Opcode 2 : Update rollback segment header - KTURDH
Opcode 3 : Rollout a transaction begin
Opcode 4 : Commit transaction (transaction table update)
- no undo record
Opcode 5 : Create rollback segment (format) - no undo record
Opcode 6