基于Oracle 11g的備份恢復策略的研究與實現
來源:用戶上傳
作者:
摘要:21世紀是一個信息化的時代,傳統的紙質記錄信息已經不能滿足我們的需求。Oracle數據庫是目前世界上主流的數據庫,具有存儲量大、穩定性強、靈活性高等特點,被廣泛應用于國防、航空、醫療等領域。數據庫可能會因為設備故障、病毒攻擊、操作系統故障等因素造成數據的丟失,如果DBA沒有對數據庫進行備份,那么將會帶來巨大的損失,因此我們必須認識到備份與恢復的重要性,做到防患未然。本文將對oracle數據庫的備份與恢復策略展開介紹。
關鍵詞:Oracle數據庫;備份;RMAN
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)13-0008-02
大數據的時代,信息化和數字化也是各行業企業的發展趨勢,因此我們對數據的安全性有了更高的要求,對數據的備份和數據的恢復技術的重要性更加突出。對于目前運行正常的Oracle數據庫來說,雖然發生故障的可能性很小,但發生的可能性還是存在,還是存在丟失數據的可能性。目前還有很多生產數據庫依然沒有備份,一旦當災難來臨的時候,就會因為沒有備份或者沒有完善的恢復流程而手忙腳亂。對數據庫進行備份就相當于買了保險,這個保險可以使DBA在Oracle發生故障時胸有成竹。
數據庫的物理備份、恢復和日常的備份、恢復文檔類似。簡單來說,物理備份數據庫就是將文件從一個地方物理地復制到另一個地方,數據庫的恢復就是將損壞的文件從備份中復制回來。目前較為常用的三種備份方法是熱備份、冷備份、RMAN備份。下面就基于Oracle 11g數據庫的三種常用的備份恢復策略進行探討。
1數據庫的備份與恢復策略的研究
1.1引起Oracle故障的類型
一個運行很正常的數據庫可能會因為一些因素導致數據庫發生故障,常見的類型故障有:介質故障、用戶進程故障、實例故障、用戶錯誤故障等,下面將介紹幾種常見故障的類型。
⑴介質故障
介質故障是導致一個或者多個數據庫文件(數據文件、控制文件或重做日志文件)丟失或損壞的故障,該故障會導致數據庫文件或者磁盤不能讀或者不能寫。
?、朴脩暨M程故障
當用戶程序出錯而無法訪問Oracle數據庫時,就會發生用戶進程故障。用戶進程故障只會導致當前用戶無法操作數據庫,但不會影響其他用戶進程,當用戶進程出現故障時,進程監控程序(PMON)會自動執行故障恢復。
?、菍嵗收?
當Oracle數據庫實例由于硬件或軟件問題而無法繼續運行時,就會發生實例故障,硬件問題包括意外斷電,而軟件問題可能是服務器操作系統崩潰。如果發生實例故障,Oracle會自動完成實例修復。實例修復將數據庫恢復到與故障之前的事務一致狀態,Oracle會自動回滾未提交的數據。
⑷用戶錯誤
應用程序邏輯錯誤或者用戶錯誤更新、刪除導致數據庫的數據更改錯誤。
1.2 數據庫的備份策略角度分類
Oracle數據庫的備份是對數據庫中的數據文件、控制文件、在線日志文件等進行備份。根據數據庫的備份角度可以分為以下3種。
?、湃珎浞?
數據庫的全備份又稱作0級備份,全備份是備份某一個時間點上的所有數據,這種備份的優點是操作簡單、備份較完整,缺點是恢復的數據量相當大,存在很多的重復信息,需要花費的時間和空間比較大。
?、撇町愒隽總浞?
差異增量備份是只備份上一次備份以后發生變化的文件,上一次備份可以是全備份也可以是差異增量備份或者積累增量備份,該備份的優點是備份數據量小,需要時間短,節省空間,缺點是要依賴之前的備份記錄。例如:星期天做了全備份,星期一至星期六則分別備份前一天變化的數據文件。
⑶累計增量備份
累計增量備份是備份上一次全備份以后發生變化的文件,這種備份需要備份所有增量備份的數據,備份消耗的時間比差異備份時間長。例如:星期天做了全備份,星期一至星期六則備份自星期天以來發生變化的數據文件。
1.3 數據庫備份恢復原理
?。?) 數據庫的冷備份及恢復
數據庫的冷備份指的是數據庫處于關閉或者MOUNT狀態下的備份,又稱作脫機備份。備份文件包括數據文件,日志文件和控制文件。
盡管冷備份適用于任何模式下的數據庫,但還是建議開啟歸檔模式后進行冷備份。當數據庫發生災難時,只要歸檔日志和在線日志存在,歸檔模式下的冷備份可以做到數據不丟失。
如果數據庫處于非歸檔模式下的話只能使用冷備份的方式進行備份,當發生災難的時候,只要控制文件,歸檔日志文件、在線日志文件沒有損壞,可以將冷備份的數據文件和復制到原目錄中,然后應用歸檔日志和在線日志,就可以做到數據的不丟失。
(1)數據庫的熱備份及恢復
數據庫的熱備份指的是處于open狀態下利用操作系統命令備份數據庫,又稱作聯機備份。熱備份常用于7*24小時不斷運行的數據庫的備份,該備份需要備份數據文件,歸檔日志文件,并且該備份必須要求數據庫處于歸檔模式。
由于熱備份是在數據庫處于運行狀態下進行,備份可能會碰到分裂塊的問題,所以在數據文件頭部通過Begin Backup設置標記位,判斷是否需要在日志文件中保存發生變化的數據塊信息。
熱備份的數據庫恢復是通過操作系統命令將熱備份的數據文件復制到原目錄中,然后應用歸檔日志文件,將數據庫打開。
(3)使用RMAN備份和恢復數據庫
RMAN可以通過語句實現數據庫、數據文件、控制文件等文件的備份,運用該方法備份數據文件一般要求數據庫處于歸檔模式,如果數據庫處于非歸檔模式下,則只能在MOUNT狀態下使用RMAN備份數據庫。 RMAN可以對數據文件進行全備份,也可以對增量備份,但是控制文件和日志文件只能進行全備份,如果進行增量備份,RMAN也會讀取整個數據文件,但只會備份上次備份以后發生變化的那一部分。 RMAN備份可以不備份空白數據塊,從而縮短了備份的時間,也減小了一定的空間。
RMAN備份恢復具有一些明顯的優勢,該備份執行期間不需要人工干預,減少了誤操作的機會,并且RMAN可以有效地將備份和恢復結合起來,它可以自動生成備份日志和自動備份控制文件。但是RMAN也存在一些缺點,因為RMAN是全自動的,所以備份過程是不透明的,RMAN備份的數據只有通過RMAN才能恢復,其他恢復的方法是沒有用的。
2 數據庫的備份與恢復策略的實現
2.1 熱備份數據庫
鎖定數據文件頭的SCN值
alter database begin backup;
更改數據庫為歸檔模式
alter database archivelog;
將數據庫設置為備份模式
alter tablespace user begin backup;
查看處于備份狀態的所有文件
select * from v$backup;
備份表空間的數據文件
host copy D:\dkir\zhangsan.DBF E\lisi;
2.2 熱備份的數據庫恢復
將備份文件恢復到原目錄中
host copy E:\lisi\zhangsan.BDF D:\dkir\zhangsan.BDF;
表空間設置為聯機狀態
alter tablespace online;
2.3 RMAN備份數據庫
數據庫的全量備份,該方法不會備份空白數據塊
backup database;
數據庫的鏡像備份,該方法產生的備份集大小和表空空間大小相同
Backup as copy database;
表空間的全量備份,不會備份空白數據塊(zhangsan為表空間名)
backup tablespace zhangsan;
備份數據文件(5為5號數據文件)
backup datafile 5;
備份控制文件
backup current controlfile;
備份SPFILE參數文件
backup spfile;
備份歸檔日志文件
Backup archivelog all;
2.4 RMAN備份的數據庫恢復
數據庫的恢復
recover database;
表空間的恢復(zhangsan為表空間名)
recover tablespace zhangsan;
恢復數據文件(5為5號數據文件)
recover datafile 5;
恢復控制文件
restore controlfile from ‘orac/backup/sns.bpk’;
恢復SPFILE參數文件
Restore spfile to ‘/oracle/spfile/spfilea.ora ’ from ‘ordata/backup/file.bkp’;
恢復歸檔日志文件(恢復56號到58號歸檔日志)
Restore archivelog from logseq 56 until logseq 58;
3 結語
本文首先介紹了Oracle備份恢復在日常工作生活中的重要性,然后介紹了引起Oracle故障的幾種常見類型,再介紹了三種常用的Oracle數據庫備份恢復策略的原理,最后介紹了三種備份恢復策略的具體實現。數據庫DBA應該透徹理解備份恢復的原理,然后根據具體問題選擇相應的策略,從而保證數據的安全性。
參考文獻:
[1] 林樹澤,盧芬,柳冬青.Oracle DBA 高可用、備份恢復與性能優化[M].清華大學出版社,2015.
[2][美]Thomas Kyte Darl Kuhn.Oracle編程藝術-深入理解數據庫體系結構(第3版) [M].人民郵電出版社,2016.
[3][美]塔里克法魯克(Tariq Farooq)邁克阿爾特(MikeAult Paulo Portugal).Oracle數據庫問題解決方案和故障排除手冊[M].電子工業出版社,2018.
[4]楊少敏,王紅敏.Oracle 11g數據庫應用簡明教程[M]. 清華大學出版社,2010.
[5] 劉憲軍.Oracle備份、恢復與遷移[M].機械工業出版社,2017.
【通聯編輯:光文玲】
轉載注明來源:http://www.hailuomaifang.com/8/view-14910151.htm