WEB开发网
开发学院数据库Oracle 从Undo, Redo, DataFile看Oracle中的事务过程 阅读

从Undo, Redo, DataFile看Oracle中的事务过程

 2009-06-12 11:51:00 来源:WEB开发网   
核心提示: SQL> select usn, name from v$rollname where usn=10; USN NAME-- -- 10 _SYSSMU10$这里的usn即为transaction的xidusn5:Dump回滚段的头信息及块信息SQL> alter system

SQL> select usn, name from v$rollname where usn=10;

USN NAME

---------- ------------------------------

10 _SYSSMU10$

这里的usn即为transaction的xidusn

5:Dump回滚段的头信息及块信息

SQL> alter system dump undo header '_SYSSMU10$';

System altered.

回滚段的header中会纪录事务槽信息,

  TRN TBL::
 
  index  state cflags  wrap#    uel         scn            dba            parent-xid    nub     stmt_num
  ------------------------------------------------------------------------------------------------
   0x1a    9    0x00  0x5147  0x0019  0x0000.027c09b1  0x0080055f  0x0000.000.00000000  0x00000001   0x00000000
   0x1b   10    0x80  0x5147  0x0002  0x0000.027c0b03  0x0080055f  0x0000.000.00000000  0x00000001   0x00000000
   0x1c    9    0x00  0x5146  0x001d  0x0000.02778562  0x0080055d  0x0000.000.00000000  0x00000001   0x00000000

注意:state:10为active, 9为inactive

dba:为回滚块的地址,根据这个地址,我们可以计算出file#及block#

0x0080055f 

0000 0000 10 00 0000 0000 0101 0101 1111

----------------  ------------------------------------

file#2              block#1375

当然这个值可以不用计算,transaction的ubafil,ubablk分别为file#, block#。

上一页  1 2 3 4 5 6  下一页

Tags:Undo Redo DataFile

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接