啊!假如說我有一張表叫t1,今天一不小心把執行了如下命令:
delete from t1全部刪除了。
也許到這裏你還並不害怕,不行就flashback就是了。抱歉,我今天又做了一個purge recyclebin
擦,完蛋了。徹底無法恢復了嗎?
當然不是,要知道recyclebin是存在內存中的,真正的數據肯定是保存在文件裏的,那麼從哪裏恢復啊,當然是重做日誌文件,找到重做日誌文件裏的SCN號,然後縮小SCN號範圍,找到待恢復數據。
第一步:select dbms_flashback.get_system_change_number from dual;-->查找當前的SCN號(這裏是7455407),如果你知道刪除數據前的SCN號就更簡單了
第二步:select count(*) from t1 as of scn 7455407;-->查詢當前SCN下的數據(當前查到的是0,因爲數據已經刪除了)
第三步:縮小SCN範圍,即往前推。
select count(*) from t1 as of scn 7433000;-->在這個點上查到數據(17110條)。
第四步:insert into t1 select * from t1 as of scn 7443000;-->恢復數據
哈哈,是不是很簡單啊!這纔是終極必殺技哦!
就問6不6?
6
6
6