Oracle 数据误删的恢复措施

Oracle 数据误删的恢复措施Oracle中,常见的数据删除操作就三种,truncate,drop,delete,下面分类说一下如何恢复Truncate:该操作执行后,保留表结构,清空表数据,不记录日志,虽然常规手段无法恢复,但是联系数据修复团队还是可以做到的,网上也有自己恢复的教程,我个人试了几次都没有成功……误删后停止对该表的任何操作,避免后续…

         Oracle中,常见的数据删除操作就三种,truncate,drop,delete,下面分类说一下如何恢复

Truncate:

         该操作执行后,保留表结构,清空表数据,不记录日志,虽然常规手段无法恢复,但是联系数据修复团队还是可以做到的,网上也有自己恢复的教程,我个人试了几次都没有成功……

         误删后停止对该表的任何操作,避免后续的不当操作影响数据恢复的可能性。

Drop:

         通过查看Oracle的回收站,可以查到被删除的表、索引等,通过下列语句可以实现表数据恢复

         Oracle回收站:SELECT * FROM RECYCLEBIN;

         还原指定表:FLASHBACK TABLE recycle_tmp TO BEFORE DROP;

         还原指定表:FLASHBACK TABLE “BIN$dtGnFYeHXSvgU304AArEyg==$0” TO BEFORE DROP;

         清空回收站:PURGE TABLE  “BIN$34btciE8RySPmHqIlCGnVg==$0”;

         清空回收站:PURGE TABLE recycle_tmp;

Delete:

————恢复delete误删数据-1

         –根据时间戳查看表数据情况

         select * from t1 as of timestamp to_timestamp(‘2018-09-17 09:50:11′,’yyyy-mm-dd hh24:mi:ss’);

         –设置允许表行移动

         alter table t1 enable row movement;

         –将表数据恢复到某一时间点

         flashback Table t1 to timestamp to_timestamp(‘2018-09-17 09:50:11′,’yyyy-mm-dd hh24:mi:ss’);

         –或者直接插入丢失数据

         Insert Into t1 Select * FROM t1 As Of Timestamp to_timestamp(‘2018-09-17 09:50:11′,’yyyy-mm-dd hh24:mi:ss’);

————恢复delete误删数据-2

         –查看数据库当前scn(system change number)

         select current_scn from v$database;

         –寻找误删前的表数据(缩小scn号查询)

         select * from t1 as of scn 38887000;

         –设置允许表行移动

         alter table t1 enable row movement;

         –将表数据恢复到指定scn

         flashback table t1 to scn 38887000;

         

欢迎大家在评论区补充,我会不定期更新进来!

今天的文章Oracle 数据误删的恢复措施分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27417.html

(0)
编程小号编程小号

相关推荐

发表回复

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