<b>Oracle 11g闪回数据归档新功效解析-备份恢复</b>[Oracle防范]
本文“<b>Oracle 11g闪回数据归档新功效解析-备份恢复</b>[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就不会再对历史数据做使其无效的操作(如删除或清空目标表)或禁止捕捉(如删除目标表的列).
以上是“<b>Oracle 11g闪回数据归档新功效解析-备份恢复</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |