UNDO Retntion

Flashback Query和Flashback Table都是利用UNDO内容来完成的,所以恢复效果取决于保留的UNDO内容多少,要达到理想效果,就要考虑UNDO_RETENTION的参数设置。

UNDO_RETENTION参数定义的是提交修改后的UNDO记录还要保留多长时间。但是Oracle并不强制保留这么长时间,如果UNDO空间不够,即使还没有达到时间限制,这些记录还是会被覆盖。可以通过在UNDO表空间或者数据库设置Retention Guarantee来强制这种保留时间限制,缺省时这个特性没有启用。这个属性可以在dba_tablespace视图中查看。

(1)缺省状态下,Guarantee没有启动。

  
  
  
  
  1.  SQL> select tablespace_name,retention from dba_tablespaces;  
  2.  
  3. TABLESPACE_NAME RETENTION  
  4. --------------- -------  
  5. SYSTEM          NOT APPLY  
  6. UNDOTBS1        NOGUARANTEE 

(2)启动Retention Guarantee。

  
  
  
  
  1. SQL> alter tablespace undotbs1 retention guarantee;  
  2.  
  3. Tablespace altered. 

(3)确认修改生效。

  
  
  
  
  1. SQL> select tablespace_name,retention from dba_tablespaces;  
  2.  
  3. TABLESPACE_NAME RETENTION  
  4. --------------- --------  
  5. SYSTEM          NOT APPLY  
  6. UNDOTBS1        GUARANTEE 

最后通过表10-3对Flashback工具集做一下总结。

表10-3 Flashback家族技术总结

工  具  集

Flashback Log

Tablesapce Bin

UNDO

目   的

Flashback

Database

 

 

回滚数据库

Flashback Drop

 

 

恢复用户

误删除的表

Flashback

Version Query

 

 

恢复用户

误操作的数据

Flashback

 Transaction

Query

 

 

同上

Flashback Table

 

 

同上,但是

在数据表级别

你可能感兴趣的:(UNDO Retntion)