Flashback Table

■■■Flashback Table
■■语法
ALTER TABLE table_name ENABLE ROW MOVEMENT;
FLASHBACK TABLE table_name TO TIMESTAMP TO_TIMESTAMP('2010-06-30 22:43:07', 'yyyy-mm-dd hh24:mi:ss');
FLASKBACK TABLE table_name TO TIMESTAMP (SYSTIMESTAMP – INTERVAL '11' MINUTE);
FLASHBACK TABLE table_name TO SCN 1154953;
FLASHBACK TABLE table_name TO TIMESTAMP TO_TIMESTAMP('2010-06-30 22:43:07', 'yyyy-mm-dd hh24:mi:ss') ENABLE TRIGGERS;
■■前提
■普通用户中需要有Flashback any table的系统权限。命令如:
grant flashback any table to scott;
■有该表的select、insert、delete、alter权限
■必须保证该表有row movement(行移动)
■■总结
■Flashback table在真正的高可用环境中,使用意义不大,受限比较多,要必须确保行迁移功能
■Flashback table过程中,阻止写操作
■表中数据能恢复,而表中索引确不能正常恢复
■恢复的触发器本身还是修改后的,并不随表flashback到修改以前的时间点。说明关键字enable triggers只能保证触发器的状态正常,而不是内容回滚
■由于原理利用其undo信息,来恢复其对象,因此也是不能恢复truncate数据
■恢复数据用flashback query实现比较好

发表评论

电子邮件地址不会被公开。 必填项已用*标注