前言:想要寫出一篇引人入勝的文章?我們特意為您整理了RMAN的數據庫恢復研究范文,希望能給你帶來靈感和參考,敬請閱讀。
如果所有數據文件都丟失了,可以使用RESTOREDAT-ABASE命令轉儲所有數據文件,再使用RECOVERDATA-BASE命令恢復數據庫,要求數據庫必須處于MOUNT狀態。注意:對于數據庫中存在只讀數據文件的情況,如果該數據文件是在有效備份之前把它設置為只讀的,rman會跳過該只讀數據文件的恢復,如果希望恢復該只讀數據文件可以使用RESTOREDATABASECHECKREADONLY命令。如果某個表空間的數據文件出現介質失敗,可以先使用SQL語句ALTERTABLESPACE…OFFLINEIMMEDIATE脫機表空間,接著使用RESTORETABLESPACE命令轉儲表空間的所有數據文件,再使用RECOVERTABLESPACE命令應用日志,最后使用SQL語句ALTERTABLESPACE…ONLINE使表空間聯機,要求數據庫必須處于OPEN狀態。
SYSTEM表空間的數據文件只能在數據庫MOUNT狀態下恢復,其他數據文件既可以在數據庫MOUNT狀態下恢復,也可以在數據庫OPEN狀態下恢復。如果某個數據文件出現介質失敗,那么在裝載了數據庫之后,先使用RESTOREDATAFILE命令轉儲該數據文件,再使用RECOVERDATAFILE命令應用日志,最后使用SQL語句ALTERDATABASEOPEN打開數據庫。數據塊是恢復的最小單元,通過數據塊介質恢復可以減少恢復時間,而且數據文件可以在線。要恢復的壞塊信息可以從報警與跟蹤文件、表與索引的分析、dbverify工具或第三方介質管理工具以及具體的查詢語句中獲得。產生數據塊損壞的原因一般是隨機的IO錯誤或者是內存的塊錯誤。如果絕對文件號為6的數據文件中塊號是3的數據塊損壞了,可以使用如下命令恢復損壞的數據塊,如下:RMAN>BLOCKRECOVERDATAFILE6BLOCK3;損壞的數據塊的信息保存在視圖V$DATABASE_BLOCK_CORRUPTION中,用如下命令可以恢復該視圖中列出的壞塊,如下:RMAN>BLOCKRECOVERCORRUPTIONLISTRE-STOREUNTILTIME‘SYSDATE-7’。
RMAN不完全恢復
RMAN不完全恢復是指當數據庫出現介質失敗或邏輯失敗時,使用RESTORE命令轉儲備份,并使用RECOVER命令將數據庫恢復到備份點與失敗點之間某個時刻的狀態。注意不完全恢復只能在數據庫MOUNT狀態下進行。
1基于時間恢復。當執行基于時間點的不完全恢復時,首先要在命令行設置環境變量NLS_DATE_FORMAT。在進入RMAN之后,先裝載數據庫,再使用SETUNTILTIME命令指定要恢復到的時間點,使用RESTOREDATABASE轉儲所有數據文件,使用RE-COVERDATABASE命令恢復數據庫,最后使用SQL語句AL-TERDATABASEOPENRESETLOGS打開數據庫。
2基于SCN恢復。當使用RMAN執行基于SCN的不完全恢復時,在裝載數據庫后,先使用SETUNTILSCN命令指定要恢復到的SCN點,再使用RESTOREDATABASE轉儲所有數據文件,使用RECOVERDATABASE命令恢復數據庫,最后使用SQL語句ALTERDATABASEOPENRESETLOGS打開數據庫。4.3基于日志序列號恢復當使用RMAN執行基于日志序列號的不完全恢復時,在裝載數據庫后,先使用SETUNTILSEQUENCE…THREAD命令指定要恢復到的日志序列號,接著使用RESTOREDATA-BASE轉儲所有數據文件,再使用RECOVERDATABASE命令恢復數據庫,最后使用SQL語句ALTERDATABASEOPENRESETLOGS打開數據庫。
恢復控制文件
還原一個備份的控制文件后,需要注意以下事項:(1)運行RECOVERDATABASE命令恢復數據庫,然后用RESETLOGS選項打開數據庫;(2)在打開數據庫后為本地管理方式的臨時表空間新增臨時文件。如果沒有使用恢復目錄,RMAN只能在數據庫NO-MOUNT狀態下,從備份中進行控制文件的恢復。
1從自動備份中恢復控制文件。在NOMOUNT數據庫后,先使用SETDBID命令設置數據庫的ID編號,接著使用RESTORECONTROLFILEFROMAUTOBACKUP命令還原控制文件。
2從包含控制文件的備份文件中恢復控制文件。在NOMOUNT數據庫后,先使用SETDBID命令設置數據庫的ID編號,接著使用RESTORECONTROLFILEFROM'media_handle'命令還原控制文件。
結束語
本文對如何使用RMAN進行Oracle數據庫的還原與恢復作了較詳盡的闡述,為需要使用RMAN恢復Oracle數據庫的用戶提供了一些使用方法,使之能盡可能的挽回由系統突發事故所帶來的數據損失,保障企業應用系統的正常運行。(本文作者:朱偉 單位:淮北礦業集團通訊計算機處)