日期:2014-05-16  浏览次数:20362 次

UNDO管理

一、Undo表空间和回滚段

1、Undo段的主要作用

(1)事务回滚

(2)事务恢复(实例恢复,利用回滚来恢复未提交的数据)

(3)读一致性(构造CR)

(4)闪回查询

 

2、查与undo相关的参数:

sys@OCM> show parameter undo

 

NAME                                 TYPE        VALUE

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

undo_management                      string      AUTO

undo_retention                       integer     900

undo_tablespace                      string      UNDOTBS1

从上面可以看出,UNDOTBS1就是当前使用的undo表空间。

 

3、Undo段:段头、回滚块

gyj@OCM> select * from v$rollname;

 

      USN NAME

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

        0 SYSTEM

        1 _SYSSMU1_592353410$

         2 _SYSSMU2_967517682$

        3 _SYSSMU3_1204390606$

        4 _SYSSMU4_1003442803$

        5 _SYSSMU5_538557934$

        6 _SYSSMU6_2897970769$

        7 _SYSSMU7_3517345427$

        8 _SYSSMU8_3901294357$

        9 _SYSSMU9_1735643689$

        10 _SYSSMU10_4131489474$

 

 gyj@OCM>select blocks,extents from dba_segments wheresegment_name='_SYSSMU10_4131489474$';

 

   BLOCKS    EXTENTS

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

      400          5

 

 gyj@OCM>select tablespace_name,extent_id,file_id,block_id,blocks from dba_extents whereSEGMENT_NAME='_SYSSMU10_4131489474$';

 

TABLESPACE_NAME                 EXTENT_ID    FILE_ID  BLOCK_ID     BLOCKS

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

UNDOTBS1                                0          3       272          8

UNDOTBS1                                1          3        384          8

UNDOTBS1            &nbs