您的位置:首頁技術文章
文章詳情頁

Oracle 的數據庫的數據備份與恢復

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