Oracle11g新特性闪回数据归档应用举例
闪回数据归档(闪回日志归档)被理解为保存撤消数据很长一段时间,对一些重要的表可以自定义记录的保存期,并与撤销表空间的各种行为是使用时间非常相似,是完全透明的,用户不知道它是从撤消或闪回数据归档数据的查询一致的观点,是分析一些它不同于撤销:1闪回数据归档只记录更新和删除语句,不记录INSERT语句。
2中的行数据库。闪回数据归档可以保存很长时间,甚至几十年。与撤消数据中的对象相比,通常只有几个小时或几天的保留时间。
3、闪回数据归档和撤销的基本功能不同。它们只关注表行的历史变化,而不是撤销,以实现数据库事务和回滚操作的一致性。
然后闪回数据归档是如何实现的,因为它是为保存在表中的记录而设想的,应该是一个单一的存储区域来记录,指定区域的保留时间,以便将数据保存得很长,然后在记录该表时添加一个跟踪标记。可以实现对备案的保存,其实这是oracle实现的原理,存储区是闪回数据归档,闪回归档是为了创建而创建的。
首先,创建归档
Oracle建议使用单独的表空间存储闪回数据归档文件。当然,它可以在现有表空间上创建一个或多个闪回数据存档。
在创作之前,你需要确保执行用户flashback_archive_administrer权限,包括创建和修改闪回存档,使表跟踪、归档管理的表空间,等等。
复制代码代码如下所示:
SQL语句创建表空间fbda1 >
2 / /债券可以应用 / / / oradata Oracle产品 / fbda01 DBF。
3号5G;
表空间的创建。
接下来,我们开始创建闪回数据归档:
复制代码代码如下所示:
SQL >创建闪回存档fb_01
2 fbda1 300m表空间配额
3保留10年;
闪回归档创建。
上面的命令会创建一个闪回数据归档保存十年,可在fbda1表空间使用300M空间(略小。)的需要,我们可以创建一个默认的文件,使用默认的关键字,如
复制代码代码如下所示:
SQL >创建默认fb_dflt闪回存档
2表空间fbda1
3保留1年
4 /
闪回归档创建。
查询dba_flashback_archive视图得到资讯,包括停留时间,状态,等等。
复制代码代码如下所示:
SQL >选择owner_name,flashback_archive_name,
2 flashback_archive #,retention_in_days,地位
3从dba_flashback_archive;
owner_name flashback_archive_name flashback_archive # retention_in_days状态
--------------------------------------------------------------------------
系统fb_01 13650
系统默认fb_dflt 2365
查询flashback_archive_ts视图得到表空间和存储之间的对应关系
复制代码代码如下所示:
SQL SELECT * FROM dba_flashback_archive_ts >;
flashback_archive_name flashback_archive # tablespace_name quota_in_mb
---------------------------------------------------------------------------
fb_01 1 fbda1 300
2 fbda1 fb_dflt
两。将表跟踪到指定的闪回数据存档。
将史葛用户的EMP表的fb_01档案:
复制代码代码如下所示:
SQL> ALTER TABLE scott.emp闪回存档fb_01;
表的改变。
查询dba_flashback_archive_tables视图得到已存档的表:
复制代码代码如下所示:
SQL SELECT * FROM dba_flashback_archive_tables >;
table_name owner_name flashback_archive_na archive_table_name状态
出版社
史葛fb_01 EMP sys_fba_hist_73181启用
三。使用闪回数据归档查询
这里的使用和撤销是完全不同的。您可以在查询中指定。下面是3年前EMP表数据的演示:
复制代码代码如下所示:
SQL >选择编号、姓名,姓名和雇佣
2从scott.emp
3为时间戳(systimestamp区间'3'year)
4如果empno = 7934;
编号姓名姓名和雇佣
在
7934米勒23-jan-82