ORACLE如何根据ITL找到前镜像的

SQL> select * from emp where sal=800;
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
 7369 SMITH      CLERK      7902 12/17/1980     800.00               20
1 rows selected
SQL> select dbms_rowid.rowid_relative_fno(rowid)file_id,dbms_rowid.rowid_block_number(rowid)block_id from emp  where sal=800;

   FILE_ID   BLOCK_ID
---------- ----------
         5        204
SQL> update emp set sal=1000 where sal=800;
1 row updated
SQL> alter system dump datafile 5 block 204;
系统已更改。
SQL> select  d.value||'/'||lower(rtrim(i.instance, chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name
  2              from
  3              ( select p.spid
  4              from sys.v$mystat m,sys.v$session s,sys.v$process p
  5              where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,
  6              ( select t.instance from sys.v$thread  t,sys.v$parameter  v
  7              where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i,
  8              ( select value from sys.v$parameter where name = 'user_dump_dest') d;

TRACE_FILE_NAME
--------------------------------------------------------------------------------
C:/ORACLE/PRODUCT/10.2.0/ADMIN/ROBINSON/UDUMP/robinson_ora_8056.trc
找到ITL记录,这里我们看0x03,应为update语句会lock一行,这里只有0x03的loc为1.
 Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0x01   0x0009.027.00000402  0x008000cd.0246.09  C---    0  scn 0x0000.001a027c
0x02   0x0003.021.000003e9  0x008002f5.021f.16  C---    0  scn 0x0000.001a41a8
0x03   0x0005.016.000003f9  0x008006de.0190.12  ----    1  fsc 0x0000.00000000
SQL> select xidusn,xidslot,xidsqn,ubafil,ubablk,ubasqn,ubarec from v$transaction;

    XIDUSN    XIDSLOT     XIDSQN     UBAFIL     UBABLK     UBASQN     UBAREC
---------- ---------- ---------- ---------- ---------- ---------- ----------
         5         22       1017          2       1758        400         18
从DSI中可以知道ITL中的XID=usn#.slot#.wrap#
我们找到0X03中的XID=0x0005.016.000003f9
SQL> select to_number('0005','XXXXX') from dual;
TO_NUMBER('0005','XXXXX')
-------------------------
                        5
SQL> select to_number('016','XXXXX')from dual;
TO_NUMBER('016','XXXXX')
------------------------
                      22
SQL> select to_number('000003f9','XXXXXXXXX')from dual;
TO_NUMBER('000003F9','XXXXXXXX
------------------------------
                          1017
在V$TRANSACTION中记录的XIDUSN,XIDSLOT,XIDSQN与ITL中的xid相吻合,下面验证uba
从DSI中可以知道UBA=DBA.seq#.rec#
现在找到0X03中的uba=0x008006de.0190.12,0x008006de表示的是DBA,那么我们可以用dbms_utility.data_block_address_file,
dbms_utility.data_block_address_block这两个函数来解析DBA
SQL> select dbms_utility.data_block_address_file(to_number('008006de','xxxxxxxxxxxx'))file_id,dbms_utility.data_block_address_block(
  2  to_number('008006de','xxxxxxxxxxxx'))block_id from dual;

   FILE_ID   BLOCK_ID
---------- ----------
         2       1758
SQL> select to_number('0190','xxxx') from dual;
TO_NUMBER('0190','XXXX')
------------------------
                     400
SQL> select to_number('12','xxxx') from dual;

TO_NUMBER('12','XXXX')
----------------------
                    18
到此,ITL中的记录完全吻合v$transaction的记录,现在dump undo回滚段,找到更改的前镜像
SQL> alter system dump datafile 2 block 1758;
系统已更改。
SQL> select  d.value||'/'||lower(rtrim(i.instance, chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name
  2              from
  3              ( select p.spid
  4              from sys.v$mystat m,sys.v$session s,sys.v$process p
  5              where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,
  6              ( select t.instance from sys.v$thread  t,sys.v$parameter  v
  7              where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i,
  8              ( select value from sys.v$parameter where name = 'user_dump_dest') d;

TRACE_FILE_NAME
--------------------------------------------------------------------------------
C:/ORACLE/PRODUCT/10.2.0/ADMIN/ROBINSON/UDUMP/robinson_ora_6588.trc
找到dump出来的文件,undo block中也必须记录xid 0x0005.016.000003f9这个信息,因此我们可以在undo的dump文件中查找该ITL是否存在,已经找到该信息
UNDO BLK: 
xid: 0x0005.016.000003f9  seq: 0x190 cnt: 0x12  irb: 0x12  icl: 0x0   flg: 0x0000
注意仔细查看XID与之前的XID 相同,然后我们根据cnt,也就是UBA=DBA.seq#.rec#中的rec#找到该记录rec#=x12也就是十进制的18也就是undo中的Rec #0x12,看这里的slt=0x16与ITL中记录xid 016吻合,到此ORACLE就能从这些信息找到前镜像了,下面我们还原c2 09,看看c2 09是否等于800
* Rec #0x12  slt: 0x16  objn: 52556(0x0000cd4c)  objd: 52556  tblspc: 6(0x00000006)
*       Layer:  11 (Row)   opc: 1   rci 0x00  
Undo type:  Regular undo    Begin trans    Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
uba: 0x008006de.0190.0f ctl max scn: 0x0000.001a54ba prv tx scn: 0x0000.001a550b
txn start scn: scn: 0x0000.001a6167 logon user: 55
 prev brb: 8390282 prev bcl: 0
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0006.00d.0000040c uba: 0x00800616.017a.26
                      flg: C---    lkc:  0     scn: 0x0000.0019ffe9
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x014000cc  hdba: 0x014000cb
itli: 3  ispac: 0  maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 0 ckix: 0
ncol: 8 nnew: 1 size: 0
col  5: [ 2]  c2 09
SQL> declare n number;
  2       begin
  3       dbms_stats.convert_raw_value('c209',n);
  4       dbms_output.put_line(n);
  5       end;
  6  /
800
PL/SQL procedure successfully completed
果然 c209等于800,到此,大家应该知道ORACLE是怎么通过ITL找到前纪录了吧。

下面附上两个dump文件,省略了些无关内容

 Object id on Block? Y
 seg/obj: 0xcd4c  csc: 0x00.1a6167  itc: 3  flg: E  typ: 1 - DATA
     brn: 0  bdba: 0x14000c9 ver: 0x01 opc: 0
     inc: 0  exflg: 0
 
 Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0x01   0x0009.027.00000402  0x008000cd.0246.09  C---    0  scn 0x0000.001a027c
0x02   0x0003.021.000003e9  0x008002f5.021f.16  C---    0  scn 0x0000.001a41a8
0x03   0x0005.016.000003f9  0x008006de.0190.12  ----    1  fsc 0x0000.00000000
 
data_block_dump,data header at 0x963787c
===============
tsiz: 0x1f80
hsiz: 0x2e
pbl: 0x0963787c
bdba: 0x014000cc
     76543210
flag=--------
ntab=1
nrow=14
frre=-1
fsbo=0x2e
fseo=0x1d49
avsp=0x1d1b
tosp=0x1d1b
0xe:pti[0] nrow=14 offs=0
0x12:pri[0] offs=0x1f5a
0x14:pri[1] offs=0x1f2f
0x16:pri[2] offs=0x1f04
0x18:pri[3] offs=0x1edb
0x1a:pri[4] offs=0x1eae
0x1c:pri[5] offs=0x1e85
0x1e:pri[6] offs=0x1e5c
0x20:pri[7] offs=0x1e34
0x22:pri[8] offs=0x1e0e
0x24:pri[9] offs=0x1de3
0x26:pri[10] offs=0x1dbd
0x28:pri[11] offs=0x1d97
0x2a:pri[12] offs=0x1d70
0x2c:pri[13] offs=0x1d49
block_row_dump:
tab 0, row 0, @0x1f5a
tl: 38 fb: --H-FL-- lb: 0x3  cc: 8
col  0: [ 3]  c2 4a 46
col  1: [ 5]  53 4d 49 54 48
col  2: [ 5]  43 4c 45 52 4b
col  3: [ 3]  c2 50 03
col  4: [ 7]  77 b4 0c 11 01 01 01
col  5: [ 2]  c2 0b
col  6: *NULL*
col  7: [ 2]  c1 15
tab 0, row 1, @0x1f2f
tl: 43 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4b 64
col  1: [ 5]  41 4c 4c 45 4e
col  2: [ 8]  53 41 4c 45 53 4d 41 4e
col  3: [ 3]  c2 4d 63
col  4: [ 7]  77 b5 02 14 01 01 01
col  5: [ 2]  c2 11
col  6: [ 2]  c2 04
col  7: [ 2]  c1 1f
tab 0, row 2, @0x1f04
tl: 43 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4c 16
col  1: [ 4]  57 41 52 44
col  2: [ 8]  53 41 4c 45 53 4d 41 4e
col  3: [ 3]  c2 4d 63
col  4: [ 7]  77 b5 02 16 01 01 01
col  5: [ 3]  c2 0d 33
col  6: [ 2]  c2 06
col  7: [ 2]  c1 1f
tab 0, row 3, @0x1edb
tl: 41 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4c 43
col  1: [ 5]  4a 4f 4e 45 53
col  2: [ 7]  4d 41 4e 41 47 45 52
col  3: [ 3]  c2 4f 28
col  4: [ 7]  77 b5 04 02 01 01 01
col  5: [ 3]  c2 1e 4c
col  6: *NULL*
col  7: [ 2]  c1 15
tab 0, row 4, @0x1eae
tl: 45 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4d 37
col  1: [ 6]  4d 41 52 54 49 4e
col  2: [ 8]  53 41 4c 45 53 4d 41 4e
col  3: [ 3]  c2 4d 63
col  4: [ 7]  77 b5 09 1c 01 01 01
col  5: [ 3]  c2 0d 33
col  6: [ 2]  c2 0f
col  7: [ 2]  c1 1f
tab 0, row 5, @0x1e85
tl: 41 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4d 63
col  1: [ 5]  42 4c 41 4b 45
col  2: [ 7]  4d 41 4e 41 47 45 52
col  3: [ 3]  c2 4f 28
col  4: [ 7]  77 b5 05 01 01 01 01
col  5: [ 3]  c2 1d 33
col  6: *NULL*
col  7: [ 2]  c1 1f
tab 0, row 6, @0x1e5c
tl: 41 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4e 53
col  1: [ 5]  43 4c 41 52 4b
col  2: [ 7]  4d 41 4e 41 47 45 52
col  3: [ 3]  c2 4f 28
col  4: [ 7]  77 b5 06 09 01 01 01
col  5: [ 3]  c2 19 33
col  6: *NULL*
col  7: [ 2]  c1 0b
tab 0, row 7, @0x1e34
tl: 40 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4e 59
col  1: [ 5]  53 43 4f 54 54
col  2: [ 7]  41 4e 41 4c 59 53 54
col  3: [ 3]  c2 4c 43
col  4: [ 7]  77 bb 04 13 01 01 01
col  5: [ 2]  c2 1f
col  6: *NULL*
col  7: [ 2]  c1 15
tab 0, row 8, @0x1e0e
tl: 38 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4f 28
col  1: [ 4]  4b 49 4e 47
col  2: [ 9]  50 52 45 53 49 44 45 4e 54
col  3: *NULL*
col  4: [ 7]  77 b5 0b 11 01 01 01
col  5: [ 2]  c2 33
col  6: *NULL*
col  7: [ 2]  c1 0b
tab 0, row 9, @0x1de3
tl: 43 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4f 2d
col  1: [ 6]  54 55 52 4e 45 52
col  2: [ 8]  53 41 4c 45 53 4d 41 4e
col  3: [ 3]  c2 4d 63
col  4: [ 7]  77 b5 09 08 01 01 01
col  5: [ 2]  c2 10
col  6: [ 1]  80
col  7: [ 2]  c1 1f
tab 0, row 10, @0x1dbd
tl: 38 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 4f 4d
col  1: [ 5]  41 44 41 4d 53
col  2: [ 5]  43 4c 45 52 4b
col  3: [ 3]  c2 4e 59
col  4: [ 7]  77 bb 05 17 01 01 01
col  5: [ 2]  c2 0c
col  6: *NULL*
col  7: [ 2]  c1 15
tab 0, row 11, @0x1d97
tl: 38 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 2]  c2 50
col  1: [ 5]  4a 41 4d 45 53
col  2: [ 5]  43 4c 45 52 4b
col  3: [ 3]  c2 4d 63
col  4: [ 7]  77 b5 0c 03 01 01 01
col  5: [ 3]  c2 0a 33
col  6: *NULL*
col  7: [ 2]  c1 1f
tab 0, row 12, @0x1d70
tl: 39 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 50 03
col  1: [ 4]  46 4f 52 44
col  2: [ 7]  41 4e 41 4c 59 53 54
col  3: [ 3]  c2 4c 43
col  4: [ 7]  77 b5 0c 03 01 01 01
col  5: [ 2]  c2 1f
col  6: *NULL*
col  7: [ 2]  c1 15
tab 0, row 13, @0x1d49
tl: 39 fb: --H-FL-- lb: 0x0  cc: 8
col  0: [ 3]  c2 50 23
col  1: [ 6]  4d 49 4c 4c 45 52
col  2: [ 5]  43 4c 45 52 4b
col  3: [ 3]  c2 4e 53
col  4: [ 7]  77 b6 01 17 01 01 01
col  5: [ 2]  c2 0e
col  6: *NULL*
col  7: [ 2]  c1 0b
end_of_block_dump
End dump data blocks tsn: 6 file#: 5 minblk 204 maxblk 204
undo的dump文件

UNDO BLK: 
xid: 0x0005.016.000003f9  seq: 0x190 cnt: 0x12  irb: 0x12  icl: 0x0   flg: 0x0000
 
 Rec Offset      Rec Offset      Rec Offset      Rec Offset      Rec Offset
---------------------------------------------------------------------------
0x01 0x1f68     0x02 0x1ce0     0x03 0x1c30     0x04 0x1b44     0x05 0x1ac0    
0x06 0x1a24     0x07 0x196c     0x08 0x18fc     0x09 0x1860     0x0a 0x17bc    
0x0b 0x16d4     0x0c 0x15e0     0x0d 0x157c     0x0e 0x1528     0x0f 0x1434    
0x10 0x13d0     0x11 0x137c     0x12 0x12cc    
 
*-----------------------------
* Rec #0x1  slt: 0x0d  objn: 9105(0x00002391)  objd: 9105  tblspc: 2(0x00000002)
*       Layer:  11 (Row)   opc: 1   rci 0x00  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x008006dd
*-----------------------------
KDO undo record:
KTB Redo
op: 0x02  ver: 0x01 
op: C  uba: 0x008006dd.0190.20
KDO Op code: QMD row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x00c08360  hdba: 0x00c00f5b
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 lock: 0 nrow: 19
slot[0]: 50
slot[1]: 51
slot[2]: 52
slot[3]: 53
slot[4]: 54
slot[5]: 55
slot[6]: 56
slot[7]: 57
slot[8]: 58
slot[9]: 59
slot[10]: 60
slot[11]: 61
slot[12]: 62
slot[13]: 63
slot[14]: 64
slot[15]: 65
slot[16]: 66
slot[17]: 67
slot[18]: 68
 
*-----------------------------
* Rec #0x2  slt: 0x0d  objn: 9106(0x00002392)  objd: 9106  tblspc: 2(0x00000002)
*       Layer:  10 (Index)   opc: 22   rci 0x01  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x02  ver: 0x01 
op: C  uba: 0x008006dd.0190.21
Dump kdilk : itl=2, kdxlkflg=0x21 sdc=1835036 indexid=0xc00f63 block=0x00c04dc6
(kdxlpu): purge leaf row
number of keys: 19
key sizes:
 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
key :(532):
 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 13 06 00 c0 83
 60 00 32 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 14 06
 00 c0 83 60 00 33 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2
 16 15 06 00 c0 83 60 00 34 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1
 03 03 c2 16 16 06 00 c0 83 60 00 35 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1
 02 02 c1 03 03 c2 16 17 06 00 c0 83 60 00 36 06 c5 02 3f 2d 1a 1b 03 c2 03
 1a 02 c1 02 02 c1 03 03 c2 16 18 06 00 c0 83 60 00 37 06 c5 02 3f 2d 1a 1b
 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 19 06 00 c0 83 60 00 38 06 c5 02 3f
 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 1a 06 00 c0 83 60 00 39 06
 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 1b 06 00 c0 83 60
 00 3a 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 1c 06 00
 c0 83 60 00 3b 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16
 1d 06 00 c0 83 60 00 3c 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03
 03 c2 16 1e 06 00 c0 83 60 00 3d 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02
 02 c1 03 03 c2 16 1f 06 00 c0 83 60 00 3e 06 c5 02 3f 2d 1a 1b 03 c2 03 1a
 02 c1 02 02 c1 03 03 c2 16 20 06 00 c0 83 60 00 3f 06 c5 02 3f 2d 1a 1b 03
 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 21 06 00 c0 83 60 00 40 06 c5 02 3f 2d
 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 22 06 00 c0 83 60 00 41 06 c5
 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 23 06 00 c0 83 60 00
 42 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 24 06 00 c0
 83 60 00 43 06 c5 02 3f 2d 1a 1b 03 c2 03 1a 02 c1 02 02 c1 03 03 c2 16 25
 06 00 c0 83 60 00 44
keydata/bitmap: (3):  ff ff ff
 
*-----------------------------
* Rec #0x3  slt: 0x12  objn: 9202(0x000023f2)  objd: 9202  tblspc: 2(0x00000002)
*       Layer:  11 (Row)   opc: 1   rci 0x00  
Undo type:  Regular undo    Begin trans    Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
uba: 0x008006dd.0190.1d ctl max scn: 0x0000.001a540f prv tx scn: 0x0000.001a5422
txn start scn: scn: 0x0000.001a60b0 logon user: 0
 prev brb: 8390282 prev bcl: 0
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0003.017.000003e6 uba: 0x008002e6.021f.10
                      flg: C---    lkc:  0     scn: 0x0000.001a21c0
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x00c01146  hdba: 0x00c01143
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 1(0x1) flag: 0x2c lock: 0 ckix: 0
ncol: 12 nnew: 2 size: -10
col  6: *NULL*
col  8: [ 2]  c1 02
 
*-----------------------------
* Rec #0x4  slt: 0x09  objn: 50047(0x0000c37f)  objd: 50047  tblspc: 2(0x00000002)
*       Layer:  11 (Row)   opc: 1   rci 0x00  
Undo type:  Regular undo    Begin trans    Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
uba: 0x008006de.0190.03 ctl max scn: 0x0000.001a5422 prv tx scn: 0x0000.001a542b
txn start scn: scn: 0x0000.001a60cd logon user: 51
 prev brb: 8390282 prev bcl: 0
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0006.005.0000041b uba: 0x0080064c.017e.02
                      flg: C---    lkc:  0     scn: 0x0000.001a60c6
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x00c05eb8  hdba: 0x00c05eb3
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 5(0x5) flag: 0x2c lock: 0 ckix: 0
ncol: 10 nnew: 2 size: 0
col  7: [ 7]  78 6d 0c 15 0b 08 07
col  8: [55]
 4d 47 4d 54 5f 41 44 4d 49 4e 5f 44 41 54 41 2e 45 56 41 4c 55 41 54 45 5f
 4d 47 4d 54 5f 4d 45 54 52 49 43 53 20 72 65 74 75 72 6e 65 64 20 32 20 76
 61 6c 75 65 73
 
*-----------------------------
* Rec #0x5  slt: 0x09  objn: 50050(0x0000c382)  objd: 50050  tblspc: 2(0x00000002)
*       Layer:  11 (Row)   opc: 1   rci 0x04  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0006.005.0000041b uba: 0x0080064c.017e.0c
                      flg: C---    lkc:  0     scn: 0x0000.001a60c6
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x00c05ed0  hdba: 0x00c05ecb
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 7(0x7) flag: 0x2c lock: 0 ckix: 0
ncol: 12 nnew: 2 size: 0
col  9: [ 2]  c1 02
col 10: [ 2]  c1 02
 
*-----------------------------
* Rec #0x6  slt: 0x09  objn: 49971(0x0000c333)  objd: 49971  tblspc: 2(0x00000002)
*       Layer:  10 (Index)   opc: 22   rci 0x05  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0009.017.00000410 uba: 0x0080037f.024c.1c
                      flg: C---    lkc:  0     scn: 0x0000.001a60ca
Dump kdilk : itl=2, kdxlkflg=0xc1 sdc=0 indexid=0xc05c83 block=0x00c05c86
(kdxlpu): purge leaf row
key :(44):
 10 0c 48 c5 ae 0f af b4 2e d9 1f 89 7f f3 98 fc 84 10 e5 a8 77 49 be 3a f2
 93 fa c9 13 39 fa d3 b0 b6 01 20 07 78 6d 0c 15 0b 12 39
LOGMINER DATA:
opcode: INSERT
 Number of columns supplementally logged: 0  Flag: SE [ RE ] Objv#: 1
 segcol# in Undo starting from 1
 segcol# in Redo starting from 1
 
*-----------------------------
* Rec #0x7  slt: 0x09  objn: 49974(0x0000c336)  objd: 49974  tblspc: 2(0x00000002)
*       Layer:  10 (Index)   opc: 22   rci 0x06  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0009.017.00000410 uba: 0x0080037f.024c.1f
                      flg: C---    lkc:  0     scn: 0x0000.001a60ca
Dump kdilk : itl=2, kdxlkflg=0xd1 sdc=1 indexid=0xc05c93 block=0x00c05c97
(kdxlcnu): column-vector nonkey update
ncol: 2 nnew: 2 size: 0 flag: 0x02
key :(36):
 10 0c 48 c5 ae 0f af b4 2e d9 1f 89 7f f3 98 fc 84 10 e5 a8 77 49 be 3a f2
 93 fa c9 13 39 fa d3 b0 b6 01 20
nonkey columns updated:
col  0: [ 7]  78 6d 0c 15 0b 08 07
col  1: [ 2]  c1 04
LOGMINER DATA:
opcode: UPDATE
 Number of columns supplementally logged: 0  Flag: SE [ ] Objv#: 1
 segcol# in Undo starting from 1
 segcol# in Redo starting from 4
 
*-----------------------------
* Rec #0x8  slt: 0x09  objn: 49970(0x0000c332)  objd: 49970  tblspc: 2(0x00000002)
*       Layer:  11 (Row)   opc: 1   rci 0x07  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0003.027.000003ec uba: 0x0080028e.0223.34
                      flg: C---    lkc:  0     scn: 0x0000.001a60c2
KDO Op code: DRP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x00c05c7c  hdba: 0x00c05c7b
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 212(0xd4)
 
*-----------------------------
* Rec #0x9  slt: 0x09  objn: 49971(0x0000c333)  objd: 49971  tblspc: 2(0x00000002)
*       Layer:  10 (Index)   opc: 22   rci 0x08  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0006.005.0000041b uba: 0x0080064c.017e.08
                      flg: C---    lkc:  0     scn: 0x0000.001a60c6
Dump kdilk : itl=2, kdxlkflg=0xc1 sdc=0 indexid=0xc05c83 block=0x00c04a32
(kdxlpu): purge leaf row
key :(44):
 10 0c 48 c5 ae 0f af b4 2e d9 1f 89 7f f3 98 fc 84 10 93 ef 46 77 bf 97 ae
 6e 15 ff a7 ac 22 c9 fc e2 01 20 07 78 6d 0c 15 0b 12 39
LOGMINER DATA:
opcode: INSERT
 Number of columns supplementally logged: 0  Flag: E [ RE ] Objv#: 1
 segcol# in Undo starting from 1
 segcol# in Redo starting from 1
 
*-----------------------------
* Rec #0xa  slt: 0x09  objn: 49974(0x0000c336)  objd: 49974  tblspc: 2(0x00000002)
*       Layer:  10 (Index)   opc: 22   rci 0x09  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x02  ver: 0x01 
op: C  uba: 0x008006de.0190.07
Dump kdilk : itl=2, kdxlkflg=0xd1 sdc=1 indexid=0xc05c93 block=0x00c05c97
(kdxlcnu): column-vector nonkey update
ncol: 2 nnew: 2 size: 0 flag: 0x02
key :(36):
 10 0c 48 c5 ae 0f af b4 2e d9 1f 89 7f f3 98 fc 84 10 93 ef 46 77 bf 97 ae
 6e 15 ff a7 ac 22 c9 fc e2 01 20
nonkey columns updated:
col  0: [ 7]  78 6d 0c 15 0b 08 07
col  1: *NULL*
LOGMINER DATA:
opcode: UPDATE
 Number of columns supplementally logged: 0  Flag: S [ ] Objv#: 1
 segcol# in Undo starting from 1
 segcol# in Redo starting from 4
 
*-----------------------------
* Rec #0xb  slt: 0x09  objn: 49973(0x0000c335)  objd: 49973  tblspc: 2(0x00000002)
*       Layer:  11 (Row)   opc: 1   rci 0x0a  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0003.027.000003ec uba: 0x0080028f.0223.02
                      flg: C---    lkc:  0     scn: 0x0000.001a60c2
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x00c05c90  hdba: 0x00c05c8b
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 5(0x5) flag: 0x04 lock: 0 ckix: 0
ncol: 1 nnew: 1 size: 0
col  0: [97]
 4e 6f 20 6d 65 74 72 69 63 20 64 61 74 61 20 66 72 6f 6d 20 62 6c 75 6f 37
 2e 61 73 69 61 70 61 63 69 66 69 63 2e 68 70 71 63 6f 72 70 2e 6e 65 74 2c
 72 6f 62 69 6e 73 6f 6e 2c 4c 49 53 54 45 4e 45 52 5f 62 6c 75 6f 37 2e 61
 73 69 61 70 61 63 69 66 69 63 2e 68 70 71 63 6f 72 70 2e 6e 65 74
 
*-----------------------------
* Rec #0xc  slt: 0x03  objn: 237(0x000000ed)  objd: 237  tblspc: 0(0x00000000)
*       Layer:  11 (Row)   opc: 1   rci 0x00  
Undo type:  Regular undo    Begin trans    Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
uba: 0x008006de.0190.04 ctl max scn: 0x0000.001a542b prv tx scn: 0x0000.001a5437
txn start scn: scn: 0x0000.001a60df logon user: 0
 prev brb: 8390282 prev bcl: 0
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0008.027.00000408 uba: 0x00800056.02ad.32
                      flg: C---    lkc:  0     scn: 0x0000.001a6033
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x0040067a  hdba: 0x00400679
itli: 2  ispac: 0  maxfr: 4863
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 0 ckix: 96
ncol: 19 nnew: 6 size: 7
col  4: [ 7]  78 6d 0c 15 0b 11 39
col  5: [ 7]  78 6d 0c 15 0b 12 39
col  6: [ 7]  78 6d 0c 15 0b 12 39
col  7: [21]
 c0 03 4c 2f 1e 3f 61 1e 3f 61 1e 3f 61 1e 3f 61 1e 3f 61 1f 45
col  9: [ 1]  80
col 10: [ 1]  80
 
*-----------------------------
* Rec #0xd  slt: 0x03  objn: 239(0x000000ef)  objd: 239  tblspc: 0(0x00000000)
*       Layer:  10 (Index)   opc: 22   rci 0x0c  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0008.027.00000408 uba: 0x00800056.02ad.34
                      flg: C---    lkc:  0     scn: 0x0000.001a6033
Dump kdilk : itl=2, kdxlkflg=0x1 sdc=0 indexid=0x400689 block=0x0040068a
(kdxlre): restore leaf row (clear leaf delete flags)
key :(15):  07 78 6d 0c 15 0b 12 39 06 00 40 06 7a 00 00
 
*-----------------------------
* Rec #0xe  slt: 0x03  objn: 239(0x000000ef)  objd: 239  tblspc: 0(0x00000000)
*       Layer:  10 (Index)   opc: 22   rci 0x0d  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x02  ver: 0x01 
op: C  uba: 0x008006de.0190.0d
Dump kdilk : itl=2, kdxlkflg=0x1 sdc=130507956 indexid=0x400689 block=0x0040068a
(kdxlpu): purge leaf row
key :(15):  07 78 6d 0c 15 0b 13 39 06 00 40 06 7a 00 00
 
*-----------------------------
* Rec #0xf  slt: 0x18  objn: 237(0x000000ed)  objd: 237  tblspc: 0(0x00000000)
*       Layer:  11 (Row)   opc: 1   rci 0x00  
Undo type:  Regular undo    Begin trans    Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
uba: 0x008006de.0190.0c ctl max scn: 0x0000.001a5437 prv tx scn: 0x0000.001a54ba
txn start scn: scn: 0x0000.001a612c logon user: 0
 prev brb: 8390282 prev bcl: 0
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0002.02e.000003fb uba: 0x00800e5b.0150.08
                      flg: C---    lkc:  0     scn: 0x0000.001a6111
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x0040067a  hdba: 0x00400679
itli: 2  ispac: 0  maxfr: 4863
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 0 ckix: 0
ncol: 19 nnew: 6 size: 7
col  4: [ 7]  78 6d 0c 15 0b 14 39
col  5: [ 7]  78 6d 0c 15 0b 15 39
col  6: [ 7]  78 6d 0c 15 0b 15 39
col  7: [21]
 c0 03 4c 2f 1e 3f 61 1e 3f 61 1e 3f 61 1e 3f 61 1e 3f 61 1f 45
col  9: [ 1]  80
col 10: [ 1]  80
 
*-----------------------------
* Rec #0x10  slt: 0x18  objn: 239(0x000000ef)  objd: 239  tblspc: 0(0x00000000)
*       Layer:  10 (Index)   opc: 22   rci 0x0f  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0002.02e.000003fb uba: 0x00800e5b.0150.0a
                      flg: C---    lkc:  0     scn: 0x0000.001a6111
Dump kdilk : itl=2, kdxlkflg=0x1 sdc=0 indexid=0x400689 block=0x0040068a
(kdxlre): restore leaf row (clear leaf delete flags)
key :(15):  07 78 6d 0c 15 0b 15 39 06 00 40 06 7a 00 00
 
*-----------------------------
* Rec #0x11  slt: 0x18  objn: 239(0x000000ef)  objd: 239  tblspc: 0(0x00000000)
*       Layer:  10 (Index)   opc: 22   rci 0x10  
Undo type:  Regular undo   Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
index undo for leaf key operations
KTB Redo
op: 0x02  ver: 0x01 
op: C  uba: 0x008006de.0190.10
Dump kdilk : itl=2, kdxlkflg=0x1 sdc=130507956 indexid=0x400689 block=0x0040068a
(kdxlpu): purge leaf row
key :(15):  07 78 6d 0c 15 0b 16 39 06 00 40 06 7a 00 00
 
*-----------------------------
* Rec #0x12  slt: 0x16  objn: 52556(0x0000cd4c)  objd: 52556  tblspc: 6(0x00000006)
*       Layer:  11 (Row)   opc: 1   rci 0x00  
Undo type:  Regular undo    Begin trans    Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
rdba: 0x00000000
*-----------------------------
uba: 0x008006de.0190.0f ctl max scn: 0x0000.001a54ba prv tx scn: 0x0000.001a550b
txn start scn: scn: 0x0000.001a6167 logon user: 55
 prev brb: 8390282 prev bcl: 0
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01 
op: L  itl: xid:  0x0006.00d.0000040c uba: 0x00800616.017a.26
                      flg: C---    lkc:  0     scn: 0x0000.0019ffe9
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x014000cc  hdba: 0x014000cb
itli: 3  ispac: 0  maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 0 ckix: 0
ncol: 8 nnew: 1 size: 0
col  5: [ 2]  c2 09
 
End dump data blocks tsn: 1 file#: 2 minblk 1758 maxblk 1758

你可能感兴趣的:(oracle,c,object,buffer,dependencies,layer)