今天同事操作oracle資料庫時,做乙個從源端庫插入到目標端庫的操作,要先將目標庫的相同id的一行刪掉,再講源端的資料插過來,結果一粗心將源庫的資料行刪掉了,刪掉之後還commit了。
於是乎,生產環境下產生的誤操作,如果沒有commit可以rollback。這是乙個悲催的故事。
好在發生的時候業務不繁忙,而且事故發生在5分鐘之內,這個時候剛delete掉的資料應該還在undo裡
立馬在源端執行一條查詢
select*from account as
oftimestamp to_timestamp('
2016-11-22 08:00:00
', '
yyyy-mm-dd hh24:mi:ss
') where equid=2341333;
然後建立乙個臨時表放資料
create table test select*from account as
oftimestamp to_timestamp('
2016-11-22 08:00:00
', '
yyyy-mm-dd hh24:mi:ss
') where equid=2341333;
然後將test表的資料插入到目標端上
想了一下如果當時,undo被覆蓋了的話那就悲劇了,只能使用rman+archive 歸檔異機恢復。不過現實是該生產庫太大約30t
,沒有rman備份。
不知道閃回還有沒有其他可以恢復的方法。
ORACLE誤刪資料恢復
有很多原因導致了資料記錄的誤刪,怎樣恢復誤刪的記錄呢?先來看看這個概念 scn 系統改變號 它的英文全拼為 system change number 它是資料庫中非常重要的乙個資料結構。scn提供了oracle的內部時鐘機制,可被看作邏輯時鐘,這對於恢復操作是至關重要的 注釋 oracle 僅根據 ...
oracle誤刪資料恢復
oracle誤刪資料恢復 scn 系統改變號 它的英文全拼為 system change number 它是資料庫中非常重要的乙個資料結構。scn提供了oracle的內部時鐘機制,可被看作邏輯時鐘,這對於恢復操作是至關重要的 注釋 oracle 僅根據 scn 執行恢復。它定義了資料庫在某個確切時刻...
oracle恢復誤刪資料
1.delete誤刪除的解決方法 原理 利用oracle提供的閃回方法,如果在刪除資料後還沒做大量的操作 只要保證被刪除資料的塊沒被覆寫 就可以利用閃回方式直接找回刪除的資料 具體步驟為 確定刪除資料的時間 在刪除資料之前的時間就行,不過最好是刪除資料的時間點 用以下語句找出刪除的資料 select...