共计 525 个字符,预计需要花费 2 分钟才能阅读完成。
日常工作中,我们经常会出现误删 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;
以此来进行快速的恢复。
总结
以上的方法都有局限性,这就要求我们在日常工作中操作数据库时,一定要格外小心,同时做好相应的备份工作,保证每天都有备份,做到有备无患。
更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
:
正文完
星哥玩云-微信公众号