论ORACLE中如何恢复被delete的表中数据

啊!假如说我有一张表叫t1,今天一不当心把执行了以下命令:ide

delete from t1所有删除了。spa

也许到这里你还并不惧怕,不行就flashback就是了。抱歉,我今天又作了一个purge recyclebin日志

擦,完蛋了。完全没法恢复了吗?内存

固然不是,要知道recyclebin是存在内存中的,真正的数据确定是保存在文件里的,那么从哪里恢复啊,固然是重作日志文件,找到重作日志文件里的SCN号,而后缩小SCN号范围,找到待恢复数据。get

第一步:select dbms_flashback.get_system_change_number from dual;-->查找当前的SCN号(这里是7455407),若是你知道删除数据前的SCN号就更简单了flash


第二步:select count(*) from t1 as of scn 7455407;-->查询当前SCN下的数据(当前查到的是0,由于数据已经删除了)
it


第三步:缩小SCN范围,即往前推。class

select count(*) from t1 as of scn 7433000;-->在这个点上查到数据(17110条)。select


第四步:insert into t1 select * from t1 as of scn 7443000;-->恢复数据数据


哈哈,是否是很简单啊!这才是终极必杀技哦!


就问6不6?


6


 6


  6

相关文章
相关标签/搜索