2013年12月8日 星期日

Oracle - block 損毀還原

Oracle 版本:11GR2

狀況1:DB運作時出現ora 錯誤
說明:db目前是open, 不能shutdown, 每天都有做rman備分

目標:立刻還原損毀的block

1. DB 出現了 ora 錯誤

2.使用DBV 檢查

3.首先查看有哪些block損毀.

4.使用blockrecover工具指定恢復block, 要是壞的block太多, 可指定整個datafile恢復.

5. 查詢一下是否還有損毀的block, 線上恢復成功



狀況2:DB運作時出現ora 錯誤
說明:db目前是open, 沒有rman備分
目標:以最小的損失來還原資料

1.使用dbv來檢查 datafile , 顯示有一個壞block 

2.由於没有rman的備分,所以blockrecover已經不可能了,利用expimp來拯救部分資料, 首先查詢一下損毀的block所在的物件(5是損毀的datafile id , 177 是損毀的block)

3.先設置內部事件,使exp跳過這些損壞的Block 


 4.exp 出未損毀的資料

5.接下來再imp數據, 不過導入的已經是遺失資料的table



原本的資料筆數為 99999 - 99339 = 已經遺失的筆數:661

沒有留言:

張貼留言