文章詳情頁
通過Backup Exec實施Oracle來災難恢復
瀏覽:191日期:2023-11-25 14:18:40
shutdown數據庫(不要用shutdown abort強行關閉),實施一個文件級備份,備份全部的Oracle相關文件,包括Windows系統文件,系統狀態和Oracle程序文件和數據文件等內容。 這個冷備份對于快速恢復Oracle數據庫系統非常要害,假如沒有它,系統被破壞后只能重新安裝再恢復,這要比直接恢復冷備份慢得多,也更復雜。 每當數據庫或表單的物理結構或邏輯結構有變化時都應該重新創建這個冷備份。 1、FULL CLOSED備份: shutdown數據庫(不要用shutdown abort強行關閉),實施一個文件級備份,備份全部的Oracle相關文件,包括Windows系統文件,系統狀態和Oracle程序文件和數據文件等內容。 這個冷備份對于快速恢復Oracle數據庫系統非常要害,假如沒有它,系統被破壞后只能重新安裝再恢復,這要比直接恢復冷備份慢得多,也更復雜。 每當數據庫或表單的物理結構或邏輯結構有變化時都應該重新創建這個冷備份。 2. FULL ONLINE備份: 這個備份要通過Backup Exec Agent for Oracle Server來完成,要備份全部表空間,歸檔日志和控制文件,通過這種方式備份,Oracle會將所有緩存內容寫入文件,將online redo log做歸檔,所以數據庫備份中包含的是備份時數據庫的即時點信息,完整而且有效。以后做恢復時,可以恢復到最后一次FULL ONLINE備份的狀態。 恢復過程: 1. 重新安裝Windows系統和Remote Agent for Windows Server,為恢復Oracle服務器預備環境。 2. 恢復最后一次FULL CLOSED備份,重新啟動計算機。此時Windows系統,Oracle數據庫系統都是完整的,只是Oracle數據庫中可能不是最新的數據。Backup Exec Agent for Oracle Server也不用重新安裝了。 3. 用SQLPlus用SYS以sysdba身份連接到數據庫系統,關閉數據庫。 shutdown immediate + < enter > 4. 通過介質服務器恢復最新的FULL ONLINE備份,恢復作業屬性的高級選項中,確保選中了“Restore over Existing files(覆蓋現存文件)” 選項。 要想成功的恢復數據庫,在最后一次FULL CLOSED備份之后的所有redo log必須都已經成功歸檔并備份。少了哪一個,數據庫就無法恢復到最后的FULL ONLI NE備份時的狀態。 通過Oracle的alert log可以看到數據庫的恢復需要哪些歸檔日志,以及你應該把它們恢復到什么位置。 5. 恢復完成后,用SYS用戶以sysdba身份連接到數據庫,將數據庫加載到mount階段:startup mount + < enter >。 6. 數據庫mount完成后,執行recover過程:recover database using backup controlfile + < enter>。 數據庫會提示你需要哪些日志: ORA-00279: Change 36579 generated at needed for thread 1ORA-00289: Suggestion : Oracle_HomeOradata%SID%T00036579.ARCORA-00280: {=Suggested filename AUTO FROM logsource CANCEL}最簡單的方法是選自動恢復: auto + < enter > 系統會在init.ora文件中定義的位置上查找所有必需的日志并依次應用它們,最后一個要應用的日志是online redo log,實際上它并不包括任何的transaction,只有一個SCN,可以略過,但是自動恢復過程會因為找不到相應的文件而報錯: ORA-00308: cannot open archived logE:ORACLEORADATAKIMSTADARCHIVEKIMSTADT00036949.ARC'ORA-27041: unable to open fileOSD-04002: unable to open fileO/S-Error: (OS 2) The system cannot find the file specified.為此輸入以下命令(until cancel參數使我們可以在需要的時候中止恢復過程): recover database until cancel using backup controlfile + 。 這樣在數據庫恢復的最后階段再次提示前面的錯誤時,我們就可以中止恢復過程: cancel + < enter >。 這時除了最后一個online redo log以外,所有的commit transaction都已經提交到數據庫之中了,完成后會顯示: Media recovery canceled。 實際上恢復過程已經正常完成了。 最后是打開數據庫并同步日志序列號: alter database open resetlogs + < enter > 至此,Oracle數據庫被成功恢復到最后一次Full Online備份。 說明:Oracle 8i可以用internal賬號完成DBA操作。9i取消了internal賬號,SYS賬號代替它了。為了以DBA身份登錄,啟動SQL Plus時應該加nolog參數,進入之后再登錄,connect username/passWord as sysdba。
排行榜
