首先,這個短時間內(nèi),通常是值 undo 段沒有被覆蓋,undo 保留的時間為多長呢?
1、需要看 undo_retention 的設置,默認為 900s,也就是 15 分鐘。
2、需要看數(shù)據(jù)庫的業(yè)務繁忙程度,如果1天切一個歸檔那種,3天前刪的說不定都能用 UNDO 找回來。
好的,科普完了!
如果,兩分鐘前不小心誤刪了一筆數(shù)據(jù),如何快速找回?
1、查看 UNDO 中 5 分鐘前數(shù)據(jù)是否還在
select * from 用戶.表 as of timestamp to_timestamp('2021-09-12 10:30:00', 'yyyy-mm-dd hh24:mi:ss');
2、防止 UNDO 中數(shù)據(jù)被覆蓋,先創(chuàng)建一張備份表將5分鐘前數(shù)據(jù)備份
create table 用戶.表_20201217
as
select * from 用戶.表 as of timestamp to_timestamp('2021-09-12 10:30:00', 'yyyy-mm-dd hh24:mi:ss');
3、用備份表和原表比對數(shù)據(jù),將誤刪的數(shù)據(jù)插入原表中
沒有sql,自己搞吧!可以用 PLSQL等工具導出!
注意:此方法僅適用于 delete 等 DML 誤刪誤操作恢復,DDL 不支持!
本次分享到此結束啦~
如果覺得文章對你有幫助,點贊、收藏、關注、評論,一鍵四連支持,你的支持就是我創(chuàng)作最大的動力。
?? 技術交流可以 關注公眾號:Lucifer三思而后行 ??
本文摘自 :https://blog.51cto.com/l