由於ODU命令比較多特別是關鍵的unload命令比較復雜本文將簡單介紹幾種場景下使用ODU進行數據恢復時使用的命令序列
場景 數據庫不能啟動但是SYSTEM表空間中的數據字典是完整的
生成數據字典unload dict
列出用戶: list user
列出用戶下的所有表: list table username
恢復表: unload table usernametablename
也可以按用戶恢復 unload user username
場景 表被TRUNCATE
OFFLINE表所在的表空間
生成數據字典unload dict
顯示表的段頭desc usernametablename
找到實際的data object id dump datafile file# block block#
掃描數據scan extent
恢復表unload table usernametablename object object_id
UPDATE:
從版本開始恢復Truncate表更方便只需要執行下面的步驟:
OFFLINE表所在的表空間
生成數據字典unload dict
掃描數據scan extent
恢復表unload table usernametablename object auto
場景 表被DROP
OFFLINE表所在的表空間
使用logminer從日志裡面挖掘被drop掉的表其data object id如果不能挖掘按下面的場景進行恢復
掃描數據scan extent
如果沒有表結構信息需要自動來判斷unload object data_object_id sample
恢復表unload object data_object_id column coltype coltype…
場景 系統表空間損壞
掃描數據scan extent
搜索數據unload object all sample
從結果文件sampletxt查找需要的數據
恢復需要的表unload object data_object_id column coltype coltype…
場景 表中數據被DELETE
將參數unload_deleted設置為YES
生成數據字典unload dict
恢復表: unload table usernametablename
From:http://tw.wingwit.com/Article/program/Oracle/201311/16735.html