用DUL恢復故障的資料庫

rongshiyuan發表於2012-08-02
用DUL恢復故障的資料庫

DUL恢復故障的資料庫

當資料庫崩潰,沒有其他資料拯救手段的時候,DUL可以保證客戶的資料損失降低到最小。合法的ORACLE使用者可以向ORACLE申請DUL工具或者購買DUL資料拯救服務。DULData Recovery Unloader)是一個可獨立使用的ORACLE資料下載工具,是由Bernard VAN Duijnen編寫的,目前已經被ORACLE公司收購併作為內部工具使用。DUL不需要依賴任何RDBMS,就可以將資料檔案中的資料匯出,生成EXP格式檔案或者SQL*LOADER檔案(同時生成SQL*LOADER的控制檔案)。DUL的應用場合是資料庫崩潰,並且沒有最近的備份。如果有合適的備份,那麼使用備份系統恢復是第一選擇,因為使用DUL不能保證資料的邏輯正確性。

本節僅僅簡單介紹DUL的功能,詳細的DUL使用可以向ORACLE公司索取。

DUL可以做什麼

當資料庫崩潰,而資料檔案沒有受到破壞的情況下,使用DUL可以從資料檔案中將表、索引等資訊匯出。

l DUL可以匯出從ORACLE 6到目前最新版本的資料。並且在所有的平臺上,ORACLE都提供DUL工具。任何平臺下的DUL工具可以匯出其他平臺上的���據檔案,如果你沒有資料庫平臺上的DUL工具,那麼擁有一個其他平臺上的DUL工具,也是一種很幸運的事情。

l 如果SYSTEM表空間十分完整,那麼DUL可以獲得所有的資料字典資訊,如果SYSTEM表空間檔案丟失或者損壞,那麼DUL無法獲得資料字典的資訊,但是DUL仍然可以匯出資料。只是匯出時DUL無法知道該資料的表名和欄位名,匯出後,控制檔案需要修改後才能使用。

l 如果沒有當前SYSTEM表空間的檔案,可以使用早期的SYSTEM表空間備份

l DUL的命令可以直接匯出整個資料庫或者匯出一個SCHEMA或者一張單獨的表。

l DUL可以生成EXP格式的輸出檔案或者生成SQL*LOADER的檔案(含控制檔案)

DUL可以下載以下的物件:

l 普通表資料,包含行鏈行遷移的資料都能被正確匯出

l HASH表資料

l CLUSTER表資料

l 分割槽表資料

l 索引組織表資料

l LOB資料

l 支援ORACLE標準資料型別

l 支援所有的字符集,支援多位元組資料

DUL不能做什麼

DUL也不是萬能的,以下是DUL不支援的:

l DUL只能下載資料,不能生成觸發器、儲存過程、表、檢視等的指令碼

l DUL在下載多位元組的表名(比如表名使用漢字)的表資料的時候會碰到問題

l 如果下載LOB資料,那麼輸出格式不支援exp格式

l 如果下載資料包含LONG RAW型別,那麼輸出格式不支援SQL*LOADER格式

l DUL不支援VARRAY/物件/Nested Table等型別的資料

l DUL不支援MLSLABEL型別

l DUL不進行一致性檢查

使用DUL的注意事項

在使用DUL進行資料拯救前,需要有如下的資訊:

l 所有資料檔案的列表,包含資料檔案的檔案號和全路徑檔名

l 建立應用資料字典的指令碼

l 如果擁有以前的exp備份,對於資料恢復將是十分有用的

l 確定需要拯救的資料量,並根據資料量準備好儲存介質,制定好傳輸策略等方案

l 如果資料檔案存放在裸裝置上,還需要了解裸裝置的情況,有些廠家的裸裝置檔案前面有一定的裸裝置頭,需要跳過

l 如果你無法得到你的作業系統上的DUL工具,你可以將資料檔案傳輸到DUL所在的機器上進行資料下載,那樣情況,要確定DUL配置檔案設定了正確的OS引數

除了上面所說的資訊外,要想進行資料拯救,要有足夠的耐心,這可能是一個十分漫長和枯燥的過程。當然了,要讓資料儘可能減少的損失,還需要一點運氣。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-739604/,如需轉載,請註明出處,否則將追究法律責任。

相關文章