Oracle Flashback實戰(zhàn)記錄 |
發(fā)布時間: 2012/7/30 17:01:20 |
客戶叫我刪除掉一條記錄,說因為流程走錯了,給我發(fā)過來一串很長的中文,說把這個名稱的記錄刪掉。 我直接用PL/SQL操作數(shù)據(jù)庫,根據(jù)名字相等搜索,沒有記錄。因為這些記錄的名稱都是很相似的,都是類似于“關于 下發(fā)2012年第一季度“暢享移動福生活”數(shù)據(jù)業(yè)務整合營銷活動細則的通知……”之類,于是用like搜索,才出來一條記錄,我也沒注意看,直接就刪了。 然后我登陸系統(tǒng),進行查詢,發(fā)現(xiàn)那條記錄還在,把正常的記錄給刪了,而且被刪的這條記錄關聯(lián)的流程還在審批中的。心里大驚!有過一次更新系統(tǒng),誤刪了服務器上的附件,被客戶罵得不行,后果很嚴重,已經(jīng)向客戶保證過不再發(fā)生類似的事情! 馬上想到數(shù)據(jù)恢復,Google一下Oracle數(shù)據(jù)恢復的,找到了OracleFlashback。網(wǎng)上資料說Oracle 10g以上的版本支持Flashback,心里有了希望,因為我的系統(tǒng)用的就是Oracle 10g。 不多說,立馬按照教程操作。 1、執(zhí)行 alter table table_name enable row movement; 2、執(zhí)行 FlashBack table table_name to timestamp to_timestamp('2012-05-24 14:59:36','yyyy-mm-dd hh24:mi:ss'); 看著這兩條語句執(zhí)行完畢,立馬進行搜索!Thanks,剛被刪除的那條記錄恢復了! 寫下此文,加深印象,以后操作數(shù)據(jù)庫更加要小心翼翼了! 關于Oracle Flashback的相關知識以后時間再研究一下。上述SQL語句中的table_name是指要恢復數(shù)據(jù)的表,timestamp to_timestamp('2012-05-24 14:59:36','yyyy-mm-dd hh24:mi:ss')這個應該是指要恢復到某個時間。 本文出自:億恩科技【xuefeilisp.com】 |