码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-12-17 20:46:06      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:数据   drop   ack   span   strong   creat   flash   before   rom   

今天同事不小心把生产上的一张表直接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掉的表中的数据

标签:数据   drop   ack   span   strong   creat   flash   before   rom   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!