Oracle数据库【误删Delete】【误改Update】【误插入Insert】数据如何恢复--按时间回滚

分享了不慎删除大量数据后的紧急应对措施,包括通过时间戳查询恢复历史数据、创建备份表和复制数据的方法,提醒读者数据库操作中的重要性。

今天很开心误删表了19万数据几秒钟没了,开心得差点唱铁窗外,诶,不过我几分钟把数据找回来了,更开心了,哈哈哈哈哈,止笑,下面总结一下怎么回来的
在操作数据库时,有时候还是会不小心delete数据的或者更新数据时忘记设置更新条件,要是这时候没有提交事务,还可以执行回滚操作。要是这时候不小心提交了,数据也是可以恢复的。

下面这条语句就是按照时间查询过往数据的,这条语句不能直接帮你恢复数据但是可以按时间查询到以前的过往数据,相当于时间回溯,呐这个是第一步

 select * from tableName as of timestamp to_timestamp('2021-08-19 04:13:22','yyyy-mm-dd hh24:mi:ss');

tableName 是你要查看的表名,2021-08-19 04:13:22是你想要查询的时间(时间不要离太久哦,不然快照过旧)。这样你可以查询到这个时间点之前的数据了,之后保险起见先建立一个表来存着吧,毕竟这时候你慌得一批

create table tableName_backups as
select * from tableName as of timestamp  to_timestamp('2021-09-08 16:25:00','yyyy-mm-dd hh24:mi:ss');

这样之后你就有了一张查询这个时间段的表了,之后是要复制表

insert into tableName select * from tableName_backups ;

还是修改都随你了

这个查询不能不是万能的,所以删库跑路不可取,时间相隔太长这个语句就没啥用了,真要是使用了TRUNCATE这语句也没啥用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值