文章詳情頁
Oracle 的數(shù)據(jù)庫的數(shù)據(jù)備份與恢復(fù)
瀏覽:41日期:2023-11-12 13:53:34
摘要:任何數(shù)據(jù)庫在長期使用過程中,都會存在一定的安全隱患。對于數(shù)據(jù)庫治理員來說不能僅寄希望于計算機操作系統(tǒng)的安全運行,而是要建立一整套的數(shù)據(jù)庫備份與恢復(fù)機制。當任何人為的或是自然的災(zāi)難一旦出現(xiàn),而導(dǎo)致數(shù)據(jù)庫崩潰、物理介質(zhì)損壞等,就可以及時恢復(fù)系統(tǒng)中重要的數(shù)據(jù),不影響整個單位業(yè)務(wù)的運作。然而假如沒有可靠的備份數(shù)據(jù)和恢復(fù)機制,就會帶來系統(tǒng)癱瘓、工作停滯、經(jīng)濟損失等等不堪設(shè)想的后果。本文以O(shè)racle數(shù)據(jù)庫為例,結(jié)合醫(yī)院的業(yè)務(wù)應(yīng)用環(huán)境,介紹 ORACLE數(shù)據(jù)庫的備份恢復(fù)。 首先,應(yīng)當制定一個嚴格的工作制度,規(guī)范化數(shù)據(jù)庫維護的工作流程。 總堅固際工作中的經(jīng)驗,數(shù)據(jù)庫治理員應(yīng)當按照以下原則進行數(shù)據(jù)庫系統(tǒng)的維護: 要求:每日值班的數(shù)據(jù)庫治理員應(yīng)當隨時監(jiān)控主數(shù)據(jù)庫服務(wù)器、備份數(shù)據(jù)庫服務(wù)器的軟件、硬件的正常運行,一旦出現(xiàn)故障,應(yīng)立即向領(lǐng)導(dǎo)匯報并采取相應(yīng)恢復(fù)措施。 一、治理員應(yīng)當每日察看數(shù)據(jù)庫的冷備份報告,出現(xiàn)問題及時檢查備份文件,保障每日數(shù)據(jù)庫服務(wù)器的備份正常運行。 二、當主數(shù)據(jù)庫服務(wù)器出現(xiàn)數(shù)據(jù)庫錯誤時,應(yīng)檢查數(shù)據(jù)庫的工作狀態(tài)。假如工作不正常應(yīng)及時將最新的備份數(shù)據(jù)覆蓋當前數(shù)據(jù)庫的損壞數(shù)據(jù),并重新啟動機器,檢驗數(shù)據(jù)庫系統(tǒng)是否能夠自行恢復(fù)運行。假如重新啟動后數(shù)據(jù)庫系統(tǒng)不能正常運行,則數(shù)據(jù)庫系統(tǒng)文件被破壞,應(yīng)重新安裝ORACLE數(shù)據(jù)庫并啟用緊急恢復(fù)方案。 三、當主數(shù)據(jù)庫服務(wù)器出現(xiàn)硬件故障時,應(yīng)在1小時內(nèi)更新備份數(shù)據(jù)庫為最新數(shù)據(jù),并啟動備份數(shù)據(jù)庫服務(wù)器,將備份數(shù)據(jù)庫服務(wù)器升級為主數(shù)據(jù)庫服務(wù)器。對于損壞的主數(shù)據(jù)庫服務(wù)器應(yīng)重新安裝ORACLE數(shù)據(jù)庫,并啟用緊急恢復(fù)方案。 四、當備份數(shù)據(jù)庫服務(wù)器出現(xiàn)數(shù)據(jù)庫錯誤時,應(yīng)檢查ORACLE數(shù)據(jù)庫的工作狀態(tài),假如工作不正常應(yīng)及時將最新的備份數(shù)據(jù)覆蓋當前數(shù)據(jù)庫的損壞數(shù)據(jù),并重新啟動機器,檢驗數(shù)據(jù)庫系統(tǒng)是否能夠自行恢復(fù)運行。假如重新啟動后數(shù)據(jù)庫系統(tǒng)不能正常運行,則數(shù)據(jù)庫系統(tǒng)文件被破壞,應(yīng)重新安裝ORACLE數(shù)據(jù)庫并啟用緊急恢復(fù)方案。假如ORACLE工作不正常,應(yīng)重新安裝ORACLE數(shù)據(jù)庫并啟用緊急恢復(fù)方案。 五、當備份數(shù)據(jù)庫服務(wù)器出現(xiàn)硬件故障時,應(yīng)盡快修復(fù)。等待硬件正常工作后,首先重新安裝ORACLE數(shù)據(jù)庫,并采用緊急恢復(fù)方案恢復(fù)ORACLE數(shù)據(jù)庫。 六、每周至少三次將備份數(shù)據(jù)轉(zhuǎn)移到移動磁盤內(nèi),以防止出現(xiàn)自然災(zāi)難的事故而導(dǎo)致的備份數(shù)據(jù)丟失。 1.ORACLE數(shù)據(jù)庫系統(tǒng)的安裝 首次安裝ORACLE7.3數(shù)據(jù)庫。進入安裝光盤的NT_x86目錄,運行setup.exe,進行安裝。選擇安裝目錄:D:ORANT(在本文中以將ORACLE數(shù)據(jù)庫安裝到D盤為例,下不累述。) 選擇安裝模式:oracle7 server prodUCt 選中:oracle7 con text option 2.0.4.0.0oracle7 spatail data option 7.3.3.0.0. 選擇標準安裝模式。配置數(shù)據(jù)庫:在net easy config中添加本地數(shù)據(jù)庫的別名、ip地址。修改注冊表的字符集為us7ascii(根據(jù)需要)。用internal帳戶啟動當前數(shù)據(jù)庫,驗證當前數(shù)據(jù)庫已正確安裝。Shutdown當前數(shù)據(jù)庫。設(shè)置數(shù)據(jù)庫為ARCHIVELOG方式: 1)將系統(tǒng)設(shè)置成自動歸檔寫滿的聯(lián)機日志文件,修改參數(shù)文件D:ORANTDatabaseINITORACL.ORA文件,設(shè)置: Log_archive_start= TRUE LOG_ARCHIVE_DEST = C:ARCHIVE(一般采用c:archive,最好是與備份數(shù)據(jù)庫文件分開放置的單獨硬盤)LOG_ ARCHIVE_FORMAT = a%s(設(shè)置歸檔日志的格式:短文件名格式) 2)將系統(tǒng)設(shè)置成設(shè)置數(shù)據(jù)庫為ARCHIVELOG方式: 啟動INSTANCE,并MOUNT數(shù)據(jù)庫。 ORANTBIN>SVRMGR23 SVRMGR> connect internal PassWord: Connected. SVRMGR> startup mount ORACLE instance started . Database mounted SVRMGR> alter database archivelog ; Statement processed SVRMGR> alter database open ; Statement processed . SVRMGR> exit ; Server Manager complete .拷貝最近備份的數(shù)據(jù)文件覆蓋當前數(shù)據(jù)庫的database目錄;拷貝最近備份ARCHIVE日志覆蓋當前數(shù)據(jù)庫的ARCHIVE目錄;先將當前的 Log1orcl.ora、Log2orcl.ora、Ctrl1orcl.ora、Ctrl2orcl.ora控制文件更名為*.old文件,然后拷貝最近備份的控制文件到當前數(shù)據(jù)庫的database目錄。重新啟動服務(wù)器,以INTERNAL帳號登陸ORACLE數(shù)據(jù)庫。 重新安裝ORACLE7.3數(shù)據(jù)庫。首先停止所有ORACLE服務(wù)。刪除ORACLE的所有數(shù)據(jù)文件(如:d:orant目錄中的所有信息)。刪除注冊表的 hkey_local_machinesoftwareoracle鍵值。按照首次安裝ORACLE7.3數(shù)據(jù)庫的步驟進行以后的安裝。 假如安裝ORACLE8i數(shù)據(jù)庫,應(yīng)當注重在安裝過程中選擇合適的安裝方式、安裝路徑、選擇合適的語言格式和字符集、全局數(shù)據(jù)庫名和SID、設(shè)置各個擴展段大小和日志文件大小、SQA參數(shù)、注冊表中的語言格式應(yīng)當與安裝時選擇的語言格式一致。以上參數(shù)非常重要,一旦確認安裝之后,不能再更改,否則一旦安裝完畢發(fā)現(xiàn)某個參數(shù)錯誤,只能整個數(shù)據(jù)庫系統(tǒng)重新安裝。 2. 數(shù)據(jù)庫備份方案 2.1數(shù)據(jù)文件備份 數(shù)據(jù)庫治理員需要定制具體的備份方案,要害是適合的備份時間點。假如數(shù)據(jù)庫服務(wù)器是7*24小時不間斷服務(wù),那么至少在一周內(nèi)的一、三、五的天天早、中、晚都有備份點。一般選擇在服務(wù)器不太忙的時候。結(jié)合醫(yī)院的業(yè)務(wù)要求,在早上3:00、中午13:00、晚上18:00三個時間點進行備份,因為在這幾個段內(nèi)基本沒有業(yè)務(wù)進行處理,便于系統(tǒng)快速處理備份任務(wù)。備份任務(wù)由操作系統(tǒng)來調(diào)度,我們可以使用windows2000服務(wù)器的任務(wù)調(diào)度程序來完成天天的備份安排。oracle的orant目錄下所有數(shù)據(jù)復(fù)制到另一個磁盤空間(這里拷貝到E: Orantdatabase目錄中),建議存到備份服務(wù)器的一個專屬磁盤空間。 2.2日志、控制文件備份 由于日志和控制文件是ORACLE數(shù)據(jù)庫在恢復(fù)時不可缺少的組成數(shù)據(jù),應(yīng)當在做數(shù)據(jù)備份時進行同步日志和控制文件的備份。為了確保安全,建議日志和控制文件備份到與數(shù)據(jù)備份不同的物理介質(zhì)上。對于備份時間和備份調(diào)度,建議一天一次,同樣調(diào)度在系統(tǒng)閑時。由于日志和控制文件起到了增量恢復(fù)的作用,控制文件的備份點應(yīng)當比數(shù)據(jù)文件的備份點多。由于控制文件小,不會占用系統(tǒng)資源,建議在重要的業(yè)務(wù)數(shù)據(jù)操作時間點之后緊接著進行備份。一般醫(yī)院在上午10:00、上午12:00、下午4:00、下午7:00、晚上12:00,是比較重要的數(shù)據(jù)處理節(jié)點,所以建議進行日志和控制文件的備份。 2.3備份方法 一種最簡單的備份方法:首先寫DOS復(fù)制命令形成一個bat批處理文件,然后在WINDOWS2000系統(tǒng)中調(diào)度執(zhí)行bat批處理文件。 3. 緊急恢復(fù)方案 一、數(shù)據(jù)庫現(xiàn)狀 主數(shù)據(jù)庫服務(wù)器:Mainserver ,運行Oracle 主數(shù)據(jù)庫。 備份數(shù)據(jù)庫服務(wù)器:BackServer ,存放主服務(wù)器的所有數(shù)據(jù)備份,是進行數(shù)據(jù)恢復(fù)的主要依據(jù)。 二、恢復(fù)預(yù)備 檢查當前數(shù)據(jù)庫是否已經(jīng)設(shè)置為歸檔日志方式,即:察看文件D:ORANTDatabaseINITORACL.ORA中,是否設(shè)置: Log_archive_start= TRUELOG_ARCHIVE_DEST = C:ARCHIVE假如沒有進行此項設(shè)置,則無法盡行恢復(fù)。 進行恢復(fù)過程: 1. 在主數(shù)據(jù)庫服務(wù)器:MainServer上進行數(shù)據(jù)恢復(fù) 1) 重新安裝Oracle7.3,完成所有數(shù)據(jù)庫設(shè)置。 2) 先將本機中ORANTDatabase上的Log1orcl.ora、Log2orcl.ora、Ctrl1orcl.ora、Ctrl2orcl.ora控制文件更名為*.old文件。 3) 拷貝備份數(shù)據(jù):將最新的冷備份數(shù)據(jù)拷貝到MainServer上的D:Orantdatabase 目錄中,并覆蓋原有數(shù)據(jù)。 4) 拷貝日志和控制文件:將最近備份的控制文件拷貝到當前數(shù)據(jù)庫的database目錄,將最近備份的歸檔日志文件到本機的C:ARCHIVE中。 5) 啟動MainServer上的數(shù)據(jù)庫服務(wù)器。 D:ORANTBIN>SVRMGR32SVRMGR> connect internalPassword:Connected.SVRMGR> startup mount ;ORACLE instance started .Database mountedSQLDBA>recover database 輸入:AUTO (即自動恢復(fù))SQLDBA>alter database open ; Statement processed .SQLDBA>exit ;Server Manager complete6)重新啟動數(shù)據(jù)庫服務(wù)器,登陸后可正常使用。 2. 在備份數(shù)據(jù)庫服務(wù)器:BackServer上進行數(shù)據(jù)恢復(fù) 當主數(shù)據(jù)庫服務(wù)器不可用時,需要在備份數(shù)據(jù)庫服務(wù)器上進行恢復(fù)。 1)手動升級輔域服務(wù)器為主數(shù)據(jù)庫控制器 2) 停止BackServer當前數(shù)據(jù)庫服務(wù)器,重新安裝Oracle7.3 3) 先將最近備份的4個控制日志文件拷貝到BackServer上的D:Orantdatabase 目錄中,并覆蓋已有的同名文件。再將最新的冷備份數(shù)據(jù)Copy到BackServer上的D:Orantdatabase 目錄中。 4) 檢查C:ARCHIVE目錄下的日志文件,假如不可用則需要拷貝主數(shù)據(jù)庫服務(wù)器上C:ARCHIVE目錄中所有的歸檔日志到BackServer的C:ARCHIVE目錄中。 5) 啟動BackServer上的數(shù)據(jù)庫服務(wù)器。 D:ORANTBIN>SVRMGR23SVRMGR> conn䁥ct internal/oraclePassword:CoѮnected.SVRMGR> startup mountORACLE instance started...Databasѥ mounted...SQLDBA>recover database 輸入:AUTO (即自動恢復(fù))等待系統(tǒng)完成任務(wù)后,顯示:Media recovѥry completeSQLDBA>alter database open ; Statement processed .SQLDBA>exit ; Server Manager complete6)重新啟動數(shù)據(jù)庫服務(wù)器,登陸后可正常使用。 注重:假如恢復(fù)時的歸檔日志文件與控制文件的時間不一致,則恢復(fù)到控制文件的時間狀態(tài)。 綜上所述,得到下面的公式:恢復(fù)數(shù)據(jù) = 冷備份數(shù)據(jù) + 所有Archive Log文件+ 四個ORA控制文件。 不同的備份方式有不同的備份方法,正確選擇適合軟硬件環(huán)境和系統(tǒng)安全要求的備份方案非常重要,有時需要多種備份方式結(jié)合的方案。
標簽:
Oracle
數(shù)據(jù)庫
排行榜
