Flashback archive

在Oracle 10g中的lashback 包括: flashbackversion query、flashback transaction query、flashback database、flashbacktable和flashback drop等。 在这些闪回技术当中,除了Flashback Database(依赖于闪回日志)之外,其他的闪回技术都是依赖于Undo撤销数据,都与数据库初始化参数UNDO_RETENTION密切相关。

从undo中读取信息来构造旧数据的,这样就有一个限制,就是undo中的信息不能被覆盖。而undo段是循环使用的,只要事务提交,之前的undo信息就可能被覆盖,虽然可以通过 undo_retention等参数来延长undo的存活期,但这个参数会影响所有的事务,设置过大,可能导致undo tablespace快速膨胀。

Oracle11g中flashback增加了Flashback Data Archive 特性。该技术与之前的Flashback的实现机制不同,通过将变化数据另外存储到创建的闪回归档区(Flashback Archive)中,以和undo区别开来,这样就可以为闪回归档区单独设置存储策略,使之可以闪回到指定时间之前的旧数据而不影响undo策略。并且可以根据需要指定哪些数据库对象需要保存历史变化数据,而不是将数据库中所有对象的变化数据都保存下来,这样可以极大地减少空间需求。

FlashbackData Archive并不是记录数据库的所有变化,而只是记录了指定表的数据变化。所以,Flashback Data Archive是针对对象的保护,是Flashback Database的有力补充。

通过FlashbackData Archive,可以查询指定对象的任何时间点(只要满足保护策略)的数据,而且不需要用到undo,这在有审计需要的环境,或者是安全性特别重要的高可用数据库中,是一个非常好的特性。缺点就是如果该表变化很频繁,对空间的要求可能很高。

闪回数据归档区是闪回数据归档的历史数据存储区域,在一个系统中,可以有一个默认的闪回数据归档区,也可以创建其他许多的闪回数据归档区域。 每一个闪回数据归档区都可以有一个唯一的名称。同时,每一个闪回数据归档区都对应了一定的数据保留策略。

Flashback archive 的限制条件

(1)Flashback data archive只能在ASSM的tablespace上创建
     (2)Flashback data archive要求必须使用自动undo管理,

即 undo_management 参数为auto

对表启用Flashback archive,并使用默认的Flashback archive。

(1).  You have the FLASHBACK ARCHIVE object privilege on theFlashback Data Archive to use for that table.

(2).  The table is neither nested, clustered, temporary,remote, or external.

(3).  The table contains neither LONG nor nested columns.

赋予权限grant flashback archive administer to stat;

实施步骤如

1 创建表空间

Createtablespace fd1 datafile '/home/oracle/app/oracle/oradata/esb/fda4.dbf' size200m;

Create tablespace fd2datafile '/home/oracle/app/oracle/oradata/esb/fda5.dbf' size 200m;

1.2创建Flashback Archive(只能有一个默认的)

create flashbackarchive fla1 tablespace fd1 retention 7 day/month/year;

create flashbackarchive default fla2 tablespace fd2 quota 10M retention 1 year;

alter flashback archive fla set default--设置默认闪回归档

1.3启用archive

SQL> alter table test flashback archive;

Table altered.

启用Flashback archive,并指定FlashabackArchive 区。

SQL> alter table testflashback archive fla1;

Table altered.

1.4 禁用表的Flashback Archive

SQL> alter table test no flashbackarchive;

Table altered.

1.5 清空Flashback Archive 中超过1天的历史数据

SQL> alter flashback archive fla1 purge beforetimestamp (systimestamp - interval '1' day);

Flashback archive altered.

清空Flashback Archive 中指定SCN 之前的所有历史数据

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

1315755078

alter flashback archive fla1 purge before scn 1315755078

清空Flashback Archive中的所有历史记录

SQL> alter flashback archive fla1 purgeall;

Flashback archive altered.

Archive的操作

修改已经存在的FlashbackArchive 为default

SQL> alter flashback archive fla1 set default;

Flashback archive altered.

将表空间从Flashback Archive中移除

SQL> alter flashback archive fla1 removetablespace fda4;

Flashback archive altered

启动Flashback Data Archive的表支持以下的DDL 操作

(1)ALTER TABLE statement that does any of the following:

1)Adds, drops,renames, or modifies a column

2)Adds, drops,or renames a constraint

3)Drops ortruncates a partition or subpartition operation

(2)TRUNCATETABLE statement

(3)RENAMEstatement that renames a table

Flashback archive相关数据字典

select * fromdba_flashback_archive;

select * fromdba_flashback_archive_ts;

select * fromdba_flashback_archive_tables;

Flashback archive的后台进程

Oracle11g为Flashbackdata archive特性专门引入了一个新的后台进程FBDA,用于将追踪表(traced table,也就是将指定使用flashback data archive的table)的历史变化数据转存到闪回归档区。

测试结果

11.2.0.2 支持add,drop column,还支持truncatetable,不支持drop table

11.1.0.7只支持add column,如果要做其它的操作,需要清除以前的记录跟踪,需要重新开始.

Flashback archive相关推荐

  1. Oracle Study学习之--Flashback Archive

    Oracle Study学习之--Flashback Archive CREATE FLASHBACK ARCHIVE Purpose Use the CREATE FLASHBACK ARCHIVE ...

  2. oracle flashback archive,ORACLE 11G flashback archive

    ORACLE 11G flashback archive 闪回数据存档,它是由一个或多个表空间存储对指定表进行的更改,也可对数据库级别做闪回数据存档 create flashback archive的 ...

  3. oracle flashback与归档关系,Oracle Flashback Archive——Oracle闪回归档(下)

    Flashback Archive是Oracle 11g推出的具有针对性和强制性的数据透明归档技术.本篇我们集中介绍与该特性相关的权限和DDL操作问题. 9.Flashback Archive相关权限 ...

  4. oracle flashback与归档关系,Oracle闪回归档(下) —— Oracle Flashback Archive

    另一个与flashback archive相关的系统权限是flashback archive administrator,拥有这个权限的用户可以执行下列操作类型: -Create flashback ...

  5. oracle flashback archive,ORACLE Flashback Data Archive

    Flashback Data Archive 11g的新功能,有如下特性. 1.在有效期内保存事务改变的信息. 2.FDA包含一个或多个表空间,可以创建多个FDA,以sysdba登陆时,可以指定默认的 ...

  6. [每日一题] 11gOCP 1z0-053 :2013-09-29 Flashback Data Archive ...................................6...

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/12205299 正确答案:A 具体请参考:http://blog.csdn.net/guoy ...

  7. 闪回之 Flashback Data Archive

    背景: Oracle 11g 中 Flashback Data Archive 特性.将变化数据另外存储到创建的闪回归档区(Flashback Archive)中,以和 undo 区别开来,这样就可以 ...

  8. Flashback Data Archive(转)

    自己一直希望找到一篇关于将一个表的一列不小心删除了,怎么来修复,可是一直找不到,自己最近看到一篇在oracle11的一篇文章,特意在这里转一下,没有试过,因为自己的是10,如果那个网友有在10下实现的 ...

  9. oracle 11g Flashback Data Archive(闪回数据归档)

    Flashback Data Archive(闪回数据归档) UNDO表空间记录的回滚信息虽然可以提供回闪查询,但时间久了,这些信息会被覆盖掉,其实只要事务一提交,他们就变成可覆盖的对象了,所以经常在 ...

最新文章

  1. 启动 ServiceFabric Windows服务报1053
  2. Spring - @ControllerAdvice + @ExceptionHandler全局处理Controller层异常(转)
  3. js获取select标签选中的值
  4. 机房系统(二)——【数据设定 注册 】
  5. 非Java专家的APM:什么泄漏?
  6. 移动视频监控(2)---原型开发---(音视频编解码多平台移植(for window/wince))ffmpeg --自由之路即是曲折之路。...
  7. FastStone Capture 注册码 序列号
  8. Python框架篇之Django(路由系统URL、视图函数views)
  9. python chardet_Python - chardet
  10. 运营商缺的是应用还是想法--广州晨皓
  11. redis做分布式id
  12. 【面经】各大AI研究院共35场NLP算法岗面经奉上
  13. 未能正确加载包“Microsoft.Data.Entity.Design.Package.MicrosoftDataEntityDesignPackage
  14. 如何将文件快速拷入自己的谷歌云盘
  15. 【嵌入式--伺服电机】电磁理论的基础概念
  16. java展示图片_Java中显示图片的方法
  17. java中console_java的Console类的使用方法及实例
  18. 离谱!全公司电脑Alt键被抠掉,就为防员工摸鱼...
  19. 关于步进电机励相数、拍数、励磁方式、编码
  20. 哈希(Hashing)

热门文章

  1. weblogic修改密码
  2. 用C语言打印简单图案(爱心\圆形\三角形等)
  3. [OTA-day3SPI]W25Q64擦写
  4. 卷积神经网络(CNN)详细介绍及其原理详解
  5. 北航计算机学院往年夏令营+考研面试题目汇总
  6. 【名词】DAU和MAU
  7. 什么是IO流?怎样区分不同种类的IO流?
  8. 找出N个元素的数组中最大的K个数
  9. python里的self
  10. vector 通俗易懂描述