使用oracle 闪回查询找回误更新的数据

下午收到同事的报告,一张表被错误更新,没有加where 导致表的某个字段被全部更新。数据已经提交。还好通知的及时,只要数据还在回滚段,就可以查到到,想到了闪回查询,下面是具体的操作步骤

create table t_test_1 as 
select * from  t_test  as of timestamp to_timestamp('2011-10-25 13:45:00','yyyy-mm-dd hh24:mi:ss');

select src from t_test_1;

.......................

10658103616692
10658103616692
10658103616692
10658103616692
10658103616692

...........................

数据不对,继续闪回

drop table t_test_1;

create table t_test_1 as 
select * from  t_test  as of timestamp to_timestamp('2011-10-25 13:30:00','yyyy-mm-dd hh24:mi:ss');

select src from t_test_1;

..................

10658103633081
10658103623000
106581036 16692
10658103616624
10658103616625
10658103616635

..........................

就是这些数据,下面进行重命名表的操作

rename t_test to t_test_2;
rename t_test_1 to t_test;

数据成功恢复。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值