oracle 原理學習筆記(一)
一、Redo和Undo
1.oracle修改資料基本流程。
oracle的一個特點就是儲存資料(這裡資料包括任何對data block,undo block的修改)的時候以兩種形式儲存。一種是儲存在資料檔案裡以資料塊(data block)形式儲存(最新資料也可能是存在oracle記憶體裡的'髒塊'--也是資料塊--等待被重新整理到資料檔案中);另外一種以描述如何產生這些資料塊的指令儲存在重做日誌檔案裡(最新的重做日誌存在在oracle記憶體裡等待重新整理到重做日誌檔案中)。同時,oracle為了能夠回滾事務,在修改資料之前都要儲存一份資料的前映象到undo檔案裡。完整的修改流程步驟如下:
- 寫如何產生undo block的redo 記錄
- 寫如何修改data block的redo 記錄
- 將上面兩個redo 記錄合併,寫到redo log buffer中
- 寫undo block
- 寫data block
這裡就要涉及到data block, undo block和redo block三種塊,我們具體看看內部結構。
2. data block 內容
準備表
create table t1(
id number not null,
v1 varchar2(100)
);
insert into t1 values(1, rpad('x',100));
commit;
alter system checkpoint;
alter system flush buffer_cache;
col dump_sql for a120
select 'alter system dump datafile ' || dbms_rowid.rowid_relative_fno(rowid)
|| ' block min ' || dbms_rowid.rowid_block_number(rowid)
|| ' block max ' || dbms_rowid.rowid_block_number(rowid)
|| ';' dump_sql
from t1;
alter system dump datafile 16 block min 99083 block max 99083 ;
dump結果(刪掉暫不關注的部分)
*** 2012-04-22 10:56:00.893
Start dump data blocks tsn: 7 file#:16
minblk 99083 maxblk 99083
Block dump from cache:
Dump of buffer cache at
level 4 for tsn=7, rdba=67207947
Block header dump: 0x0401830b
Object id on Block? Y
seg/obj:
0x17de0 csc: 0x8cf.a6277f02 itc: 2 flg: E typ: 1 - DATA
typ:表示block type
brn: 0 bdba: 0x4018300 ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl
Xid Uba Flag Lck
Scn/Fsc xid:undo_segment.undo_slot.undo_sequence, uba:undo record
address, abosolute block address.block sequence number.record within
block
0x01 0x000a.003.0000f3bb 0x00c00ae8.8c20.03 --U- 1 fsc
0x0000.a6277f03
0x02 0x0000.000.00000000
0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
bdba:
0x0401830b
data_block_dump,data header at
0x2b9ab59d1a64
===============
tsiz: 0x1f98
hsiz: 0x14
pbl:
0x2b9ab59d1a64
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x1f2d
avsp=0x1f19
tosp=0x1f19
0xe:pti[0]
nrow=1 ffs=0
0x12:pri[0] ffs=0x1f2d
block_row_dump:
tab 0, row
0, @0x1f2d
tl: 107 fb: --H-FL-- lb:
0x1 cc: 2
col 0: [ 2] c1 02
col 1: [100]
78 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20
end_of_block_dump
End dump data blocks tsn: 7 file#: 16 minblk 99083
maxblk 99083
注:一個data block至少包含以下幾項內容值得關注:
- 該資料塊上每行資料的資訊(包括該行資料內容,以及行記錄上是否有活動事務資訊)
- 該資料塊上的事務資訊(包括該事務的XID,最近一次修改對應的uba,以及該事務的提交資訊)
tl: 107 fb: --H-FL-- lb: 0x1
cc: 2
資料行上的lb:0x1就指向該行在事務槽(itl)中的記錄。
0x01 0x000a.003.0000f3bb 0x00c00ae8.8c20.03 --U- 1 fsc
0x0000.a6277f03
這個itl資訊描述了該事務的狀態(為U表示已經提交,但是沒有做commit
cleanout操作),以及該事務的XID(表示該事務在回滾段頭的事務表中的位置資訊,任何事務開始時必須申請在回滾段頭的事務表transaction
table中申請一個位置),以及該事務的最後一次undo record地址(用於快速回滾,比如說構建一致性讀時要讀取undo block)
開啟一個事務,修改不提交
update t1 set v1=rpad('x',100) where id=1;
alter system checkpoint;
alter system dump datafile 16 block min 99083 block max 99083 ;
Start dump data blocks tsn: 7 file#:16 minblk 99083 maxblk 99083
Block
dump from cache:
Dump of buffer cache at level 4 for tsn=7, rdba=67207947
Block header dump: 0x0401830b
Object id on Block? Y
seg/obj:
0x17de0 csc: 0x8cf.a6280065 itc: 2 flg: E typ: 1 - DATA
brn: 0
bdba: 0x4018300 ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl Xid
Uba Flag Lck Scn/Fsc
0x01 0x000a.003.0000f3bb
0x00c00ae8.8c20.03 C--- 0 scn 0x08cf.a6277f03
0x02 0x0008.00c.0000d259 0x00c00c7f.810b.07 ---- 1 fsc
0x0062.00000000
bdba: 0x0401830b
data_block_dump,data header at
0x2ac9ae2d9a64
===============
tsiz: 0x1f98
hsiz: 0x14
pbl:
0x2ac9ae2d9a64
76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x1f25
avsp=0x1f19
tosp=0x1f7b
0xe:pti[0]
nrow=1 ffs=0
0x12:pri[0] ffs=0x1f25
block_row_dump:
tab 0, row
0, @0x1f25
tl: 8 fb: --H-FL-- lb: 0x2 cc: 2
col 0: [ 2] c1 02
col 1: [ 1]
79
end_of_block_dump
End dump data blocks tsn: 7 file#: 16 minblk
99083 maxblk 99083
3. Undo block
xidusn,
xidslot,
xidsqn
from
v$session ses,
v$transaction trx
where
ses.sid = (select mys.sid from V$mystat mys where rownum = 1)
and trx.ses_addr = ses.saddr
;
Undo Segment Header
===================
Start dump data blocks tsn: 2
file#:3 minblk 240 maxblk 240
Block dump from cache:
Dump of buffer cache
at level 4 for tsn=2, rdba=12583152
TRN CTL:: seq: 0x810c chd: 0x000e ctl: 0x0001 inc: 0x00000000
nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646
(0x7ffffffe)
uba: 0x00c000f1.810c.07 scn: 0x08cf.a62808da
Version:
0x01
FREE BLOCK POOL::
uba: 0x00c000f1.810c.08 ext: 0x0 spc:
0x1cd6
uba: 0x00000000.810b.05 ext: 0x2 spc: 0x1428
uba:
0x00000000.810b.05 ext: 0x2 spc: 0xad8
uba: 0x00000000.5ec2.01 ext:
0x2 spc: 0x1f84
uba: 0x00000000.0000.00 ext: 0x0 spc: 0x0
TRN TBL::
index state cflags wrap# uel scn
dba parent-xid nub stmt_num cmt
------------------------------------------------------------------------------------------------
0x00 9 0x00 0xd25c 0x000d 0x08cf.a6280b16 0x00c00c7d
0x0000.000.00000000 0x00000001 0x00000000 1335076357
0x01 9
0x00 0xd25e 0xffff 0x08cf.a6280fdc 0x00c000f1 0x0000.000.00000000
0x00000001 0x00000000 1335076926
0x02 9 0x00 0xd25f 0x0001
0x08cf.a6280ea4 0x00c000f1 0x0000.000.00000000 0x00000001 0x00000000
1335076768
0x03 9 0x00 0xd1cb 0x0002 0x08cf.a6280ea0 0x00c000f1
0x0000.000.00000000 0x00000001 0x00000000 1335076764
0x04 9
0x00 0xd264 0x0016 0x08cf.a6280a38 0x00c00c7d 0x0000.000.00000000
0x00000001 0x00000000 1335076237
0x05 9 0x00 0xd263 0x0018
0x08cf.a6280d77 0x00c00c7f 0x0000.000.00000000 0x00000001 0x00000000
1335076619
0x06 9 0x00 0xd267 0x0004 0x08cf.a62809d9 0x00c00c7d
0x0000.000.00000000 0x00000001 0x00000000 1335076188
0x07 9
0x00 0xd265 0x000f 0x08cf.a6280ba5 0x00c00c7e 0x0000.000.00000000
0x00000001 0x00000000 1335076418
0x08 9 0x00 0xd261 0x001b
0x08cf.a628099b 0x00000000 0x0000.000.00000000 0x00000000 0x00000000
1335076177
0x09 9 0x00 0xd22c 0x0017 0x08cf.a6280c58 0x00c00c7e
0x0000.000.00000000 0x00000001 0x00000000 1335076505
0x0a 9
0x00 0xd1f1 0x001a 0x08cf.a6280bd7 0x00c00c7e 0x0000.000.00000000
0x00000001 0x00000000 1335076453
0x0b 9 0x00 0xd25a 0x0000
0x08cf.a6280a5b 0x00c00c7d 0x0000.000.00000000 0x00000001 0x00000000
1335076240
0x0c
10 0x80 0xd259 0x0002 0x08cf.a6280e19 0x00c00c7f 0x0000.000.00000000
0x00000001 0x00000000 0
0x0d 9 0x00 0xd25c 0x0019
0x08cf.a6280b22 0x00c00c7d 0x0000.000.00000000 0x00000001 0x00000000
1335076357
0x0e 9 0x00 0xd0c9 0x0015 0x08cf.a62808fa 0x00c00c7c
0x0000.000.00000000 0x00000002 0x00000000 1335076118
0x0f 9
0x00 0xd25a 0x001e 0x08cf.a6280bab 0x00c00c7e 0x0000.000.00000000
0x00000001 0x00000000 1335076418
0x10 9 0x00 0xd262 0x001d
0x08cf.a6280b37 0x00c00c7d 0x0000.000.00000000 0x00000001 0x00000000
1335076358
0x11 9 0x00 0xd256 0x0012 0x08cf.a6280de7 0x00c00c7f
0x0000.000.00000000 0x00000001 0x00000000 1335076666
0x12 9
0x00 0xd264 0x0003 0x08cf.a6280e21 0x00c000f1 0x0000.000.00000000
0x00000001 0x00000000 1335076712
0x13 9 0x00 0xd258 0x001f
0x08cf.a6280b58 0x00c00c7e 0x0000.000.00000000 0x00000001 0x00000000
1335076366
0x14 9 0x00 0xd1ba 0x0011 0x08cf.a6280dcc 0x00c00c7f
0x0000.000.00000000 0x00000001 0x00000000 1335076658
0x15 9
0x00 0xd25b 0x0008 0x08cf.a628094c 0x00c00c7c 0x0000.000.00000000
0x00000001 0x00000000 1335076153
0x16 9 0x00 0xd1ec 0x000b
0x08cf.a6280a3a 0x00c00c7d 0x0000.000.00000000 0x00000001 0x00000000
1335076237
0x17 9 0x00 0xd259 0x001c 0x08cf.a6280c74 0x00c00c7e
0x0000.000.00000000 0x00000001 0x00000000 1335076528
0x18 9
0x00 0xd179 0x0014 0x08cf.a6280db2 0x00c00c7f 0x0000.000.00000000
0x00000001 0x00000000 1335076657
0x19 9 0x00 0xd252 0x0010
0x08cf.a6280b35 0x00c00c7d 0x0000.000.00000000 0x00000001 0x00000000
1335076358
0x1a 9 0x00 0xd25a 0x0009 0x08cf.a6280c2a 0x00c00c7e
0x0000.000.00000000 0x00000001 0x00000000 1335076486
0x1b 9
0x00 0xd260 0x0006 0x08cf.a62809ad 0x00c00c7d 0x0000.000.00000000
0x00000001 0x00000000 1335076186
0x1c 9 0x00 0xd25d 0x0020
0x08cf.a6280d33 0x00c00c7e 0x0000.000.00000000 0x00000001 0x00000000
1335076598
0x1d 9 0x00 0xd25c 0x0013 0x08cf.a6280b3b 0x00c00c7e
0x0000.000.00000000 0x00000002 0x00000000 1335076358
0x1e 9
0x00 0xd25d 0x000a 0x08cf.a6280bd5 0x00c00c7e 0x0000.000.00000000
0x00000001 0x00000000 1335076453
0x1f 9 0x00 0xd1f1 0x0007
0x08cf.a6280b5d 0x00c00c7e 0x0000.000.00000000 0x00000001 0x00000000
1335076368
0x20 9 0x00 0xd1ee 0x0021 0x08cf.a6280d4a 0x00c00c7e
0x0000.000.00000000 0x00000001 0x00000000 1335076608
0x21 9
0x00 0xd25d 0x0005 0x08cf.a6280d5f 0x00c00c7e 0x0000.000.00000000
0x00000001 0x00000000 1335076608
TRN CTL:: seq: 0x810c chd: 0x000e ctl: 0x0001 inc: 0x00000000
nfb: 0x0001
mgc: 0xb000 xts: 0x0068 flg: 0x0001 opt: 2147483646
(0x7ffffffe)
uba: 0x00c000f1.810c.07 scn:
0x08cf.a62808da
Transaction Control(TRN CTL::),記錄了這個回滾段首的transaction
table彙總資訊。
seq:表示block
sequence,每修改一次ctl,seq就遞增一次。
chd:表示可用的slot連結串列中的第一個slot編號,也就是下一個被重用的slot編號。slot的使用順序是總找一個最早的未使用的slot。
ctl:表示可用的slot連結串列的最後一個slot編號。
uba:當前在使用的slot最近修改的事務的第一個undo
record address。這個uba對應的undo record裡儲存了之前的trn ctl資訊(包括之前的uba資訊),所以transaction
control的歷史資訊是透過這個uba資訊去回溯的,這點不同於data
block的回滾。
scn:最近一個被重用的slot的事務提交時的scn資訊,也即是這個transaction
table裡直接記錄的所有已提交的事務中最早的scn。
Transaction Table(TRN TBL::),記錄了這個回滾段首的transaction table詳細資訊。每行記錄稱為一個slot,index是slot的編號,可以重用state=9的slot。wrap#表示重用次數。
index state cflags wrap# uel scn
dba parent-xid nub stmt_num cmt
------------------------------------------------------------------------------------------------
0x0c
10 0x80 0xd259 0x0002 0x08cf.a6280e19 0x00c00c7f 0x0000.000.00000000
0x00000001 0x00000000
0
index:slot編號
state:表示這行記錄的狀態:9,不活動;10,活動
cflags:表示這行記錄上的事務狀態:0x0,無事務;0x20,事務死掉;0x80,活動事務;0x90,事務已死,正在回滾
wrap#:slot重用次數
uel:slot連結串列中的下一個slot編號,活動的事務slot在一個連結串列中,不活動的事務slot在一個連結串列中
scn:表示該slot事務最後一次修改對應的scn資訊
dba:表示該slot事務最後一次修改對應的undo
記錄地址。回滾事務的時候從這個dba開始。
nub:這個事務使用的undo
block數量。如果正在回滾,這個數量會遞減。
cmt:最近的提交時間,精確到秒,是個差值,自1970年1月1日midnight(UTC)
alter system dump undo block '_SYSSMU8_625026625$' xid 8 12 53849;
********************************************************************************
Undo
Segment: _SYSSMU8_625026625$ (8)
xid: 0x0008.00c.0000d259
Low Blk :
(0, 0)
High Blk : (2, 127)
Object Id : ALL
Layer : ALL
Opcode : ALL
Level : 2
********************************************************************************
UNDO
BLK: Extent: 2 Block: 127 dba (file#, block#): 3,0x00000c7f
xid: 0x0008.00c.0000d259 seq:
0x810b cnt: 0x7 irb: 0x7 icl: 0x0 flg: 0x0000
Rec
Offset Rec Offset Rec Offset Rec Offset Rec
Offset
---------------------------------------------------------------------------
0x01
0x1f98 0x02 0x1f2c 0x03 0x1e8c 0x04 0x1dc8 0x05 0x1d78
0x06 0x1d0c 0x07 0x1bfc
*-----------------------------
*
Rec #0x7 slt: 0x0c objn: 97760(0x00017de0) objd: 97760 tblspc:
7(0x00000007)
* Layer: 11 (Row) opc: 1 rci 0x00
Undo type:
Regular undo Begin trans Last buffer split: No
Temp Object: No
Tablespace Undo: No
rdba: 0x00000000Ext idx: 0
flg2:
0
*-----------------------------
uba: 0x00c00c7f.810b.05 ctl max scn:
0x08cf.a6280806 prv tx scn: 0x08cf.a628082d
txn start scn: scn:
0x08cf.a6280e19 logon user: 92
prev brb: 12586107 prev bcl: 0
KDO
undo record:
KTB Redo
op: 0x03 ver: 0x01
compat bit: 4 (post-11)
padding: 1
op: Z
KDO Op code: URP
row dependencies Disabled
xtype: XA flags: 0x00000000 bdba:
0x0401830b hdba: 0x04018303
itli: 2 ispac: 0 maxfr: 4858
tabn: 0 slot:
0(0x0) flag: 0x2c lock: 0 ckix: 0
ncol: 2 nnew: 1 size: 99
col 1:
[100]
78 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20
注:
- undo block裡記錄了XID資訊,裡面有事務資訊,可以找到回滾段首。每個undo block裡的undo record不一定都屬於同一個事務(看每個undo reocord裡的具體的uba),但一定只有一個活動的事務(在回滾段首的事務表裡描述)。
- 每個事務的第一個undo record裡首先儲存了被修改的回滾段首的控制資訊。
4.Redo block
alter system dump logfile'/u01/arch/lp4pldev/1_89486_758821170.dbf' dba min 16 99083 dba max 16 99083 ;
*** 2012-04-22 17:17:56.358
Initial buffer sizes: read 1024K, overflow
832K, change 805K
Log read is SYNCHRONOUS though disk_asynch_io is
enabled!
DUMP OF REDO FROM FILE
'/u01/arch/lp4pldev/1_89486_758821170.dbf'
Opcodes *.*
......
REDO
RECORD - Thread:1 RBA:
0x015d8e.000000bc.0010 LEN:
0x0268 VLD: 0x05
SCN:
0x08cf.a6280e19 SUBSCN: 1 04/22/2012 14:38:25
(LWN RBA:
0x015d8e.000000bc.0010 LEN: 0002 NST: 04d SCN: 0x08cf.a6280e18)
CHANGE #1 TYP:0 CLS:31 AFN:3 DBA:0x00c000f0 OBJ:4294967295
SCN:0x08cf.a6280de7 SEQ:1 OP:5.2
ENC:0 RBL:0
ktudh redo: slt:
0x000c sqn: 0x0000d259 flg: 0x0012 siz: 272 fbi: 0
uba: 0x00c00c7f.810b.07 pxid:
0x0000.000.00000000
CHANGE #2 TYP:0
CLS:32 AFN:3 DBA:0x00c00c7f OBJ:4294967295
SCN:0x08cf.a6280de6 SEQ:2 OP:5.1
ENC:0 RBL:0
ktudb redo: siz: 272 spc: 7406 flg: 0x0012 seq: 0x810b rec:
0x07
xid: 0x0008.00c.0000d259
ktubl redo: slt: 12 rci: 0
opc: 11.1 [objn: 97760 objd: 97760 tsn: 7]
Undo type: Regular undo
Begin trans Last buffer split: No
Temp Object: No
Tablespace Undo:
No
0x00000000 prev ctl uba: 0x00c00c7f.810b.05
prev ctl
max cmt scn: 0x08cf.a6280806 prev tx cmt scn: 0x08cf.a628082d
txn start
scn: 0xffff.ffffffff logon user: 92 prev brb: 12586107 prev bcl: 0 BuExt
idx: 0 flg2: 0
KDO undo record:
KTB Redo
op: 0x03 ver: 0x01
compat bit: 4 (post-11) padding: 1
op: Z
KDO Op code: URP row
dependencies Disabled
xtype: XA flags: 0x00000000 bdba: 0x0401830b hdba:
0x04018303
itli: 2 ispac: 0 maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c
lock: 0 ckix: 0
ncol: 2 nnew: 1 size: 99
col 1: [100]
78 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
CHANGE #3 TYP:0 CLS:1 AFN:16
DBA:0x0401830b OBJ:97760 SCN:0x08cf.a6280ce6 SEQ:2 OP:11.5 ENC:0 RBL:0
KTB Redo
op:
0x01 ver: 0x01
compat bit: 4 (post-11) padding: 1
op: F xid:
0x0008.00c.0000d259 uba: 0x00c00c7f.810b.07
KDO Op code: URP row dependencies
Disabled
xtype: XA flags: 0x00000000 bdba: 0x0401830b hdba:
0x04018303
itli: 2 ispac: 0 maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c
lock: 2 ckix: 0
ncol: 2 nnew: 1 size: -99
col 1: [ 1] 79
CHANGE #4 MEDIA RECOVERY MARKER
SCN:0x0000.00000000 SEQ:0 OP:5.20
ENC:0
session number = 1155
serial number = 65179
transaction name
=
version 186647040
audit sessionid 6686373
Client Id =
login
username = B2BDBA
REDO RECORD - Thread:1 RBA: 0x015d8e.00000161.0010
LEN: 0x0070 VLD: 0x06
SCN: 0x08cf.a6280e97 SUBSCN: 1 04/22/2012
14:39:15
(LWN RBA: 0x015d8e.00000161.0010 LEN: 0001 NST: 04d SCN:
0x08cf.a6280e96)
CHANGE #1 MEDIA RECOVERY MARKER SCN:0x0000.00000000 SEQ:0
OP:23.1 ENC:0
Block Written - afn: 16 rdba: 0x0401830b BFT:(1024,67207947)
non-BFT:(16,99083)
scn: 0x08cf.a6280e19 seq: 0x01
flg:0x04
END OF REDO DUMP
----- Redo read statistics for thread 1
-----
Read rate (SYNC): 345Kb in 0.01s => 33.69 Mb/sec
Total redo
bytes: 345Kb Longest record: 0Kb, moves: 0/505 moved: 0Mb (0%)
Longest LWN:
6Kb, reads: 411
Last redo scn: 0x08cf.a6280fcd (9687938895821)
Change
vector header moves = 68/1156
(5%)
----------------------------------------------
注:
REDO RECORD - Thread:1 RBA: 0x015d8e.000000bc.0010 LEN: 0x0268 VLD:
0x05
SCN: 0x08cf.a6280e19
SUBSCN: 1 04/22/2012 14:38:25
(LWN RBA: 0x015d8e.000000bc.0010 LEN: 0002
NST: 04d SCN: 0x08cf.a6280e18)
RBA:Redo Byte Address, 10 bytes,由log sequence
number, block number within redo log, byte number within block
CHANGE #1 TYP:0 CLS:31 AFN:3
DBA:0x00c000f0 OBJ:4294967295
SCN:0x08cf.a6280de7 SEQ:1 OP:5.2
ENC:0 RBL:0
ktudh redo: slt:
0x000c sqn: 0x0000d259 flg: 0x0012 siz: 272 fbi: 0
uba: 0x00c00c7f.810b.07 pxid:
0x0000.000.00000000
change vector:描述data block的變化(包括data blocks,undo
block,undo segment header)
TYP:change type
CLS:change class:1,data block;
31,segment header for undo segment header; 32,data blocks for undo
segment
AFN:absolute file number
DBA:Relative Database Block
Address
OP:operation code:4,block cleanout; 5,transaction management;
10,index operations; 11 row operations
5.2 update transaction table in
undo segment header
CHANGE #3 TYP:0 CLS:1 AFN:16
DBA:0x0401830b OBJ:97760 SCN:0x08cf.a6280ce6 SEQ:2 OP:11.5 ENC:0 RBL:0
KTB Redo
op:
0x01 ver: 0x01
compat bit: 4 (post-11) padding: 1
op: F xid:
0x0008.00c.0000d259 uba: 0x00c00c7f.810b.07
KDO Op code: URP row dependencies
Disabled
11.5 URP update row
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9253450/viewspace-721983/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle學習筆記《一》Oracle筆記
- AQS原理學習筆記AQS筆記
- synchronized原理學習筆記synchronized筆記
- Hadoop學習筆記之一 : HDFS原理一Hadoop筆記
- springMVC學習筆記(一)-----springMVC原理SpringMVC筆記
- oracle學習筆記Oracle筆記
- 容斥原理學習筆記筆記
- oracle學習筆記零碎(一)Oracle筆記
- 計算機組成原理學習 筆記一計算機筆記
- Hadoop學習筆記之一 : HDFS原理二Hadoop筆記
- oracle 學習筆記 (ORACLE NET )Oracle筆記
- Oracle學習筆記(一)---oracle安裝和配置Oracle筆記
- CUUG筆記 ORACLE索引學習筆記筆記Oracle索引
- Oracle學習筆記2Oracle筆記
- Oracle學習筆記1Oracle筆記
- ORACLE dataguard學習筆記Oracle筆記
- Oracle FlashBack 學習筆記Oracle筆記
- ORACLE學習筆記(zt)Oracle筆記
- Oracle學習筆記-1Oracle筆記
- ORACLE學習筆記--效能最佳化一Oracle筆記
- 學習筆記(一)筆記
- Oracle DBA學習日記筆記Oracle筆記
- Oracle Scheduler學習筆記分享Oracle筆記
- oracle之awr學習筆記Oracle筆記
- Oracle基礎學習筆記Oracle筆記
- Oracle學習筆記之二Oracle筆記
- AD學習筆記----原理圖設計筆記
- 資料庫原理學習筆記——引言資料庫筆記
- kitten 學習教程(一) 學習筆記筆記
- oracle學習筆記--oracle常用的命令Oracle筆記
- LaTeX學習筆記:一筆記
- ANFIS學習筆記(一)筆記
- Angular 學習筆記(一)Angular筆記
- GOLang 學習筆記(一)Golang筆記
- React 學習筆記【一】React筆記
- Jquery學習筆記(一)jQuery筆記
- goLang學習筆記(一)Golang筆記
- Canvas學習筆記(一)Canvas筆記