转载大佬的 https://www.cnblogs.com/hqbhonker/p/3977200.html
今天误操作删除了数据库的数据,百度查询得到上链接大佬的方法,成功恢复了数据
oracle误删除数据的恢复方法
1.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'));注意要保证主键不重复。
如果表结构没有发生改变,还可以直接使用闪回整个表的方式来恢复数据。
具体步骤为:
表闪回要求用户必须要有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
使用截图