Oracle的表可以使用闪回修改技术,以实现数据完整性和安全性,使应用程序访问时不受操作影响。闪回修改技术可以恢复用户数据到某一特定时间点或SCN(系统更改号)状态,从而消除对事务的影响或恢复以前的操作数据。
Oracle闪回修改是使用恢复管理功能恢复表的重要技术。可以使用特定的语法修改特定的表,这称为“闪回修改”,并且这些改动不会影响更改前的物理存储数据,允许在可追溯的时间点回复改变。
下面示例说明怎么去修改一张表:
SQL> FLASHBACK TABLE Employees TO BEFORE KILLTIMESTAMP;
在上面的示例中,Employees是表名, KillTimeStamp 是一个特定时间,它代表要在这个时间把表恢复到以前的数据状态。闪回修改可以用于反转被删除的表行,批量更改行或者以及覆盖以前的修改操作。
通过使用闪回能够回复大量的数据变更,但是该功能受到一些约束:
1、方法必须在表上启用,警告日志及时间点必须写入到系统表;
2、无法闪回已提交的事务;
3、不支持TRUNCATE TABLE,不可以用来恢复已经被TRUNCATE的表,必须重新创建表后才能恢复;
4、存储库日志尽量不要被清空,这样可以在需要的时候恢复数据。
总之,Oracle的闪回修改技术可以有效的保护数据的完整性,它可以实现非破坏性自动恢复,实现完美的数据可用性。