昨天晚上一不小心把某表删除了,提交了。捉急啊,没想到oracle数据库竟然有直接恢复的功能。
SELECT * FROM t_ba_repay_plan AS OF TIMESTAMP
TO_TIMESTAMP('2017-04-06 21:00:10.345', 'yyyy-MM-dd HH24:MI:ss.ff') ---2200条
SELECT plan_id FROM t_ba_repay_plan AS OF TIMESTAMP
TO_TIMESTAMP('2017-04-06 21:20:10.345', 'yyyy-MM-dd HH24:MI:ss.ff') ---只剩下200条,
那么如何恢复删除的2000条数据呢,一个SQL搞定。太方便了。记录一下,以免以后忘记
insert into t_ba_repay_plan
SELECT * FROM t_ba_repay_plan AS OF TIMESTAMP
TO_TIMESTAMP('2017-04-06 21:00:10.345', 'yyyy-MM-dd HH24:MI:ss.ff')
where plan_id not in(
SELECT plan_id FROM t_ba_repay_plan AS OF TIMESTAMP
TO_TIMESTAMP('2017-04-06 21:20:10.345', 'yyyy-MM-dd HH24:MI:ss.ff'))
本文介绍了一种在Oracle数据库中恢复已删除数据的方法。通过对比不同时间戳的数据快照,使用SQL语句将丢失的数据恢复到目标表中。这种方法简单有效,值得数据库管理员和技术人员了解和掌握。
3329

被折叠的 条评论
为什么被折叠?



