南京服务器维修中心

网站首页 数据库修复 正文

oracle表删除如何恢复?

兆柏 2021-03-11 数据库修复 377 ℃ 0 评论

delete误删除的解决方法
原理:

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

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

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

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

44.jpg

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

如果表结构没有发生改变,还可以直接使用闪回整个表的方式来恢复数据。

具体步骤为:

表闪回要求用户必须要有flash any table权限

 --开启行移动功能 

 ·alter table 表名 enable row movement

 --恢复表数据
 ·flashback table 表名 to timestamp to_timestamp(删除时间点','yyyy-mm-dd hh24:mi:ss')

 --关闭行移动功能 ( 千万别忘记 )

 ·alter table 表名 disable row movement


请在这里放置你的在线分享代码

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表