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

创建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 4 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 1 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 2 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 ‘1‘ day);
SQL> alter flashback archive fla1 purge before scn 123456;

删除Flashback Data Archive:

SQL> drop flashback archive fla1;

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

SQL> create table test1( name varchar2(30),address varchar2(30)) 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(30),address varchar2(30)) ;
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(20),job varchar2(20)) flashback archive fla1;

Table created.

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

1 row created.

SQL> commit;

Commit complete.

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

TO_CHAR(SYSTIMESTAM
-------------------
2015-11-03 10:03:04

SQL> update test01 set job=‘dev‘ where id=1;

1 row updated.

SQL> commit;

Commit complete.

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

TO_CHAR(SYSTIMESTAM
-------------------
2015-11-03 10:06:04

SQL>  update test01 set job=‘dba‘ where id=1;

1 row updated.

SQL> commit;

Commit complete.

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

TO_CHAR(SYSTIMESTAM
-------------------
2015-11-03 10:09:02

SQL> select * from test01;

        ID NAME                 JOB
---------- -------------------- --------------------
         1 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
---------- -------------------- --------------------
         1 hello                dev

SQL> 
时间: 2024-10-27 07:18:14

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

闪回之 Flashback Data Archive

背景:Oracle 11g 中 Flashback Data Archive 特性.将变化数据另外存储到创建的闪回归档区(Flashback Archive)中,以和 undo 区别开来,这样就可以为闪回归档区单独设置存储策略,使之可以闪回到指定时间之前的旧数据而不影响 undo 策略.并且可以根据需要指定哪些数据库对象需要保存历史变化数据,而不是将数据库中所有对象的变化数据都保存下来,而只是记录了指定表的数据变化.所以,Flashback Data Archive 是针对对象的保护,是 Fla

Oracle 11g 新特性 -- Oracle Restart 说明(转载)

转载:http://blog.csdn.net/tianlesoftware/article/details/8435670 一.  OHASD 说明 Oracle 的Restart 特性是Oracle 11g里的新特性,在讲这个特性之前先看一下Oracle 11g RAC的进程.之前的Blog 有说明. Oracle 11gR2RAC 进程说明 http://blog.csdn.net/tianlesoftware/article/details/6009962 Oracle 11gR2 中对

Oracle 灾难恢复以及11g新特性恢复指导

实验: 数据库灾难恢复(数据文件.控制文件.参数文件.归档文件等丢失) 法一:利用冷备 法二:RMAN恢复及11g新特性(list/advise/repair failure,create spfile from memory) 1.配置catalog数据库 1)catalog目录库:创建大文件表空间.用户.授权 create  bigfile tablespace rc_data datafile '/u01/app/oracle/oradata/ORCL/rc_data.dbf' size

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

MariaDB10.2新特性--Flashback Flashback可以回滚到旧的数据,用于解决用户误删除数据的问题. 实战例子 MariaDB [zsd]> select * from test; +------+-----------+ | id | name | +------+-----------+ | 1 | 张盛东 | | 2 | 刘忠浩 | | 3 | 胡轲 | +------+-----------+ 3 rows in set (0.001 sec) MariaDB [zs

11g新特性与12c新特性

1. 11g新特性概图 管理新特性> 开发新特性> 2. 12c 新特性概图

11g新特性-自动sql调优(Automatic SQL Tuning)

11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中,通过运行sql tuning advisor加强了自动sql调优功能.默认情况下是每天夜间通过自动任务的方式运行"自动sql调优". 自动sql调优的过程: 1.识别需要调优的sql语句  根据AWR中的CPU和I/O负载来识别 2.调优,生成新的sql profile 在维护窗口(mai

Oracle 11g新特性之--虚拟列(Virtual Column)

Oracle 11g新特性之--虚拟列(Virtual Column) Oracle 11G虚拟列Virtual Column介绍 Oracle 11G 在表中引入了虚拟列,虚拟列是一个表达式,在运行时计算,不存储在数据库中,不能更新虚拟列的值. 定义一个虚拟列的语法: column_name [datatype] [GENERATED ALWAYS] AS [expression] [VIRTUAL] 1.虚拟列可以用在select,update,delete语句的where条件中,但是不能用

Oracle 11g新特性invisible index(不可见的索引)

如果一张表上有十几个索引,你有什么感受?显然会拖慢增.删.改的速度,不要指望开发人员能建好索引.我的处理方法是先监控很长的一段时间,看哪些索引没有用到,然后删除.但删除以后,如果发现某一天有用,那又要重新建,如果是大表,那就有些麻烦.现在11g提供一个新特性,不可见索引,可以建索引设置为不可见索引,CBO在评估执行计划的时候会忽略它,如果需要的时候,设置回来即可. 还有一种用途,你在调试一条SQL语句,要建一个索引测试,而你不想影响其他的会话,用不可见索引正是时候. SQL> drop tabl

[转]Oracle 11g 新特性 -- SQL Plan Management 说明

一 概述 二 SQL 计划基线Plan BaseLine体系结构三 加载SQL 计划基线四 演化SQL 计划基线五 重要的基线SQL 计划属性六 SQL 计划选择七 可能的SQL 计划可管理性方案八 SQL 性能分析器和SQL 计划基准方案九 自动加载SQL 计划基线方案十 清除SQL 管理库策略 一.概述 SQL 语句的SQL 执行计划发生更改时,可能存在性能风险. SQL 计划发生更改的原因有很多,如优化程序版本.优化程序统计信息.优化程序参数.方案定义.系统设计和SQL 概要文件创建等.