Oracle快速恢复误删数据的方法

日常工作中,我们经常会出现误删Oracle数据的情况,当delete和drop(未加purge)表时,我们可以通过如下进行快速恢复:

(1) delete 误删数据时:

我们可以通过构造一致性读的方式来进行恢复,前提是及时发现误删的数据,同时当前的undo块或者撤销快未被覆盖

create table quick_table as

select * from emp_temp as of timestamp (SYSTIMESTAMP - INTERVAL '60' MINUTE);

此时 quick_table就是包含了该表60分钟前的数据,这里的60可以根据实际情况来改变。

(2) drop 误删表时:

前提是我们没有使用drop table XX purge方式删除表,而是通过drop table XX的方式进行删除的,这时我们可以通过:

flashback table XXX to before drop;

以此来进行快速的恢复。

总结

以上的方法都有局限性,这就要求我们在日常工作中操作数据库时,一定要格外小心,同时做好相应的备份工作,保证每天都有备份,做到有备无患。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bfd35c05622cb638994ef5995c79dbb4.html