闪回数据归档
1 它将改变的数据另外存储到特定的闪回数据归档区中,从而让闪回不再受撤销数据的限制,提高数据的保留时间。
2 闪回数据归档中的数据行可以保留几年甚至几一年。
3 闪回数据归档并不针对所有的数据改变,它只记录update和delete 语句,不记录insert语句
闪回数据归档区(falshback data archive)
1 闪回数据归档区(falshback data archive)是从一个或多个表空间中获得一定的空间,以保留表的修改历史,
2 它是一个逻辑概念,方便表不利用重做日志就可以闪回到归档策略内的任何一个时间点上。
3 闪回数据归档不再依赖undo撤销数据。
4 在oracle系统中可以创建多个闪回数据归档区。但是只可以有一个默认的闪回数据归档区,
5 每一个闪回数据归档区都可以有一个惟一的名称,这个名称对应了一定的数据保留策略。
创建闪回数据归档区
1 闪回数据归档区可以基于多个表空间,但是在创建时只能为其指定
一个表空间,如果需要指定多个,可以在创建之后使用alter语句进行添
加。
2 创建与修改闪回数据归档区需要用户具有flashback archive administer系统权限。
语法
create flashback archive【default】 archive_name
tablespace tablespace_name【quota size k | m】
retention retention_time;
说明如下:
default: 指定创建默认的闪叫数据归档区。要求用户需要dba权限。
archive_name :闪回数据归档区的名称。
tablespace: 为闪回数据归档区指定表空间。
quota:为闪回数据归档区分配最大的磁盘限额。如果不使用此选项,则闪到数据归档区的磁盘限额将受表空间中的磁盘限额限制。
retention:为数据指定保留期限。单位可以为day,month,year。
创建闪回数据归档区案例
--获取当前用户的表空间
select tablespace_name from user_tablespaces;
--创建闪回数据归档区的名称archive_test,
create flashback archive archive_test
--为闪回数据归档区指定表空间MYSPACE,分配最大的磁盘限额10M
tablespace MYSPACE quota 10M
--为数据指定保留期限2 day
retention 2 day;
获取当前用户的表空间
创建闪回数据归档区
为数据归档区添加表空间
--为数据归档区添加表空间
alter flashback archive archive_test
add tablespace users quota 4M;
为数据归档区删除表空间
--为数据归档区删除表空间
alter flashback archive archive_test
remove tablespace users ;
数据归档区修改数据保留时间
--为数据归档区修改数据保留时间
alter flashback archive archive_test
modify retention 3 day;
删除数据归档区
--删除数据归档区
drop flashback archive archive_test;