首页 > 数据库技术 > 详细

Oracle中恢复drop掉的表中的数据

时间:2019-12-17 19:55:44      阅读:129      评论:0      收藏:0      [点我收藏+]
今天同事不小心把生产上的一张表直接drop掉了,没有做备份,哥们慌的一匹,来找我这个小白来帮忙解决,于是心血来潮简单总结一下。
其实在oralce中,用drop删掉一张表,其实不会真正的删除,只是把表放到了回收站中,可以通过flashback命令来恢复drop掉的表。 
例如:
1.创建一张表,删除;再创建一张同名表,字段不同,再删除
在 select original_name,dropscn from recyclebin时候,两个表的dropscn是不同的,在利用闪回恢复时 flashback table test to before drop;只能恢复dropscn大的那张表。
2.drop时使用了purge选项,这时drop掉的表不会放入回收站,无法闪回数据
3.基于上面两种情况,会出现下面这种情况
  create table 先创建表,插入100数据;
  drop table purge 再drop掉表;
  create table 同名表;不插入数据
  drop table 再删除该表
  在这种情况下flashback闪回的表会是第二次建的表,即便第一个表的dropscn大,但是第一个表使用了purge选项,没有放入回收站
 
select original_name,dropscn from recyclebin;--查看哪些表被删除后放在回收站
flashback table test to before drop;--闪回恢复表和表内数据
注:flashback无法恢复索引

Oracle中恢复drop掉的表中的数据

原文:https://www.cnblogs.com/WineMan/p/12056377.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!