WEB开发网
开发学院数据库Oracle Oracle 11g闪回数据归档新功能解析 阅读

Oracle 11g闪回数据归档新功能解析

 2008-12-15 13:01:44 来源:WEB开发网   
核心提示: 意外TRUNCATE掉EMPLOYEES_HISTORY表时会发生什么?意外删除了EMPLOYEES_HISTORY表时会发生什么?甚至更糟糕的是删除了EMPLOYEES表时会发生什么?这些问题的简单答案是,如果真发生了这些事情,Oracle 11g闪回数据归档新功能解析(2),我不得不向

意外TRUNCATE掉EMPLOYEES_HISTORY表时会发生什么?

意外删除了EMPLOYEES_HISTORY表时会发生什么?甚至更糟糕的是删除了EMPLOYEES表时会发生什么?

这些问题的简单答案是,如果真发生了这些事情,我不得不向客户解释为什么弄丢了EMPLOYEES_HISTORY表中的delta数据。

用闪回数据归档实现Oracle“完全撤销”

如果我拥有Oracle 11g,我会直接告诉客户我花几分钟就能恢复数据,Oracle 11gR1新的闪回数据归档(FBDA)功能创建一个独立的仓库保留表中数据改变的历史记录。

FBDA信息存储在一套独立的对象中,跟踪目标表的事务历史,这些对象存储在一个或多个表空间中,FBDA表的名称是由系统自动产生的,可以通过视图DBA_FLASHBACK_ARCHIVE_TABLES查看,一旦在表上开启了FBDA,所有保留的事务历史都可以查看,这样就不用再为关键事务表创建对应的历史跟踪表了,那样做很麻烦,因为创建历史跟踪表后,还有编写复杂的触发器,确保历史数据被精确跟踪。

历史信息的捕捉也是非常高效的,因为Oracle 11g专门修改了内核,使保留历史数据的性能开销减到最小,此外,这些历史数据以压缩格式存储,减少了存储的需要,另外,只要在表上开启了FBDA,Oracle 11g就不会再对历史数据做使其无效的操作(如删除或清空目标表)或阻止捕捉(如删除目标表的列)。

下面解释一下FBDA是如何工作的:

闪回数据归档(FBDA)是一个新的后台进程,负责跟踪和归档开启了FBDA的表的历史数据,它通过异步处理自动收集和向指定的闪回数据归档写入原始数据。

当开启FBDA的表中任何数据发生变化时,FBDA首先询问存储在数据库缓冲区中的UNDO数据,如果数据仍然在那里,FBDA就会使用它,如果UNDO数据已经从数据库缓冲区中移除,FBDA就会尝试从UNDO表空间中的UNDO段中获取数据发生的变化。

上一页  1 2 3 4 5 6 7  下一页

Tags:Oracle 数据 归档

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接