恢复oracle 中误删的表 或delete 删掉的数据恢复

时间:2023-01-24 07:21:49

查看回收站中表  drop表之后的恢复

select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;

SQL>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop;


delete 删除数据恢复:

利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据
具体步骤为:

*确定删除数据的时间(在删除数据之前的时间就行,不过最好是删除数据的时间点)

*用以下语句找出删除的数据:select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')

*把删除的数据重新插入原表:

     insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'));注意要保证主键不重复。



注:必须9i或10g以上版本支持,flashback无法恢复全文索引


转自:http://www.cnblogs.com/xd502djj/archive/2010/09/19/1831346.html