ORACL恢复数据操作

     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;
————————————————
版权声明:本文为CSDN博主「Aikes902」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/AikesLs/article/details/86014797

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值