update一条语句的来龙去脉(二)

2014-11-24 14:31:50 · 作者: · 浏览: 1
S_ora_6532.trc
SQL>
session 3:
SQL> select addr,xidusn,xidslot,xidsqn,ubafil,ubablk,ubasqn,status from v$transaction;
select usn,latch,extents,rssize,xacts,gets,optsize,wraps,status from v$rollstat where xacts>0;
select * from v$rollname;
ADDR XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBASQN STATUS
---------------- ---------- ---------- ---------- ---------- ---------- ---------- ----------------
000000007BF283F0 20 31 4284 9 37599 91 ACTIVE
SQL> SQL>
USN LATCH EXTENTS RSSIZE XACTS GETS OPTSIZE WRAPS STATUS
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------------
20 0 32 20766720 1 27 0 ONLINE
SQL> SQL>
USN NAME
---------- ------------------------------
0 SYSTEM
11 _SYSSMU11_2531470812$
12 _SYSSMU12_3537717698$
13 _SYSSMU13_19894467$
14 _SYSSMU14_4095940644$
15 _SYSSMU15_452080806$
16 _SYSSMU16_3613570610$
17 _SYSSMU17_2475065771$
18 _SYSSMU18_892025711$
19 _SYSSMU19_927439322$
20 _SYSSMU20_487181632$
11 rows selected.
SQL> alter system dump undo header "_SYSSMU20_487181632$";
System altered.
SQL> col value for a50
SQL> select * from v$diag_info where name='Default Trace File';
INST_ID NAME VALUE
---------- ---------------------------------------------------------------- --------------------------------------------------
1 Default Trace File /opt/app/oracle/diag/rdbms/rhys/RHYS/trace/RHYS_or
a_6535.trc
SQL>
session 4:
SQL> set linesize 200
SQL> col name for a60
SQL> col value for a50
SQL> alter system dump datafile 9 block 37599;
System altered.
SQL> select * from v$diag_info where name='Default Trace File';
INST_ID NAME VALUE
---------- ------------------------------------------------------------ --------------------------------------------------
1 Default Trace File /opt/app/oracle/diag/rdbms/rhys/RHYS/trace/RHYS_or
a_6561.trc
SQL>
1)、查看redo record信息如下:
REDO RECORD - Thread:1 RBA: 0x00016c.0000000a.0010 LEN: 0x0218 VLD: 0x05
SCN: 0x0000.0050c823 SUBSCN: 1 10/24/2013 18:13:58
(LWN RBA: 0x00016c.0000000a.0010 LEN: 0002 NST: 0001 SCN: 0x0000.0050c823)
这是第一个改变向量:(change #1)
CHANGE #1 TYP:0 CLS:55 AFN:9 DBA:0x02400110 OBJ:4294967295 SCN:0x0000.0050c7ea SEQ:1 OP:5.2 ENC:0 RBL:0
ktudh redo: slt: 0x001f sqn: 0x000010bc flg: 0x000a siz: 160 fbi: 181
uba: 0x024092df.005b.01 pxid: 0x0000.000.00000000
获得信息为afn:相对文件 号为9(undo 表空间数据文件号);slt为:1f正是undo事务槽号;op:5.2表示(Opcode 2 : Update rollback segment header - KTURDH),
sequence为:10bc也是undo的warp值:0x10bc,uba:前镜像地址为,24092df,顺序号为:005b,irb为:01,这指向了undo中的内容信息如下(在后边有记录):
###############################################################
TRN TBL::
index state cflags wrap# uel scn dba parent-xid nub stmt_num cmt
-------------------------------------------------------------------------