Oracle闪回归档(下) —— Oracle Flashback Archive

Oracle Flashback Archive 提供了一种透明且高效的归档解决方案。它允许用户通过简单查询来访问历史数据,无需关注业务逻辑。数据在内部分区压缩表中存储,自动管理并根据预设保留期进行清理。DBA可以使用多种SQL命令进行创建、修改、删除和管理闪回归档区。
Flashback ArchiveOracle 11g推出的具有针对性和强制性的数据透明归档技术。本篇我们集中介绍与该特性相关的权限和DDL操作问题。

9. Flashback Archive相关权限
    Oracle一个新特性的推出,经常伴随着一系列新的权限集合的确立。Flashback Archive组件相关的有两个系统权限,分别为flashback archiveflashback archive administrator

    从上面的scott用户的情况中,我们可以看到flashback archive系统权限的作用。 就是通过对数据表和已经建立的flashback archive建立关系,开启闪回归档功能。

   Oracle闪回归档(下) —— Oracle Flashback Archive - AllenLi - Allen的博客

      Oracle闪回归档(下) —— Oracle Flashback Archive - AllenLi - Allen的博客

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

       -  Create flashback archive xxx tablespace yyy quota xx retention zzz;    --   创建闪回归档区,设置空间限制;

       -  Alter flashback archive xxx;     --   进行清理purge等操作

       -  Drop flashback archive xxx;    --   删除指定的闪回归档空间;

      Oracle闪回归档(下) —— Oracle Flashback Archive - AllenLi - Allen的博客
     如果取消了这个系统权限,那么相关的系列操作就不能进行。
      Oracle闪回归档(下) —— Oracle Flashback Archive - AllenLi - Allen的博客
     注意:并不是只有显示拥有flashback archive administrator权限的用户才能Create/alter/drop archive flashback操作。如果用户是dba角色,也可以实现这个目标

  

10. 结论:

       数据归档、offline是很多系统都需要有的特定需求。我们经常遇到这样的需求:将历史数据保留几个月或者几年待查。待查的情景是很少,但是我们如果从应用入手,就需要设计额外的数据表和业务处理流程。其中一个更麻烦的就是保留期过删数据的操作,相对较为复杂。

 

Flashback archiveOracle可以使用在生产系统中直接使用的归档功能组件。如果开发设计使用这个组件进行归档,有若干个好处。

 

首先是透明化的归档操作,用户不需要去关心进行归档的业务逻辑。只要设置好了需要归档的数据表,按照查询归档语法进行查找。就可以实现应用系统中最典型的归档查询需要。

 

其次是高效存储个性。在flashback archive中,数据是保存在内部分区压缩表中,各方面的属性由Oracle进行控制管理。

 

最后是保留期管理严格化。设置不同的flashback archive retention period,首先可以对不同的数据表适应使用不同的保留期。当数据超期之后,Oracle自动进行数据删除工作,不需要用户进行干预。



附:
1. 清除闪回数据归档区数据
     ( flar01默认闪回归档需要sys用户? )
        1.清除所有归档区的数据

       SQL> alter flashback archive flar01 purge all;

2.清除一天以前的数据

       SQL> alter flashback archive flar01 purge before timestamp(systimestamp - interval '1' day);

3.清除特定SCN之前的数据

       SQL> alter fashback archive flar01 purge before scn scn号;

4.将指定的表不再设置闪回归档

       SQL> alter table test no flashback archive;

5.删除闪回归档区

       SQL> drop flashback archive flar01;

6.  创建闪回归档区

       SQL> create flashback archive [default] flar01 tablespace tablespace_name [quota size] retention 时间;

7.  将表关联至闪回归档区

       SQL> alter table table_name flashback archive flar01;

8.  将闪回归档时间设为7天 ( 默认闪回归档需要sys用户? )

       SQL> alter flashback archive flar01 modify retention 7 day;

9.  将闪回归档flar01空间空间设为30M

       SQL> alter flashback archive flar01 modify tablespace fla_archive quota 30M;

    10.  像表中添加字段  
         SQL> alter table test add m varchar2(10);        --       对表进行操作不需要sys
       11.  修改表的字段
               SQL> alter table test modify m varchar2(20); 
       12. 删除表的字段
               SQL> alter table test drop column m;
               
 
2.与闪回数据归档有关的视图
 

     1.  DBA视图,闪回归档区信息

              SQL> desc dba_flashback_archive;

       2.  DBA视图,闪回归档有关表空间

             SQL> desc dba_flashback_archive_ts;

       3.  DBA视图,对应表所对应的闪回归档信息

             SQL> desc dba_flashback_archive_tables;

       4.  用户闪回归档区的创建信息

             SQL> desc user_flashback_archive;

       5.  用户表对应的闪回归档区域

             SQL> desc user_flashback_archive_tables;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值