flashback data archive

A Flashback Data Archive provides the ability to track and store transactional changes to a table over its lifetime. A Flashback Data Archive is useful for compliance with record stage policies and audit reports. 以下实例操作:[@more@]

SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production


授予用户创建flashback archive的权限
SQL> select name from system_privilege_map where name like 'FLA%';
NAME
----------------------------------------
FLASHBACK ARCHIVE ADMINISTER
FLASHBACK ANY TABLE

SQL> grant FLASHBACK ARCHIVE ADMINISTER to ww;

创建flashback archive
SQL> create flashback archive ww_arch1
2 tablespace users
3 quota 10M
4 retention 1 day;

创建缺省的闪回归档区
SQL> conn / as sysdba
SQL> create flashback archive default ww_arch2
2 tablespace users
3 quota 10M
4 retention 1 day;

Flashback archive created.

SQL> alter flashback archive ww_arch1 set default;
拥有flashback archive administer权限只能创建一般的闪回归档区,
默认的flashback archive只能sysdba用户才能创建和修改。

启用表的跟踪
SQL> alter table t_emp flashback archive;

Table altered.

-- alter table t_emp no flashback archive; 反向操作

插入测试数据
SQL> alter session set nls_date_format='yyyymmdd hh24:mi:ss';

Session altered.

SQL> select sysdate from dual;

SYSDATE
-----------------
20120419 11:21:36

SQL> select count(1) from t_emp;

COUNT(1)
----------
2048

SQL> insert into t_emp select * from t_emp where rownum<11;

10 rows created.

SQL> commit;

Commit complete.

SQL> select sysdate from dual;

SYSDATE
-----------------
20120419 11:23:07

SQL> select count(1) from t_emp as of timestamp to_timestamp('20120419 11:21:36','yyyymmdd hh24:mi:ss');

COUNT(1)
----------
2048

SQL> /

COUNT(1)
----------
2048

使用sys 切换在线日志两个循环之后,还能查到数据
SQL> /

COUNT(1)
----------
2048

SQL>
SQL> /

COUNT(1)
----------
2048

系统中有哪些表启用了这个特性 ?
select table_name,flashback_archive_name from dba_flashback_archive_tables;

启用了跟踪的表,不能做除了添加列之外的DDL操作
SQL> drop table t_emp;
drop table t_emp
*
ERROR at line 1:
ORA-55610: Invalid DDL statement on history-tracked table

清除闪回归档区的数据
conn / as sysdba
alter flashback archive ww_arch1
purge before timestamp (systimestamp - interval '1' hour);
alter flashback archive ww_arch1
purge before scn 1450112 ;
alter flashback archive ww_arch1 purge all;

参考文档
Oracle® Database Advanced Application Developer's Guide
11g Release 2 (11.2)
Part Number E25518-04
12 Using Oracle Flashback Technology

如果是11gR1
Oracle® Database Advanced Application Developer's Guide
11g Release 1 (11.1)
Part Number B28424-03
13 Using Oracle Flashback Technology

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/271063/viewspace-1057945/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/271063/viewspace-1057945/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值