创建Flashback Data Archive
用户需要授予dba或flashback archive administer系统特权。flashback archive administer系统特权包含:create flashback archive,alter flashback archive,drop flashback archive权利。

SQL> select * from dba_sys_privs where privilege like '%FLASH%';

GRANTEE                        PRIVILEGE                                ADM COM
------------------------------ ---------------------------------------- --- ---
SYS FLASHBACK ANY TABLE NO NO
DBA FLASHBACK ANY TABLE NO NO
SYS FLASHBACK ARCHIVE ADMINISTER NO NO
DBA FLASHBACK ARCHIVE ADMINISTER NO NO
MDSYS FLASHBACK ANY TABLE NO NO SQL> grant flashback archive administer to hr;
SQL> create tablespace flash_tbs datafile '/u01/app/oracle/oradata/yb/flash01.dbf' size 300m autoextend on next 30m maxsize 5g;
SQL> create flashback archive flash1 tablespace flash_tbs retention year;

创建Flashback Data Archive:

SQL> create tablespace tbs1 datafile '/u01/app/oracle/oradata/dbt/tbs101.dbf' size 2G;
SQL> create flashback archive default fla1 tablespace tbs1 quota 1g retention month;

修改Flashback Data Archive:

#设置默认的flashback data archive
SQL> alter flashback archive fla1 set default;
#flashback data archive 添加表空间
SQL> alter flashback archive fla1 add tablespace tbs2 quota1g;
SQL> alter flashback archive fla1 add tablespace tbs3;
#修改配额
SQL> alter flashback archive fla1 modify tablespace tbs3 quota 20G;
#修改期限
SQL> alter flashback archive fla1 modify retention year;
#移除一个表空间
SQL> alter flashback archive fla1 remove tablespace tbs2;
#purge历史数据
SQL> alter flashback archive fla1 purge all;
SQL> alter flashback archive fla1 purge before timestamp(systimestamp-inteval '' day);
SQL> alter flashback archive fla1 purge before scn ;

删除Flashback Data Archive:

SQL> drop flashback archive fla1;

开启、取消flashback data archive:
缺省情况下没有对表开启Flashback Data Archive

SQL> create table test1( name varchar2(),address varchar2()) flashback archive flash1;
SQL> select * from dba_flashback_archive_tables; TABLE_NAME OWNER_NAME FLASHBACK_ARCHIVE_NAME ARCHIVE_TABLE_NAME STATUS
------------------------- ------------------------- ------------------------------ ----------------------------------------------------- -------------
TEST1 HR FLASH1 SYS_FBA_HIST_106929 ENABLED SQL> create table test2( name varchar2(),address varchar2()) ;
SQL> alter table test2 flashback archive;
SQL> select * from dba_flashback_archive_tables; TABLE_NAME OWNER_NAME FLASHBACK_ARCHIVE_NAME ARCHIVE_TABLE_NAME STATUS
------------------------- ------------------------- ------------------------------ ----------------------------------------------------- -------------
TEST1 HR FLASH1 SYS_FBA_HIST_106929 ENABLED
TEST2 HR FLASH1 SYS_FBA_HIST_106930 ENABLED SQL> alter table test2 no flashback archive;
SQL> drop flashback archive flash1;

Flashback Data Archive开启对DDL的支持:
只支持以下DDL语句:
-alter table
-truncate table
-rename table
如果使用了不受支持的DDL语句,可以先用dbms_flashback_archive.disassociate_fba过程使得表和flashback data archive分离,DDL操作完成后使用dbms_flashback_archive.reassociate_fba重新关联

示例:

SQL> create table test01(id int,name varchar2(),job varchar2()) flashback archive fla1;

Table created.

SQL> insert into test01 values(,'hello','tec');

 row created.

SQL> commit;

Commit complete.

SQL> select to_char(systimestamp, 'YYYY-MM-DD HH24:MI:SS') FROM dual;

TO_CHAR(SYSTIMESTAM
-------------------
-- :: SQL> update test01 set job='dev' where id=; row updated. SQL> commit; Commit complete. SQL> select to_char(systimestamp, 'YYYY-MM-DD HH24:MI:SS') FROM dual; TO_CHAR(SYSTIMESTAM
-------------------
-- :: SQL> update test01 set job='dba' where id=; row updated. SQL> commit; Commit complete. SQL> select to_char(systimestamp, 'YYYY-MM-DD HH24:MI:SS') FROM dual; TO_CHAR(SYSTIMESTAM
-------------------
-- :: SQL> select * from test01; ID NAME JOB
---------- -------------------- --------------------
hello dba SQL> SELECT * FROM test01 AS OF TIMESTAMP TO_TIMESTAMP ('2015-11-03 10:06:04', 'YYYY-MM-DD HH24:MI:SS'); ID NAME JOB
---------- -------------------- --------------------
hello dev SQL>

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

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

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

  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. 51Nod 算法马拉松28 A题 先序遍历与后序遍历 分治

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - 51Nod1832 题意概括 对于给定的一个二叉树的先序遍历和后序遍历,输出有多少种满足条件的二叉树. 两棵二 ...

  2. HDU1575-Tr 【矩阵快速幂】(模板题)

    <题目链接> 题目大意: A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973.  Input 数据的第一行是一个T,表示有T组数据. 每组数据的第 ...

  3. Spring框架学习02——Spring IOC 详解

    1.Spring IOC的基本概念 IOC(Inverse of Control)反转控制的概念,就是将原本在程序中手动创建对象的控制权,交由Spring框架管理.当某个Java对象(调用者)需要调用 ...

  4. Java开发人员必须掌握的Linux命令(三)

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣)的表达来讲解知识或者技术,让学习之旅充满乐趣,这就是写博 ...

  5. Qt 4.6.2静态编译后,创建工程出现中文乱码的解决办法

    一.如果静态编译是用mingw编译的 1)在pro文件里增加QTPLUGIN += qcncodecs 2)在main函数所在的文件里面增加#include <QtPlugin>和Q_IM ...

  6. Java之String、StringBuilder、StringBuffer的区别

    String : 字符串常量,它们的值在创建之后不能更改.代表字符串,Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. String的值是不可变的,这就 ...

  7. sitemap xml文件生成

    sitemap xml生成方法 <?php /** * SitemapService.php. * * 生成sitemap */ class Sitemap { public $newLine ...

  8. WordPress主题开发实例:利用侧边栏工具显示联系方式

    利用侧边栏显示联系方式是很方便的 一.先开启侧边栏工具,在functions.php加上 $args = array( 'name' => __( '分类侧边栏'), 'id' => 'c ...

  9. Java中部分常见语法糖

    语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率.说白了,语法糖就是对现有语法的一 ...

  10. 手把手教你 Mockito 的使用

    什么是 Mockito Mockito 是一个强大的用于 Java 开发的模拟测试框架, 通过 Mockito 我们可以创建和配置 Mock 对象, 进而简化有外部依赖的类的测试.使用 Mockito ...