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