全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:138-2348-1213

oracle恢复某个表数据, 闪回查询和闪回表哪个好用

嘿,小伙伴们!今天咱们聊聊Oracle数据库里怎么找回不小心删掉的数据,说白了就是“后悔药”!

你有没有过那种,手一抖,一不小心把数据库表里重要的数据给删了,然后就慌得一批?别怕,Oracle数据库里的“后悔药”可不是一般的药,它有两种,一种叫“闪回查询”,另一种叫“闪回表”,就好像“后悔药”有两个版本,一个让你后悔的时间短点,一个让你后悔的时间长点。

咱们先来了解一下“闪回查询”。这货就像个时间机器,可以让你回到过去,看看数据在那个时间点的样子。比如,你删除数据之前,你记得数据是什么样的,就可以用“闪回查询”回到那个时间点,看看数据是不是和你记得的一样。

sql

select from AT_PP_WORKINSTRUCTION as of timestamp to_timestamp('2018-09-28 11:30:00', 'yyyy-mm-dd hh24:mi:ss')

where   Inst_Name_s like 'GL6%';

再来看看“闪回表”。这货就厉害了,它可以让你把整个表恢复到之前某个时间点的状态。就像把表的时间拨回到过去,恢复到删除数据之前的样子。

sql

flashback table '需要恢复的表名' to before drop

但是,使用“闪回表”有个前提,就是你之前要开启了“闪回日志记录”。

说白了,这两兄弟的区别就是:

方法 特性
闪回查询 查询过去表版本,要求启用了闪回日志记录
闪回表 恢复整个表到之前时间点的状态,要求启用了闪回日志记录

简单来说,如果你是想看看数据在某个时间点是什么样的,用“闪回查询”就行了。如果你是想把整个表恢复到之前某个时间点的状态,就用“闪回表”。

不过,这两个“后悔药”也有一些限制。比如,如果你的数据库没有开启“闪回日志记录”,那就只能吃“后悔药”了。

还有,你得确定下删除数据的时间点,如果不确定准确的时间,也可以用你知道的数据删除之前的时间点。不过,这样的话,你使用的时间和你删除数据的时间点之间如果数据不一致,可能导致你找回的数据不全。

所以,小伙伴们,下次遇到误删数据的时候,别慌,先看看“闪回查询”和“闪回表”这两个“后悔药”哪个适合你。

当然,预防胜于治疗,平时多备份数据,就可以少吃点“后悔药”了,你说是不是?

你有没有遇到过误删数据的经历?你是怎么解决的?快来分享一下吧!

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。