国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Oracle 11g的備份恢復(fù)策略的研究與實(shí)現(xiàn)

2019-07-08 02:23龔瑋瑋黃建軍肖英劍
電腦知識(shí)與技術(shù) 2019年13期
關(guān)鍵詞:Oracle數(shù)據(jù)庫備份

龔瑋瑋 黃建軍 肖英劍

摘要:21世紀(jì)是一個(gè)信息化的時(shí)代,傳統(tǒng)的紙質(zhì)記錄信息已經(jīng)不能滿足我們的需求。Oracle數(shù)據(jù)庫是目前世界上主流的數(shù)據(jù)庫,具有存儲(chǔ)量大、穩(wěn)定性強(qiáng)、靈活性高等特點(diǎn),被廣泛應(yīng)用于國防、航空、醫(yī)療等領(lǐng)域。數(shù)據(jù)庫可能會(huì)因?yàn)樵O(shè)備故障、病毒攻擊、操作系統(tǒng)故障等因素造成數(shù)據(jù)的丟失,如果DBA沒有對(duì)數(shù)據(jù)庫進(jìn)行備份,那么將會(huì)帶來巨大的損失,因此我們必須認(rèn)識(shí)到備份與恢復(fù)的重要性,做到防患未然。本文將對(duì)oracle數(shù)據(jù)庫的備份與恢復(fù)策略展開介紹。

關(guān)鍵詞:Oracle數(shù)據(jù)庫;備份;RMAN

中圖分類號(hào):TP311 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)13-0008-02

大數(shù)據(jù)的時(shí)代,信息化和數(shù)字化也是各行業(yè)企業(yè)的發(fā)展趨勢,因此我們對(duì)數(shù)據(jù)的安全性有了更高的要求,對(duì)數(shù)據(jù)的備份和數(shù)據(jù)的恢復(fù)技術(shù)的重要性更加突出。對(duì)于目前運(yùn)行正常的Oracle數(shù)據(jù)庫來說,雖然發(fā)生故障的可能性很小,但發(fā)生的可能性還是存在,還是存在丟失數(shù)據(jù)的可能性。目前還有很多生產(chǎn)數(shù)據(jù)庫依然沒有備份,一旦當(dāng)災(zāi)難來臨的時(shí)候,就會(huì)因?yàn)闆]有備份或者沒有完善的恢復(fù)流程而手忙腳亂。對(duì)數(shù)據(jù)庫進(jìn)行備份就相當(dāng)于買了保險(xiǎn),這個(gè)保險(xiǎn)可以使DBA在Oracle發(fā)生故障時(shí)胸有成竹。

數(shù)據(jù)庫的物理備份、恢復(fù)和日常的備份、恢復(fù)文檔類似。簡單來說,物理備份數(shù)據(jù)庫就是將文件從一個(gè)地方物理地復(fù)制到另一個(gè)地方,數(shù)據(jù)庫的恢復(fù)就是將損壞的文件從備份中復(fù)制回來。目前較為常用的三種備份方法是熱備份、冷備份、RMAN備份。下面就基于Oracle ?11g數(shù)據(jù)庫的三種常用的備份恢復(fù)策略進(jìn)行探討。

1數(shù)據(jù)庫的備份與恢復(fù)策略的研究

1.1引起Oracle故障的類型

一個(gè)運(yùn)行很正常的數(shù)據(jù)庫可能會(huì)因?yàn)橐恍┮蛩貙?dǎo)致數(shù)據(jù)庫發(fā)生故障,常見的類型故障有:介質(zhì)故障、用戶進(jìn)程故障、實(shí)例故障、用戶錯(cuò)誤故障等,下面將介紹幾種常見故障的類型。

⑴介質(zhì)故障

介質(zhì)故障是導(dǎo)致一個(gè)或者多個(gè)數(shù)據(jù)庫文件(數(shù)據(jù)文件、控制文件或重做日志文件)丟失或損壞的故障,該故障會(huì)導(dǎo)致數(shù)據(jù)庫文件或者磁盤不能讀或者不能寫。

⑵用戶進(jìn)程故障

當(dāng)用戶程序出錯(cuò)而無法訪問Oracle數(shù)據(jù)庫時(shí),就會(huì)發(fā)生用戶進(jìn)程故障。用戶進(jìn)程故障只會(huì)導(dǎo)致當(dāng)前用戶無法操作數(shù)據(jù)庫,但不會(huì)影響其他用戶進(jìn)程,當(dāng)用戶進(jìn)程出現(xiàn)故障時(shí),進(jìn)程監(jiān)控程序(PMON)會(huì)自動(dòng)執(zhí)行故障恢復(fù)。

⑶實(shí)例故障

當(dāng)Oracle數(shù)據(jù)庫實(shí)例由于硬件或軟件問題而無法繼續(xù)運(yùn)行時(shí),就會(huì)發(fā)生實(shí)例故障,硬件問題包括意外斷電,而軟件問題可能是服務(wù)器操作系統(tǒng)崩潰。如果發(fā)生實(shí)例故障,Oracle會(huì)自動(dòng)完成實(shí)例修復(fù)。實(shí)例修復(fù)將數(shù)據(jù)庫恢復(fù)到與故障之前的事務(wù)一致狀態(tài),Oracle會(huì)自動(dòng)回滾未提交的數(shù)據(jù)。

⑷用戶錯(cuò)誤

應(yīng)用程序邏輯錯(cuò)誤或者用戶錯(cuò)誤更新、刪除導(dǎo)致數(shù)據(jù)庫的數(shù)據(jù)更改錯(cuò)誤。

1.2 數(shù)據(jù)庫的備份策略角度分類

Oracle數(shù)據(jù)庫的備份是對(duì)數(shù)據(jù)庫中的數(shù)據(jù)文件、控制文件、在線日志文件等進(jìn)行備份。根據(jù)數(shù)據(jù)庫的備份角度可以分為以下3種。

⑴全備份

數(shù)據(jù)庫的全備份又稱作0級(jí)備份,全備份是備份某一個(gè)時(shí)間點(diǎn)上的所有數(shù)據(jù),這種備份的優(yōu)點(diǎn)是操作簡單、備份較完整,缺點(diǎn)是恢復(fù)的數(shù)據(jù)量相當(dāng)大,存在很多的重復(fù)信息,需要花費(fèi)的時(shí)間和空間比較大。

⑵差異增量備份

差異增量備份是只備份上一次備份以后發(fā)生變化的文件,上一次備份可以是全備份也可以是差異增量備份或者積累增量備份,該備份的優(yōu)點(diǎn)是備份數(shù)據(jù)量小,需要時(shí)間短,節(jié)省空間,缺點(diǎn)是要依賴之前的備份記錄。例如:星期天做了全備份,星期一至星期六則分別備份前一天變化的數(shù)據(jù)文件。

⑶累計(jì)增量備份

累計(jì)增量備份是備份上一次全備份以后發(fā)生變化的文件,這種備份需要備份所有增量備份的數(shù)據(jù),備份消耗的時(shí)間比差異備份時(shí)間長。例如:星期天做了全備份,星期一至星期六則備份自星期天以來發(fā)生變化的數(shù)據(jù)文件。

1.3 數(shù)據(jù)庫備份恢復(fù)原理

(1) 數(shù)據(jù)庫的冷備份及恢復(fù)

數(shù)據(jù)庫的冷備份指的是數(shù)據(jù)庫處于關(guān)閉或者M(jìn)OUNT狀態(tài)下的備份,又稱作脫機(jī)備份。備份文件包括數(shù)據(jù)文件,日志文件和控制文件。

盡管冷備份適用于任何模式下的數(shù)據(jù)庫,但還是建議開啟歸檔模式后進(jìn)行冷備份。當(dāng)數(shù)據(jù)庫發(fā)生災(zāi)難時(shí),只要?dú)w檔日志和在線日志存在,歸檔模式下的冷備份可以做到數(shù)據(jù)不丟失。

如果數(shù)據(jù)庫處于非歸檔模式下的話只能使用冷備份的方式進(jìn)行備份,當(dāng)發(fā)生災(zāi)難的時(shí)候,只要控制文件,歸檔日志文件、在線日志文件沒有損壞,可以將冷備份的數(shù)據(jù)文件和復(fù)制到原目錄中,然后應(yīng)用歸檔日志和在線日志,就可以做到數(shù)據(jù)的不丟失。

(1)數(shù)據(jù)庫的熱備份及恢復(fù)

數(shù)據(jù)庫的熱備份指的是處于open狀態(tài)下利用操作系統(tǒng)命令備份數(shù)據(jù)庫,又稱作聯(lián)機(jī)備份。熱備份常用于7*24小時(shí)不斷運(yùn)行的數(shù)據(jù)庫的備份,該備份需要備份數(shù)據(jù)文件,歸檔日志文件,并且該備份必須要求數(shù)據(jù)庫處于歸檔模式。

由于熱備份是在數(shù)據(jù)庫處于運(yùn)行狀態(tài)下進(jìn)行,備份可能會(huì)碰到分裂塊的問題,所以在數(shù)據(jù)文件頭部通過Begin Backup設(shè)置標(biāo)記位,判斷是否需要在日志文件中保存發(fā)生變化的數(shù)據(jù)塊信息。

熱備份的數(shù)據(jù)庫恢復(fù)是通過操作系統(tǒng)命令將熱備份的數(shù)據(jù)文件復(fù)制到原目錄中,然后應(yīng)用歸檔日志文件,將數(shù)據(jù)庫打開。

(3)使用RMAN備份和恢復(fù)數(shù)據(jù)庫

RMAN可以通過語句實(shí)現(xiàn)數(shù)據(jù)庫、數(shù)據(jù)文件、控制文件等文件的備份,運(yùn)用該方法備份數(shù)據(jù)文件一般要求數(shù)據(jù)庫處于歸檔模式,如果數(shù)據(jù)庫處于非歸檔模式下,則只能在MOUNT狀態(tài)下使用RMAN備份數(shù)據(jù)庫。

RMAN可以對(duì)數(shù)據(jù)文件進(jìn)行全備份,也可以對(duì)增量備份,但是控制文件和日志文件只能進(jìn)行全備份,如果進(jìn)行增量備份,RMAN也會(huì)讀取整個(gè)數(shù)據(jù)文件,但只會(huì)備份上次備份以后發(fā)生變化的那一部分。 RMAN備份可以不備份空白數(shù)據(jù)塊,從而縮短了備份的時(shí)間,也減小了一定的空間。

RMAN備份恢復(fù)具有一些明顯的優(yōu)勢,該備份執(zhí)行期間不需要人工干預(yù),減少了誤操作的機(jī)會(huì),并且RMAN可以有效地將備份和恢復(fù)結(jié)合起來,它可以自動(dòng)生成備份日志和自動(dòng)備份控制文件。但是RMAN也存在一些缺點(diǎn),因?yàn)镽MAN是全自動(dòng)的,所以備份過程是不透明的,RMAN備份的數(shù)據(jù)只有通過RMAN才能恢復(fù),其他恢復(fù)的方法是沒有用的。

2 數(shù)據(jù)庫的備份與恢復(fù)策略的實(shí)現(xiàn)

2.1 熱備份數(shù)據(jù)庫

鎖定數(shù)據(jù)文件頭的SCN值

alter database begin backup;

更改數(shù)據(jù)庫為歸檔模式

alter database archivelog;

將數(shù)據(jù)庫設(shè)置為備份模式

alter tablespace user begin backup;

查看處于備份狀態(tài)的所有文件

select * from v$backup;

備份表空間的數(shù)據(jù)文件

host copy D:\dkir\zhangsan.DBF ?E\lisi;

2.2 熱備份的數(shù)據(jù)庫恢復(fù)

將備份文件恢復(fù)到原目錄中

host copy E:\lisi\zhangsan.BDF ?D:\dkir\zhangsan.BDF;

表空間設(shè)置為聯(lián)機(jī)狀態(tài)

alter tablespace online;

2.3 RMAN備份數(shù)據(jù)庫

數(shù)據(jù)庫的全量備份,該方法不會(huì)備份空白數(shù)據(jù)塊

backup database;

數(shù)據(jù)庫的鏡像備份,該方法產(chǎn)生的備份集大小和表空空間大小相同

Backup as copy database;

表空間的全量備份,不會(huì)備份空白數(shù)據(jù)塊(zhangsan為表空間名)

backup tablespace zhangsan;

備份數(shù)據(jù)文件(5為5號(hào)數(shù)據(jù)文件)

backup datafile 5;

備份控制文件

backup current controlfile;

備份SPFILE參數(shù)文件

backup spfile;

備份歸檔日志文件

Backup ?archivelog all;

2.4 RMAN備份的數(shù)據(jù)庫恢復(fù)

數(shù)據(jù)庫的恢復(fù)

recover database;

表空間的恢復(fù)(zhangsan為表空間名)

recover tablespace zhangsan;

恢復(fù)數(shù)據(jù)文件(5為5號(hào)數(shù)據(jù)文件)

recover datafile 5;

恢復(fù)控制文件

restore controlfile from ‘orac/backup/sns.bpk;

恢復(fù)SPFILE參數(shù)文件

Restore ?spfile to ?‘/oracle/spfile/spfilea.ora from ‘ordata/backup/file.bkp;

恢復(fù)歸檔日志文件(恢復(fù)56號(hào)到58號(hào)歸檔日志)

Restore ?archivelog from logseq ?56 until logseq 58;

3 結(jié)語

本文首先介紹了Oracle備份恢復(fù)在日常工作生活中的重要性,然后介紹了引起Oracle故障的幾種常見類型,再介紹了三種常用的Oracle數(shù)據(jù)庫備份恢復(fù)策略的原理,最后介紹了三種備份恢復(fù)策略的具體實(shí)現(xiàn)。數(shù)據(jù)庫DBA應(yīng)該透徹理解備份恢復(fù)的原理,然后根據(jù)具體問題選擇相應(yīng)的策略,從而保證數(shù)據(jù)的安全性。

參考文獻(xiàn):

[1] 林樹澤,盧芬,柳冬青.Oracle DBA 高可用、備份恢復(fù)與性能優(yōu)化[M].清華大學(xué)出版社,2015.

[2][美]Thomas Kyte Darl Kuhn.Oracle編程藝術(shù)-深入理解數(shù)據(jù)庫體系結(jié)構(gòu)(第3版) [M].人民郵電出版社,2016.

[3][美]塔里克法魯克(Tariq Farooq)邁克阿爾特(MikeAult Paulo Portugal).Oracle數(shù)據(jù)庫問題解決方案和故障排除手冊(cè)[M].電子工業(yè)出版社,2018.

[4]楊少敏,王紅敏.Oracle 11g數(shù)據(jù)庫應(yīng)用簡明教程[M]. 清華大學(xué)出版社,2010.

[5] 劉憲軍.Oracle備份、恢復(fù)與遷移[M].機(jī)械工業(yè)出版社,2017.

【通聯(lián)編輯:光文玲】

猜你喜歡
Oracle數(shù)據(jù)庫備份
創(chuàng)建vSphere 備份任務(wù)
從取證角度解讀MacOS系統(tǒng)Time Machine備份數(shù)據(jù)
發(fā)射機(jī)備份是安全播出的重要措施
基于3G的VPDN技術(shù)在高速公路備份鏈路中的應(yīng)用
出版原圖數(shù)據(jù)庫遷移與備份恢復(fù)