oracle恢复误删除数据

适⽤范围:

适⽤于oracle 10g or high

 

处理过程

1.闪回drop的表:(当表所在的表空间空间不足,oracle也会删除回收站里的内容,所以此方法需要表空间空间充足、recyclebin没有被清空、删除时没加purge)

drop删除的表存放在recyclebin中,基于recyclebin闪回。

查看回收站对象:

SELECT owner,object_name,original_name,type,ts_name,droptime FROM dba_recyclebin;

 

闪回:

FLASHBACK TABLE TEST TO BEFORE DROP;或者

FLASHBACK TABLE "BIN$BLmi9vltN3TgUKjAgYxoiA==$0" TO BEFORE DROP; (删除多次按照original_name闪回)或者

flashback table test to before drop rename to test1; (删除后原表已经产生新的数据,闪回时候可以rename一个新表,然后再insert到原表中)

 

2.闪回dml修改的表:

dml修改后的表是基于undo闪回。

按scn闪回:

flashback table test to scn xxxxxx;

 

按时间闪回:

flashback table test to timestamp to_timestamp('2023-07-02 16:26:11','yyyy-mm-dd hh24:mi:ss');

 

创建表的方式恢复:

create table test1 as select * from test as of timestamp to_timestamp('2023-07-02 16:30:11','yyyy-mm-dd hh24:mi:ss');

声明:本站所有文章,如无特殊说明或标注,均为爬虫抓取以及网友投稿,版权归原作者所有。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧