虽然可以依赖undo数据来查询row的旧版本数据,甚至可以执行逻辑恢复。但是你不能期待在undo中找到非常旧的数据。undo数据主要是用来提供读一致性。

在11G中,提供了Flashback Data Archive新特性,Flashback Data Archive可以自动存储表随着时间的推移发生的改变,时间的长度由用户决定。超过archive的保留期限,Flashback Data Archive会自动清除老的数据,但是不能修改Flashback Data Archive中的数据。Flashback Data Archive不用在数据库级别开启,可以只对用户指定的表。

flashback data archive数据库中的一个逻辑容器,包含了某个表或多个表的历史数据,以及其retention和purge策略。

flashback data archive将数据放在用户指定的表空间中;

flashback data archive可以含有多个表; 通过将表放入不同的flashback data archive,不同的表可以设置不同的retention策略; 可以创建多个flashback data archivei,也可以为数据库设置默认的flashback data archive;

在数据过期一天后,数据库会自动purge flashback data archive的过期数据;

表开启flashback data archive功能后,数据库会创建一个内部历史表来存放历史数据。历史表相比源表,会增加一些时间戳列来标识事务信息。

对表开启flashback data archive功能后,oracle后台进程fbda(Flashback Data Archiver)负责将表的改变数据写入flashback data archive

insert 操作不会为历史表增加任何行,因为没有前镜像。update、delete操作,fdba进程会记录修改前的行到历史表。默认是每5分钟唤醒一次(oracle会自动调节这个频率),fdba会优先从buffer cache中的undo读取数据,如果已经被清空,就会从undo segments中读取信息。

Flashback Data Archive和Flashback Database的区别:

-前者不改变当前数据,只是提供了访问过去某个时间的数据;后者会将数据库变成过去某个时间的数据

-前者需要开启table track功能;后者需要开启flashback database功能

-前者是online特性;后者是offline特性

-前者可以在table级别;后者是数据库级别

监控flashback data archive:

-dba_flashback_archive_tables

-dba_flashback_archive

-dba_flashback_archive_ts

Flashback Data Archive存在的限制:

-可以在源表上增加列,但是不能删除列(除非先取消flashback archive,这样会丢失历史表中的数据)

-不能使用alter table命令来rename或修改源表的列

-不能使用alter table命令执行分区、子分区操作,或将long列转换成lob列

-不能drop table或truncate tablespace

11G新特性 -- flashback data archive(1)的更多相关文章

  1. 11G新特性 -- flashback data archive(2)

    创建Flashback Data Archive用户需要授予dba或flashback archive administer系统特权.flashback archive administer系统特权包 ...

  2. Flashback Data Archive ( Oracle Total Recall ) introduced in 11g

    Flashback Data Archive feature is part of Oracle Total Recall technology. Flashback Data Archive fea ...

  3. flashback data archive (转)

    闪回数据归档(Flashback Data Archive) 在Oracle 11g当中,对闪回技术再次进行了扩展,提供了一个全新的flashback方式,称之为闪回数据归档,本节我们将对闪回数据归档 ...

  4. 闪回之 Flashback Data Archive

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

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

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

  6. oracle闪回、闪回数据归档Flashback Data Archive (Oracle Total Recall)的真正强大之处、11gR2增强以及合理使用

    oracle的闪回很早就出来了,准确的说一直以来应该都较少被真正用户广为使用,除了dba和极少部分开发人员偶尔用于逻辑出错.误删恢复之外,较少被用于产生更有价值的用途. 各种闪回表flashback ...

  7. oracle flashback data archive闪回数据归档天坑之XID重用导致闪回查询数据重复

    我们有个系统使用了Oracle flashback data archive闪回数据归档特性来作为基于时间点的恢复机制,在频繁插入.更新期间发现SYS_FBA_HIST_NNNN表中的XID被两个事务 ...

  8. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境

    Duplication Database 介绍 Duplicate database可以按照用途分为2种: duplicate database(复制出一个数据库) duplicate standby ...

  9. 【MySQL】MariaDB10.2新特性--Flashback

    MariaDB10.2新特性--Flashback Flashback可以回滚到旧的数据,用于解决用户误删除数据的问题. 实战例子 MariaDB [zsd]> select * from te ...

随机推荐

  1. POJ1417 True Liars 并查集 动态规划 (种类并查集)

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - POJ1417 题意概括 有一群人,p1个好人,p2个坏人. 他们说了n句话.(p1+p2<=600,n ...

  2. BZOJ4993 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4993 题意概括 有上下两行长度为 n 的数字序列 A 和序列 B,都是 1 到 n 的排列,若 a ...

  3. java中对于二位数组的简单操作,进而可以递推复杂操作

    1.程序 2.结果 3.内循环的次数 arr[x].length

  4. php特别值

    if(!isset($lichi)){ echo'未定义'; if(empty($lichi)){ echo '未定义的显示为空的';//最终会走到这来 } } 手册类型比较表 empty为真$x = ...

  5. Gym - 100548G The Problem to Slow Down You

    依然是回文树. 我们只需要吧siz[]改成统计两边的siz[][0/1],然后把两个字符中间随便加一个不会出现的字符拼起来,做一遍回文树统计一下就OJBK了 #include<bits/stdc ...

  6. Codeforces.297C.Splitting the Uniqueness(构造)

    题目链接 \(Description\) 给定一个长为n的序列A,求两个长为n的序列B,C,对任意的i满足B[i]+C[i]=A[i],且B,C序列分别至少有\(\lfloor\frac{2*n}{3 ...

  7. window10总提示幸福倒计时,解决方法

    删除window用于标识计算机更新的临时文件,需要先停止功能Windows Update. 在开始菜单的“搜索程序和文件”框输入“Services.msc”命令打开服务窗口 打开Windows Upd ...

  8. 响应式 Web 设计指南「实践篇」

    无论你是奔赴战场.跑马拉松,还是构建一个响应式的站点,准备工作都是关键. 创建一个响应式的站点意味着要考虑多样化的设备生态系统. 如果没有适当的准备,你将发现自己会因为缺少必要的部分而忙里忙外,并且站 ...

  9. mongodb group操作 以及管道 aggregate 分组排序分页

    分组获取数据: db.express_info.group({ "key":{"express_code":true}, "initial" ...

  10. orm Lite的使用

    1.什么是ORM Lite orm Lite(Object Relationanl Mapping Lite)是一种用于持久化保存java对象的框架,相对于标准的ORM包来说. 2. Demo ●声明 ...