SQL> create table tt1 tablespace users as select *from dba_objects;
表已创建。
SQL> insert into tt1 select * from tt1;
已创建11280行。
SQL> select xidusn,ubafil,ubablk,start_ubafil,start_ubablk from v$transaction;
XIDUSN UBAFIL UBABLK START_UBAFIL START_UBABLK
---------- ---------- ---------- ------------ ------------
14 7 61 7 180
SQL> alter system dump undo header "_SYSSMU14$";
系统已更改。
--dump信息如下:
--======================
index state cflags wrap# uel scn dba parent-xid nub stmt_num cmt
------------------------------------------------------------------------------------------------
.............
0x12 10 0x80 0x0992 0x0001 0x0000.018e34c1 0x01c0003d 0x0000.000.00000000 0x00000006 0x00000000 0
..............
--=======================
SQL> select dbms_utility.data_block_address_file(to_number('01c0003d','xxxxxxxx'
)) from dual;
DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE(TO_NUMBER('01C0003D','XXXXXXXX'))
----------------------------------------------------------------------
7
SQL> select dbms_utility.data_block_address_block(to_number('01c0003d','xxxxxxxx
')) from dual;
DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK(TO_NUMBER('01C0003D','XXXXXXXX'))
-----------------------------------------------------------------------
61
--很显然,undo segment header中记录的dba是该
事务使用的undo chain中的end block:61,start block是:180,而end block这是这条chain的头。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/19602/viewspace-1019053/ ,如需转载,请注明出处,否则将追究法律责任。