Oracle數據庫利用日誌挖掘來恢復誤刪除的數據

在數據庫操作中,當我們誤刪除了表、數據或者是視圖等,可以利用日誌挖掘Oracle不完全恢復進行恢復,本文主要就介紹了利用日誌挖掘Oracle不完全恢復來恢復數據的方法,接下來我們就開始介紹這一過程。
實施該方法需要滿足兩個條件:1. DB工作在歸檔模式下;  2. 有冷準備份的數據文件。
接下來我們介紹恢復過程,格式如下:

-- 拼接從哪裏挖的語句

-- 從哪裏挖

-- 開始挖

-- 找結果 --> 要恢復的語句時的時間戳;

-- 關掉DB

 -- 拷貝冷備的文件 -- *.dbf 到數據文件目錄下,並進行覆蓋;因爲要利用日誌把 sys,user等表空間的數據,重做一次;

-- 啓動到 mount 下

-- 恢復到 1037333 drop table scott.emp purge  的時間點;

-- 要求:trc

-- 啓動DB in resetlogs;

原理:

1.冷備份的數據文件 *.dbf比現在要舊,那麼數據文件的scn肯定就比現在的小;

2.使用日誌挖掘方法,在日誌中找出刪表時的scn;

3.在數據庫shutdown 的狀態下,用冷備份的數據文件 *.dbf,覆蓋現在的*.dbf文件;-- 保證數據文件完整性

4.啓動DB到 mount 下, 恢復到日誌挖掘的時間點(利用日誌對數據文件重做一次)

5.以 resetlog 方式 open --- 以前的日誌就覆蓋了;
PS:

數據庫有四種狀態shutdown、nomount、mount、open。

shutdown是指關閉狀態。

nomount是指根參數文件已經構造出實例的狀態。

mount是指爲實例打開控制文件,並讀出控制文件中相關信息,但並不驗證。

open是指對相關文件進行驗證,如沒有問題,就打開,讓用戶可以訪問。

關於利用日誌挖掘Oracle不完全恢復恢復誤刪除的表/數據/視圖等的操作就介紹到這裏了,希望能夠帶給您一些收穫吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章