重做日誌的恢復
1. 準備工作
首先 run 一個 checkpoint, 減少已提交事務的丟失
alter system checkpoint;
啟動到 mount 狀態, 確定丟失日誌檔案狀態
startup mount
select * from v$log;
如果生成 redo 檔案失敗, 先切換日誌, 刪除損壞日誌, 再生成同名新日誌
2. 恢復
2-1. 使用者管理的恢復
2-1-1. 丟失非活動日誌 (inactive)
由於已經完成檢查點, 非活動日誌所保護的資料都已寫入 datafile, 只需重建該日誌組即可
清除日誌組
alter database clear logfile group 1
如果資料庫處於歸檔模式, 並且該日誌組尚未完成歸檔, 則需使用如下強制命令清除,會丟失歸檔日誌
alter database clear unarchived logfile group 1
2-1-2. 丟失當前或活動日誌 (current或active)
資料庫正常關閉情況下, 由於資料庫已完成檢查點, 當前日誌所保護的資料都已寫入磁碟
恢復所有資料檔案, 執行基於取消的不完全恢復
startup mount
recover database until cancel
alter database open resetlogs
資料庫異常關閉情況下, 恢復所有資料檔案, 執行給予取消的不完全恢復
需指定最後一個完好的歸檔日誌用來完成恢復, 此操作將丟失聯機 redo 日誌的內的全部資料
startup mount
recover database until cancel
alter database open resetlogs
如果資料庫沒有備份並處於非歸檔模式, 則可利用隱含引數強制地忽略一致性開啟資料庫
成功開啟後,exp -> 新建庫 -> imp
alter system set "_allow_resetlogs_corruption"=true scope=spfile
shutdown immediate
startup mount
recover database using backup controlfile until cancel
cancel
alter database open resetlogs
shutdown immediate
startup
2-2. 基於RMAN的不完全恢復
startup mount;
run{
# 做不完全恢復時, 指定恢復執行的終點的日誌序號
set until sequence 1 thread 2;
restore database;
recover database;
}
alter database open resetlogs;
首先 run 一個 checkpoint, 減少已提交事務的丟失
alter system checkpoint;
啟動到 mount 狀態, 確定丟失日誌檔案狀態
startup mount
select * from v$log;
如果生成 redo 檔案失敗, 先切換日誌, 刪除損壞日誌, 再生成同名新日誌
2. 恢復
2-1. 使用者管理的恢復
2-1-1. 丟失非活動日誌 (inactive)
由於已經完成檢查點, 非活動日誌所保護的資料都已寫入 datafile, 只需重建該日誌組即可
清除日誌組
alter database clear logfile group 1
如果資料庫處於歸檔模式, 並且該日誌組尚未完成歸檔, 則需使用如下強制命令清除,會丟失歸檔日誌
alter database clear unarchived logfile group 1
2-1-2. 丟失當前或活動日誌 (current或active)
資料庫正常關閉情況下, 由於資料庫已完成檢查點, 當前日誌所保護的資料都已寫入磁碟
恢復所有資料檔案, 執行基於取消的不完全恢復
startup mount
recover database until cancel
alter database open resetlogs
資料庫異常關閉情況下, 恢復所有資料檔案, 執行給予取消的不完全恢復
需指定最後一個完好的歸檔日誌用來完成恢復, 此操作將丟失聯機 redo 日誌的內的全部資料
startup mount
recover database until cancel
alter database open resetlogs
如果資料庫沒有備份並處於非歸檔模式, 則可利用隱含引數強制地忽略一致性開啟資料庫
成功開啟後,exp -> 新建庫 -> imp
alter system set "_allow_resetlogs_corruption"=true scope=spfile
shutdown immediate
startup mount
recover database using backup controlfile until cancel
cancel
alter database open resetlogs
shutdown immediate
startup
2-2. 基於RMAN的不完全恢復
startup mount;
run{
# 做不完全恢復時, 指定恢復執行的終點的日誌序號
set until sequence 1 thread 2;
restore database;
recover database;
}
alter database open resetlogs;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22558114/viewspace-1086572/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 恢復重做日誌
- oracle 恢復重做日誌Oracle
- rman恢復--丟失聯機重做日誌的恢復
- 【備份恢復】 恢復重做日誌組成員
- MySQL重做日誌恢復資料的流程MySql
- 聯機重做日誌丟失的恢復
- 聯機重做日誌檔案的恢復
- 丟失所有重做日誌檔案的恢復例子丟失所有重做日誌檔案的恢復例子如下:
- 丟失聯機重做日誌檔案的恢復
- Oracle Redo(重做日誌) 模擬故障和恢復Oracle Redo
- 【備份恢復】恢復 丟失已歸檔重做日誌檔案
- 模擬線上重做日誌被刪除的情況恢復
- 【備份與恢復】恢復受損的複用聯機重做日誌檔案
- Oracle重做日誌檔案損壞或丟失後的恢復Oracle
- 重做日誌
- 聯機重做日誌、歸檔日誌、備用重做日誌
- Oracle的重做日誌Oracle
- 丟失當前current重做日誌檔案下恢復資料庫資料庫
- 重做日誌管理
- 【備份與恢復】重建受損的聯機重做日誌檔案成員
- 【恢復】Redo日誌檔案丟失的恢復
- Backup And Recovery User's Guide-還原恢復所需要的歸檔重做日誌GUIIDE
- 為oracle新增重做日誌組及重做日誌成員Oracle
- redo重做日誌管理
- 重做日誌大小的設定
- 16、重做日誌檔案的狀態及重做日誌組的狀態說明
- MySQL重做日誌(redo log)MySql
- 重做日誌基礎操作
- dml操作重做日誌分析
- 重做日誌檔案中的SCN
- 【備份恢復】恢復inactive狀態的日誌檔案
- DG歸檔日誌缺失恢復
- 損壞聯機日誌 恢復
- oracle日誌錯誤恢復(轉)Oracle
- 丟失非活動日誌組的恢復
- 損壞聯機日誌的恢復方法
- 冷備份+歸檔日誌的恢復
- oracle redo 日誌刪除後的恢復Oracle Redo