更新時間:2022-01-19 11:54:34 來源:動力節點 瀏覽1581次
數據庫恢復是一個非常復雜的話題,通過定期練習恢復技術,當真實情況發生時,一切都應該到位。
當實例崩潰或中止(使用關閉中止)時,Oracle 會執行自動恢復。恢復涉及兩步過程
前滾步驟- 數據庫將當前在線重做日志文件中已提交和未提交的數據應用到當前在線數據文件中
回滾步驟- 數據庫使用撤消段中的撤消數據刪除上一步中應用的未提交事務
恢復從重做日志中稱為線程檢查點重做字節地址的點開始。這是崩潰前完成最后一個檢查點的時間。您可以通過減少檢查點發生的時間來幫助減少恢復發生的時間,從而減少必須恢復的數據量。通過設置參數fast_start_mttr_target(最長為 3600 秒 - 1 小時),您可以指定恢復需要多長時間,注意這只是一個目標,oracle 將盡力滿足此目標,降低此閾值也可能會影響服務器的性能。還有另外兩個系統參數可用于控制何時發生檢查點log_checkpoint_timeout和fast_start_io_target。
設置 MTTR |
更改數據庫集 fast_start_mttr_target = 600; 注意:數值以秒為單位 |
顯示當前 MTTR | 從 v$instance_recovery 中選擇 recovery_estimated_ios、estimated_mttr、target_mttr; |
其他有用的系統參數 | |
LOG_CHECKPOINT_TIMEOUT |
日志緩沖區寫入此目標內的磁盤可能會對性能產生很大影響(默認為零,最大值為 3600 秒 - 1 小時) 更改系統集 fast_start_mttr_target=60 范圍=兩者;(無需重啟) |
FAST_START_IO_TARGET | 緩沖區緩存中任何新的或修改的塊在寫入磁盤之前等待的最大秒數(覆蓋 fast_start_mttr_target)。 |
有兩種類型的恢復可能的完全恢復和不完全恢復
完成- 意味著沒有數據丟失的恢復,重做和歸檔重做日志中的所有更改都被重新應用。
不完整 -意味著數據丟失,因為您只恢復了部分數據,這可能是由于數據損壞而您只想恢復到某個時間點
如果數據文件中只有幾個塊損壞,您應該考慮塊介質恢復,這可以通過RMAN執行。
我已將恢復技術分解為不同的關鍵區域
完全恢復
恢復非關鍵文件(臨時表空間、重做日志文件、索引表空間、只讀表空間和密碼文件)
恢復關鍵文件(控制文件)
數據庫恢復不完整
從用戶錯誤中恢復
閃回數據庫
閃回(閃回查詢、閃回表查詢、閃回版本查詢和閃回事務查詢)
有一個表可以用來識別需要介質恢復的文件
V$RECOVERY_FILE | 報告丟失或損壞的文件,該表將識別文件和錯誤。 |
恢復數據庫可以通過三種方式RMAN、傳統的用戶管理恢復(Netbackup、ufsrestore)或企業管理器 (OEM)。
RMAN 完整數據庫 |
## 仔細檢查備份集是否存在,我們可以恢復 rman> sql "立即關機"; 注意:必須是掛載模式,redo日志會在恢復過程中前滾數據庫 |
RMAN 表空間恢復 |
## 仔細檢查備份是否存在,我們可以恢復 ## 現在使表空間脫機并恢復文件 ## 恢復整個表空間時需要使表空間脫機 |
RMAN 數據文件恢復 |
## 仔細檢查備份是否存在,我們可以恢復 ## 恢復數據文件然后恢復它, ## 只要沒有人使用表空間就可以不脫機,dba_data_files (online_status) 指出文件需要恢復 |
用戶管理 | 1.以掛載方式打開 2.恢復數據文件(Netbackup或ufsrestore) 3.恢復數據庫 sql>recover database; 4.打開數據庫 sql>alter database open; |
OEM | 見甲骨文手冊 |
以上就是關于“完整的Oracle數據庫恢復”的介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Oracle數據庫教程,里面的課程內容詳細,通俗易懂,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習