文章詳情頁
通過Backup Exec實施Oracle來災難恢復
瀏覽:212日期:2023-11-25 14:18:40
shutdown數(shù)據(jù)庫(不要用shutdown abort強行關(guān)閉),實施一個文件級備份,備份全部的Oracle相關(guān)文件,包括Windows系統(tǒng)文件,系統(tǒng)狀態(tài)和Oracle程序文件和數(shù)據(jù)文件等內(nèi)容。 這個冷備份對于快速恢復Oracle數(shù)據(jù)庫系統(tǒng)非常要害,假如沒有它,系統(tǒng)被破壞后只能重新安裝再恢復,這要比直接恢復冷備份慢得多,也更復雜。 每當數(shù)據(jù)庫或表單的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)有變化時都應該重新創(chuàng)建這個冷備份。 1、FULL CLOSED備份: shutdown數(shù)據(jù)庫(不要用shutdown abort強行關(guān)閉),實施一個文件級備份,備份全部的Oracle相關(guān)文件,包括Windows系統(tǒng)文件,系統(tǒng)狀態(tài)和Oracle程序文件和數(shù)據(jù)文件等內(nèi)容。 這個冷備份對于快速恢復Oracle數(shù)據(jù)庫系統(tǒng)非常要害,假如沒有它,系統(tǒng)被破壞后只能重新安裝再恢復,這要比直接恢復冷備份慢得多,也更復雜。 每當數(shù)據(jù)庫或表單的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)有變化時都應該重新創(chuàng)建這個冷備份。 2. FULL ONLINE備份: 這個備份要通過Backup Exec Agent for Oracle Server來完成,要備份全部表空間,歸檔日志和控制文件,通過這種方式備份,Oracle會將所有緩存內(nèi)容寫入文件,將online redo log做歸檔,所以數(shù)據(jù)庫備份中包含的是備份時數(shù)據(jù)庫的即時點信息,完整而且有效。以后做恢復時,可以恢復到最后一次FULL ONLINE備份的狀態(tài)。 恢復過程: 1. 重新安裝Windows系統(tǒng)和Remote Agent for Windows Server,為恢復Oracle服務器預備環(huán)境。 2. 恢復最后一次FULL CLOSED備份,重新啟動計算機。此時Windows系統(tǒng),Oracle數(shù)據(jù)庫系統(tǒng)都是完整的,只是Oracle數(shù)據(jù)庫中可能不是最新的數(shù)據(jù)。Backup Exec Agent for Oracle Server也不用重新安裝了。 3. 用SQLPlus用SYS以sysdba身份連接到數(shù)據(jù)庫系統(tǒng),關(guān)閉數(shù)據(jù)庫。 shutdown immediate + < enter > 4. 通過介質(zhì)服務器恢復最新的FULL ONLINE備份,恢復作業(yè)屬性的高級選項中,確保選中了“Restore over Existing files(覆蓋現(xiàn)存文件)” 選項。 要想成功的恢復數(shù)據(jù)庫,在最后一次FULL CLOSED備份之后的所有redo log必須都已經(jīng)成功歸檔并備份。少了哪一個,數(shù)據(jù)庫就無法恢復到最后的FULL ONLI NE備份時的狀態(tài)。 通過Oracle的alert log可以看到數(shù)據(jù)庫的恢復需要哪些歸檔日志,以及你應該把它們恢復到什么位置。 5. 恢復完成后,用SYS用戶以sysdba身份連接到數(shù)據(jù)庫,將數(shù)據(jù)庫加載到mount階段:startup mount + < enter >。 6. 數(shù)據(jù)庫mount完成后,執(zhí)行recover過程:recover database using backup controlfile + < enter>。 數(shù)據(jù)庫會提示你需要哪些日志: 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 > 系統(tǒng)會在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參數(shù)使我們可以在需要的時候中止恢復過程): recover database until cancel using backup controlfile + 。 這樣在數(shù)據(jù)庫恢復的最后階段再次提示前面的錯誤時,我們就可以中止恢復過程: cancel + < enter >。 這時除了最后一個online redo log以外,所有的commit transaction都已經(jīng)提交到數(shù)據(jù)庫之中了,完成后會顯示: Media recovery canceled。 實際上恢復過程已經(jīng)正常完成了。 最后是打開數(shù)據(jù)庫并同步日志序列號: alter database open resetlogs + < enter > 至此,Oracle數(shù)據(jù)庫被成功恢復到最后一次Full Online備份。 說明:Oracle 8i可以用internal賬號完成DBA操作。9i取消了internal賬號,SYS賬號代替它了。為了以DBA身份登錄,啟動SQL Plus時應該加nolog參數(shù),進入之后再登錄,connect username/passWord as sysdba。
標簽:
Oracle
數(shù)據(jù)庫
排行榜
