当前位置:  数据库>oracle

Oracle 11G闪回数据归档新功能详述

    来源: 互联网  发布时间:2017-03-20

    本文导语: 简介 Oracle数据库10g提供了五个新的闪回功能:闪回版本查询,闪回事务查询,闪回删除,闪回表和闪回数据库。Oracle数据库11gR1提供了一个有趣的新的闪回功能:闪回数据存档,它允许一个Oracle数据库管理员维护一个记录,对指...

简介

Oracle数据库10g提供了五个新的闪回功能:闪回版本查询,闪回事务查询,闪回删除,闪回表和闪回数据库。Oracle数据库11gR1提供了一个有趣的新的闪回功能:闪回数据存档,它允许一个Oracle数据库管理员维护一个记录,对指定时间范围内对所有表的的改变情况进行记录。

许多年前-事实上,在上个世纪-我是一名美国大西部饮料生产厂家人力资源系统的承包商。有一天,人力资源总监问我:“如何为我们的雇员数据配置一个delta表,使我们能够跟踪所有对雇员数据的更改情况?”出现在我脑袋中的答案就像最近的美国总统大选期间CNN用来显示和分析投票结果的“神奇地图”一样:

我想创建一个名为EMPLOYEES_HISTORY的表,除了增加了一个相应的时间戳记的日期和时间的变化外,它与Employees表的列完全一样。

我希望把这个新表放在一个单独的表空间。

我想套用外键参照完整性约束EMPLOYEES_HISTORY表,以确保两个表之间的数据一致。

最后,我想创建一个AFTER …… FOR EACH ROW触发器,无论何时在Employees表上发生INSERT,UPDATE或DELETE事务时,都将在EMPLOYEES_HISTORY表中插入delta记录。

然后一些潜在的问题开始萦绕着我,这样做了会发生什么,我不停地问我自己,如果某人:

禁用了EMPLOYEES_HISTORY表上的触发器,并且忘记重新开启了,会发生什么事情?

需要向EMPLOYEES表中增加新列,或修改数据类型,但忘记同步修改EMPLOYEES_HISTORY表上对应的列了,会发生什么?

虽然同时对EMPLOYEES和EMPLOYEES_HISTORY表做了一致的修改,但忘记修改触发器了,会发生什么?

如果需要删除EMPLOYEES表的列或将其标记为UNUSED时,会发生什么?

意外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就不会再对历史数据做使其无效的操作(如删除或清空目标表)或阻止捕捉(如删除目标表的列)。


    
 
 

您可能感兴趣的文章:

  • 细化解析Oracle 10g STATSPACK的新功能
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 切换Oracle的归档模式以及非归档模式
  • oracle的归档模式 ORACLE数据库归档日志常用命令
  • 更改Oracle数据库的归档模式
  • 查看修改Oracle10G归档日志空间的限制
  • 关于Oracle将目标数据库设为归档模式应该注意的问题
  • Oracle 删除归档日志实例
  • oracle 如何关闭打开归档日志
  • Oracle数据库归档模式的切换
  • Linux下Oracle归档日志自动清理脚本代码(sh)
  • Oracle中归档模式的定义简述
  • Oracle10g自动归档设置
  • 更改Oracle数据库到归档模式
  • oracle日志操作模式(归档模式和非归档模式的利与弊)
  • win平台oracle rman备份和删除dg备库归档日志脚本
  • Oracle相关:Rman Crosscheck删除失效归档
  • Oracle切换为归档模式的步骤及问题解决
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • 操作系统 iis7站长之家
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3