oracle 備份 rman 使用總結(jié)_第1頁
oracle 備份 rman 使用總結(jié)_第2頁
oracle 備份 rman 使用總結(jié)_第3頁
oracle 備份 rman 使用總結(jié)_第4頁
oracle 備份 rman 使用總結(jié)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、ORACLE 備份與恢復(fù)目錄1數(shù)據(jù)庫常見故障類型:22數(shù)據(jù)庫保護(hù)機(jī)制:22.1數(shù)據(jù)庫備份22.2事務(wù)日志23備份原則:34備份與恢復(fù)策略:34.1規(guī)劃備份策略時需要考慮的因素:34.2災(zāi)難恢復(fù)策略的規(guī)劃44.3制定數(shù)據(jù)恢復(fù)策略步驟:44.4制定恢復(fù)策略時應(yīng)該考慮以下幾個要素:45備份分類:45.1按備份的數(shù)據(jù)量:45.2按備份狀態(tài)來劃分55.2.1物理備份55.2.2邏輯備份56脫機(jī)備份與恢復(fù):56.1冷備份所需備份文件56.2脫機(jī)備份步驟:66.3案例實踐:脫機(jī)備份與不完全恢復(fù)66.4脫機(jī)備份優(yōu)缺點:77聯(lián)機(jī)備份與恢復(fù)87.1案例實踐:聯(lián)機(jī)備份與完全數(shù)據(jù)庫恢復(fù)87.2聯(lián)機(jī)備份優(yōu)缺點:98備份

2、恢復(fù)實踐操作108.1基礎(chǔ)理論108.2RMAN(備份與恢復(fù)管理器)108.3基本知識108.3.1RMAN的組件、概念108.3.2RMAN的使用:命令行接口與腳本128.4RMAN的配置138.4.1建立Recovery Catalog恢復(fù)目錄138.4.2查看RMAN的默認(rèn)設(shè)置SHOW命令148.4.3配置RMAN的默認(rèn)設(shè)置148.4.4RMAN 會話的設(shè)置178.5Copy鏡像拷貝與恢復(fù)188.5.1備份188.5.2恢復(fù)198.6Backup備份與恢復(fù)208.6.1BACKUP 備份命令選項208.6.2RESTORE/RECOVER恢復(fù)命令選項238.6.3非歸檔模式下的 BACK

3、UP 備份與恢復(fù)258.6.4歸檔模式下的BACKUP備份與完全恢復(fù)278.6.5歸檔模式下的不完全恢復(fù)328.7RMAN查看信息 List與Report348.7.1恢復(fù)目錄相關(guān)視圖348.7.2RMAN 動態(tài)性能視圖348.7.3List358.7.4Report368.8操作中遇到的困難和解決方法368.9附錄-操作演示代碼示例及注釋388.9.1登陸恢復(fù)管理器388.9.2鏡像拷貝398.9.3backup操作39DBA的主要職責(zé)之一是備份數(shù)據(jù)庫和在數(shù)據(jù)庫發(fā)生故障時高效、安全地恢復(fù)數(shù)據(jù)庫。1 數(shù)據(jù)庫常見故障類型: 系統(tǒng)崩潰或服務(wù)器崩潰 用戶錯誤、沖突或者磁盤失效導(dǎo)致的文件丟失 SQL語

4、句失敗 網(wǎng)絡(luò)故障 場地災(zāi)難2 數(shù)據(jù)庫保護(hù)機(jī)制:Oracle數(shù)據(jù)庫保護(hù)機(jī)制:數(shù)據(jù)庫備份和事務(wù)日志。 2.1 數(shù)據(jù)庫備份一般來說,數(shù)據(jù)庫備份可以分為物理備份和邏輯備份。 物理備份可分為脫機(jī)備份和聯(lián)機(jī)備份。脫機(jī)備份又稱為冷備份,只能在數(shù)據(jù)庫關(guān)閉后進(jìn)行備份;聯(lián)機(jī)備份又稱為熱備份,數(shù)據(jù)庫沒有關(guān)閉,用戶還可以使用。邏輯備份是使用Export實用程序備份,當(dāng)數(shù)據(jù)庫出現(xiàn)故障,可以使用Oracle的Import實用程序恢復(fù)數(shù)據(jù)庫。2.2 事務(wù)日志數(shù)據(jù)庫的事務(wù)日志(Transaction Log)是一組操作系統(tǒng)文件,它記錄了提交事務(wù)所做的數(shù)據(jù)庫修改。 日志主要是保護(hù)數(shù)據(jù)庫,在數(shù)據(jù)庫出現(xiàn)故障時執(zhí)行恢復(fù)。 為了防止日

5、志本身的故障,Oracle允許在不同的物理磁盤上維護(hù)兩個或多個日志的副本。3 備份原則:一般來說,一個完善的備份系統(tǒng),需要滿足以下原則: 1) 穩(wěn)定性:備份軟件一定要與操作系統(tǒng)100%兼容,其次,當(dāng)事故發(fā)生時,要能快速有效地恢復(fù)數(shù)據(jù) 2) 全面性:選用的備份軟件要能支持各種操作系統(tǒng)、數(shù)據(jù)庫和典型應(yīng)用 3) 自動化:備份方案應(yīng)能提供定時的自動備份,并利用磁帶庫等技術(shù)進(jìn)行自動換帶。在自動備份過程中,還要有日志記錄功能,并在出現(xiàn)異常情況時自動報警。 4) 高性能:設(shè)計備份時要盡量考慮提高數(shù)據(jù)備份的速度,采用多個磁帶機(jī)并行操作的方法。 5) 操作簡單:數(shù)據(jù)備份應(yīng)用于不同領(lǐng)域,進(jìn)行數(shù)據(jù)備份的操作人員水平

6、參差不齊,這就需要一個直觀的、操作簡單的圖形化用戶界面 6) 實時性:有些關(guān)鍵性任務(wù)需要24小時不停機(jī)運行,進(jìn)行備份時,有些文件可能仍處于打開狀態(tài)。在這種情況下備份,必須采取措施,實時查看文件大小、進(jìn)行事務(wù)跟蹤,以保證正確地備份系統(tǒng)中的所有文件。 7) 容錯性:數(shù)據(jù)是備份在磁帶上的,要對磁帶進(jìn)行保護(hù),并確保備份磁帶中數(shù)據(jù)的可靠性,這是一個至關(guān)重要的方面。若引入(RAID)技術(shù)對磁帶進(jìn)行鏡像,就能更好地保證數(shù)據(jù)安全可靠,等于給用戶再加一把保險鎖4 備份與恢復(fù)策略:4.1 規(guī)劃備份策略時需要考慮的因素:(1)選擇合適的備份頻率(如經(jīng)常做,有規(guī)律做,做了結(jié)構(gòu)上的修改應(yīng)及時做等)盡量采用定時器、批處理

7、等由計算機(jī)自動完成的方式,以減少備份過程中的手工干預(yù),防止操作人員漏操作或誤操作。(2)根據(jù)數(shù)據(jù)的重要性可選擇一種或幾種備份交叉的形式制定備份策略。(3)當(dāng)數(shù)據(jù)庫比較小,或者當(dāng)數(shù)據(jù)庫實時性不強或者是只讀的,則備份的介質(zhì)可采用磁盤或光盤。在備份策略上可執(zhí)行每天一次數(shù)據(jù)庫增量備份,每周進(jìn)行一次完全備份。備份時間盡量選擇在晚上服務(wù)器比較空閑的時間段進(jìn)行,備份數(shù)據(jù)保存在一星期以上。(4)就一般策略來說,當(dāng)數(shù)據(jù)庫的實時性要求較強,或數(shù)據(jù)的變化較多而數(shù)據(jù)需要長期保存時,則備份介質(zhì)可采用磁盤或磁帶。在備份策略上可選擇每天2次,甚至每小時一次的數(shù)據(jù)庫熱完全備份或事務(wù)日志備份。為把災(zāi)難損失減少到最小程度,備份數(shù)

8、據(jù)應(yīng)保存一個月以上。同時每季度或每半年可以考慮再做一次光盤備份。另外每當(dāng)數(shù)據(jù)庫的結(jié)構(gòu)發(fā)生變化,或進(jìn)行批量數(shù)據(jù)處理前應(yīng)做一次數(shù)據(jù)庫的完全備份,且這個備份數(shù)據(jù)要長期保存。(5)當(dāng)實現(xiàn)數(shù)據(jù)庫文件或者文件組備份策略時,應(yīng)時常備份事務(wù)日志。當(dāng)巨大的數(shù)據(jù)庫分布在多個文件上時,必須使用這種策略。(6)備份數(shù)據(jù)的保管和記錄是防止數(shù)據(jù)丟失的另一個重要的因素。這將避免數(shù)據(jù)備份進(jìn)度的混亂,應(yīng)清楚記錄所有步驟,并為實施備份的所有人員提供此類信息,以免發(fā)生問題時束手無策。數(shù)據(jù)備份與關(guān)鍵應(yīng)用服務(wù)器最好是分散保管在不同的地方,通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)備份。定時清潔和維護(hù)磁帶機(jī)或光盤。把磁帶和光盤放在合適的地方,避免磁帶和光盤放置在

9、過熱和潮濕環(huán)境。備份的磁帶和光盤最好只許網(wǎng)絡(luò)管理員和系統(tǒng)管理員訪問他們。要完整、清晰的做好備份磁帶和光盤的標(biāo)簽。 4.2 災(zāi)難恢復(fù)策略的規(guī)劃災(zāi)難恢復(fù)就是為恢復(fù)計算機(jī)系統(tǒng)提供的保證。業(yè)界廣泛的經(jīng)驗和教訓(xùn)說明,災(zāi)難恢復(fù)的成功在于企業(yè)中經(jīng)過良好訓(xùn)練和預(yù)演的人在自己的角色上實施預(yù)先計劃的策略,即災(zāi)難恢復(fù)計劃。在系統(tǒng)備份與災(zāi)難恢復(fù)計劃建立以后,還必須在事前反復(fù)測試,并隨時調(diào)整、加以改進(jìn),完整的系統(tǒng)恢復(fù)方案才能得以建立。其中災(zāi)難恢復(fù)策略在整個恢復(fù)方案中占有非常重要的作用。4.3 制定數(shù)據(jù)恢復(fù)策略步驟: (1)評估公司對數(shù)據(jù)流和有效數(shù)據(jù)的需要。 (2)每次數(shù)據(jù)損壞事故造成的經(jīng)濟(jì)損失有多大。 (3)在多長時間

10、范圍內(nèi)必須成功進(jìn)行數(shù)據(jù)恢復(fù),以避免其影響企業(yè)收益。 (4)評估數(shù)據(jù)損失的風(fēng)險,確定跨部門的數(shù)據(jù)恢復(fù)策略優(yōu)先級別。 (5)評估數(shù)據(jù)存儲設(shè)備的所有潛在的風(fēng)險。 (6)使用上述評估結(jié)果制定質(zhì)優(yōu)價廉(cost effective)的安全機(jī)制,包括備份。 (7)數(shù)據(jù)損失的間接代價是什么。 (8)通過對所有的數(shù)據(jù)損壞進(jìn)行預(yù)算來制定預(yù)防策略和最終的數(shù)據(jù)恢復(fù)策略。4.4 制定恢復(fù)策略時應(yīng)該考慮以下幾個要素: 文檔化并歸檔系統(tǒng)配置 文檔化并歸檔災(zāi)難恢復(fù)的程序 安全措施、文檔及磁帶介質(zhì)跟蹤 判別和保護(hù)所有業(yè)務(wù)關(guān)鍵的服務(wù)器 在線數(shù)據(jù)保護(hù)更利于恢復(fù)5 備份分類:5.1 按備份的數(shù)據(jù)量: 完全備份(full backu

11、p) :備份系統(tǒng)中的所有數(shù)據(jù),特點是備份所需的時間最長,但恢復(fù)時間最短,操作最方便,也最可靠; 增量備份(incremental backup) :只備份上次備份以后有變化的數(shù)據(jù),特點是備份時間較短,占用空間較少,但恢復(fù)時間較長; 差分備份(differential backup):只備份上次完全備份以后有變化的數(shù)據(jù),特點是備份時間較長,占用空間較多,但恢復(fù)時間較快; 按需備份(Synthetic Full Backup) :根據(jù)臨時需要有選擇的進(jìn)行數(shù)據(jù)備份。5.2 按備份狀態(tài)來劃分5.2.1 物理備份物理備份是指將實際物理數(shù)據(jù)庫文件從一處拷貝到另一處的備份,冷備份、熱備份都屬于物理備份。 所

12、謂冷備份,也稱脫機(jī)(offline)備份,是指以正常方式關(guān)閉數(shù)據(jù)庫,并對數(shù)據(jù)庫的所有文件進(jìn)行備份。其缺點是需要一定的時間來完成,在恢復(fù)期間,最終用戶無法訪問數(shù)據(jù)庫,而且這種方法不易做到實時的備份。 所謂熱備份,也稱聯(lián)機(jī)(online)備份,是指在數(shù)據(jù)庫打開和用戶對數(shù)據(jù)庫進(jìn)行操作的裝填下進(jìn)行的備份;也指通過使用數(shù)據(jù)庫系統(tǒng)的復(fù)制服務(wù)器,連接正在運行的主數(shù)據(jù)庫服務(wù)器和熱備份服務(wù)器,當(dāng)主數(shù)據(jù)庫的數(shù)據(jù)修改時,變化的數(shù)據(jù)通過復(fù)制服務(wù)器可以傳遞到備份數(shù)據(jù)庫服務(wù)器中,保證兩個服務(wù)器中的數(shù)據(jù)一致。這種熱備份方式實際上是一種實時備份,兩個數(shù)據(jù)庫分別運行在不同的機(jī)器上,并且每個數(shù)據(jù)庫都寫到不同的數(shù)據(jù)設(shè)備中。5.2.

13、2 邏輯備份邏輯備份就是將某個數(shù)據(jù)庫的記錄讀出并將其寫入到一個文件中,這是經(jīng)常使用的一種備份方式。MSSQL和Oracle等都提供Export/Import工具來用于數(shù)據(jù)庫的邏輯備份。 6 脫機(jī)備份與恢復(fù):冷備份是可以進(jìn)行的最簡單的備份操作類型。冷備份是在以一致的方式,完全地將數(shù)據(jù)庫關(guān)閉時進(jìn)行的。一旦關(guān)閉數(shù)據(jù)庫,所有的數(shù)據(jù)庫文件應(yīng)該被備份到磁盤或者磁帶上面。一旦完成文件拷貝,數(shù)據(jù)庫能夠被啟動,并且用戶可以重新開始他們的工作。數(shù)據(jù)庫不需要為了進(jìn)行冷備份,而處于歸檔日志模式,但沒有歸檔日志記錄,數(shù)據(jù)庫只能夠被恢復(fù)到冷備份執(zhí)行的時間點上。冷備份是一個簡單的選擇,就其運行方式來看是受限的,但是一旦擁有

14、冷備份,那么它工作起來會更簡單,而且提供很多功能。6.1 冷備份所需備份文件當(dāng)數(shù)據(jù)庫被關(guān)閉的時候,將文件拷貝到磁盤的其他位置或者磁帶上。應(yīng)該備份的文件包括:l 所有數(shù)據(jù)庫數(shù)據(jù)文件及表空間,包括系統(tǒng)、臨時以及回滾/撤消表空間;l 控制文件,備份二進(jìn)位控制文件和文本控制文件;l 正在被使用的歸檔日志;l 警報日志;l 存在的Oracle密碼文件;l 參數(shù)文件init.ora及spfile;l 重做日志但是在任何時候還原重做日志的時候,都應(yīng)該特別小心,因為重做日志的還原會覆蓋當(dāng)前存在的重做日志,它包含完成恢復(fù)所需要的重做流中的最后信息。因為這一點,Oracle建議不要對重做日志進(jìn)行備份。6.2 脫機(jī)

15、備份步驟:(1)以DBA或特權(quán)用戶登錄,對于需要的備份文件,用戶也可通過下列SQL語句來了解數(shù)據(jù)文件、重演日志文件及控制文件的相應(yīng)位置及名稱。SELECT * FROM V$LOGFILE;SELECT * FROM V$DBFILE;SELECT * FROM V$CONTROLFILE;(2)關(guān)閉數(shù)據(jù)庫SHUTDOWN NORMAL;或者執(zhí)行SHUTDOWN IMMEDIATE;(3)復(fù)制數(shù)據(jù)文件,用拷貝命令備份全部的數(shù)據(jù)文件、重做日志文件、控制文件、初始化參數(shù)文件等。簡單的處理方法是將數(shù)據(jù)庫所在路徑下的文件全部復(fù)制備份。在下面實驗案例中所用數(shù)據(jù)庫ORCL的目錄是:d:oracleprod

16、uct10.2.0oradataorcl(4)重新啟動數(shù)據(jù)庫STARTUP;6.3 案例實踐:脫機(jī)備份與不完全恢復(fù)脫機(jī)備份數(shù)據(jù)庫相應(yīng)文件,由于誤操作,刪除了表空間對象STU表,將備份的數(shù)據(jù)文件復(fù)制到原來的位置,恢復(fù)數(shù)據(jù)庫到執(zhí)行誤操作前的狀態(tài)。以SYSDBA登錄。數(shù)據(jù)字典DBA_TABLES可以查詢表所在的表空間。實際操作步驟:(1) 創(chuàng)建表STU,并插入三條記錄;(2) 脫機(jī)備份:shutdown immediate;備份數(shù)據(jù)文件user01.dbf,控制文件,重做日志文件,或者直接將d:oracleproduct10.2.0oradataorcl目錄下的文件全部備份。(3) 備份結(jié)束重啟數(shù)據(jù)

17、庫:startup;(4) 對象stu增加一條記錄,結(jié)果如下:(5) 模擬誤操作,刪除了表STU:drop table system.stu; commit;(6) 查詢對象STU,返回錯誤信息:(7) 關(guān)閉數(shù)據(jù)庫:Shutdown immediate;(8) 復(fù)制原先備份的數(shù)據(jù)文件,控制文件,重做日志等到原來目錄下,d:oracleproduct10.2.0oradataorcl;(9) startup mount;(10) 執(zhí)行基于取消的恢復(fù),recover database until cancel;(11) 以RESETLOGS方式打開數(shù)據(jù)庫:(12) 查詢對象STU,只有脫機(jī)備份的三

18、條記錄,備份后增加的記錄沒有恢復(fù);6.4 脫機(jī)備份優(yōu)缺點: 優(yōu)點: 只需要拷貝文件,速度比較快。 將文件拷貝回去,數(shù)據(jù)庫就可以恢復(fù)到某個時間點。 若結(jié)合數(shù)據(jù)庫歸檔模式可以很好地恢復(fù)數(shù)據(jù)庫。 維護(hù)量相對較少,但安全性相對較高。缺點: 脫機(jī)備份時,數(shù)據(jù)庫必須關(guān)閉。 單獨使用脫機(jī)備份,數(shù)據(jù)庫只能基于某一時間點恢復(fù)。 若磁盤空間有限,使用磁帶等外設(shè)時速度較慢。 脫機(jī)備份不能按表或用戶恢復(fù)。7 聯(lián)機(jī)備份與恢復(fù)熱備份是當(dāng)數(shù)據(jù)庫已經(jīng)啟動并且運行的時候進(jìn)行的一種備份。整個數(shù)據(jù)庫可以被備份,表空間或者數(shù)據(jù)文件的子集可以在一次被備份,當(dāng)執(zhí)行熱備份的時候,最終用戶可以繼續(xù)進(jìn)行他們所有的正常操作。為此,數(shù)據(jù)庫必須運行

19、在歸檔日志模式。一旦備份完成,需要確認(rèn)所有在備份操作期間被建立的日志記錄在隨后已經(jīng)被歸檔。聯(lián)機(jī)備份一般備份數(shù)據(jù)文件、控制文件和日志文件。 7.1 案例實踐:聯(lián)機(jī)備份與完全數(shù)據(jù)庫恢復(fù)在表空間TEST2_DATA上建立對象COUR,首先執(zhí)行聯(lián)機(jī)備份,在COUR表上加入記錄,然后刪除數(shù)據(jù)文件TEST2_DATA,最后執(zhí)行恢復(fù),數(shù)據(jù)文件重新聯(lián)機(jī),驗證恢復(fù)成功。實際操作步驟:(1)設(shè)置數(shù)據(jù)庫為歸檔(Archivelog)模式; a.裝載但不打開數(shù)據(jù)庫:startup mount; b.修改為歸檔模式:alter database archivelog; c.打開并訪問數(shù)據(jù)庫:alter database

20、 open;(2)在歸檔模式下,建立表空間TEST2_DATA并在其上建立表COUR,并插入兩條記錄;(3)切換日志; (4)備份數(shù)據(jù)文件;a.先將表空間TEST2_DATA設(shè)置為備份模式 ;alter tablespace test2_data begin backup;b.拷貝表空間的數(shù)據(jù)文件TEST2_DATA.ORA,其他數(shù)據(jù)文件不變;c.將表空間TEST2_DATA設(shè)置為正常模式alter tablespace test2_data end backup;(5) 在COUR表上添加記錄;(6) 使表空間脫機(jī),刪除數(shù)據(jù)文件TEST2_DATA.ORA;(7) 將表空間聯(lián)機(jī),出現(xiàn)錯誤,提

21、示恢復(fù)數(shù)據(jù)文件;(8)將備份的數(shù)據(jù)文件復(fù)制到原來所在位置,執(zhí)行數(shù)據(jù)文件恢復(fù)。然后,執(zhí)行數(shù)據(jù)文件恢復(fù)命令,本例中文件號為7;(9)聯(lián)機(jī)表空間;(10)查詢對象COUR表,確認(rèn)聯(lián)機(jī)備份恢復(fù)成功,聯(lián)機(jī)備份前的數(shù)據(jù)和備份后新增加的數(shù)據(jù)都存在;7.2 聯(lián)機(jī)備份優(yōu)缺點:優(yōu)點: 可在表空間或數(shù)據(jù)文件級備份,備份時間短。 備份時數(shù)據(jù)庫仍可使用。 可達(dá)到秒級恢復(fù)(恢復(fù)到某一時間點上)。 可對幾乎所有數(shù)據(jù)庫實體作恢復(fù)。 恢復(fù)快速,大多數(shù)情況下恢復(fù)不需要關(guān)閉數(shù)據(jù)庫。缺點: 不能出錯,否則后果嚴(yán)重。 若聯(lián)機(jī)備份不成功,所得結(jié)果不可用于時間點的恢復(fù)。 因難于維護(hù),所以要特別小心,不允許“以失敗而告終”。8 備份恢復(fù)實踐

22、操作8.1 基礎(chǔ)理論恢復(fù)可以分為完全恢復(fù)和不完全恢復(fù) 完全數(shù)據(jù)庫恢復(fù)是恢復(fù)到故障發(fā)生前的狀態(tài),所有已經(jīng)提交的操作都進(jìn)行恢復(fù),確保數(shù)據(jù)庫不丟失任何數(shù)據(jù),完全恢復(fù)只用于歸檔模式。不完全數(shù)據(jù)庫恢復(fù)是將數(shù)據(jù)庫恢復(fù)到備份點與介質(zhì)失敗點之間某個時刻的狀態(tài),并不是恢復(fù)所有提交的操作,不完全恢復(fù)可能丟失部分?jǐn)?shù)據(jù)。 任何類型的恢復(fù)包括兩個階段:前滾階段和回滾(回退)階段。 在前滾恢復(fù)階段(roll-forward recovery),恢復(fù)管理器應(yīng)用必要的事務(wù)日志組“重做”(REDO)所有提交的不在數(shù)據(jù)庫數(shù)據(jù)文件中的事務(wù) 。 回滾階段,在前滾恢復(fù)后,Oracle必須執(zhí)行回滾恢復(fù)(roll-back recover

23、y)。 由于一些未完成的事務(wù)對數(shù)據(jù)庫的修改信息已經(jīng)提交到數(shù)據(jù)庫,為保證數(shù)據(jù)庫的一致性,需要清除這些事務(wù)對數(shù)據(jù)庫的修改,數(shù)據(jù)庫應(yīng)執(zhí)行回滾操作(UNDO),強制撤銷這些未完成事務(wù)。8.2 RMAN(備份與恢復(fù)管理器)注意:紅體字為注意要點,所有詳細(xì)語法代碼都有,截圖精選RMAN 是ORACLE 提供的一個備份與恢復(fù)的工具,可以用來備份和還原數(shù)據(jù)庫文件、歸檔日志和控制文件。它也可以用來執(zhí)行完全或不完全的數(shù)據(jù)庫恢復(fù)。RMAN可以由命令行接口或者OEM的Backup Manager GUI 來控制。8.3 基本知識8.3.1 RMAN的組件、概念8.3.1.1 RMAN 組件Target Databas

24、e: (目標(biāo)數(shù)據(jù)庫)就是需要 RMAN 對其進(jìn)行備份與恢復(fù)的數(shù)據(jù)庫,RMAN 可以備份數(shù)據(jù)文件,控制文件,歸檔日志,spfile。(注意:RMAN不能用于備份聯(lián)機(jī)日志、初始化參數(shù)文件和口令文件)Server Session: (服務(wù)器會話)RMAN 啟動數(shù)據(jù)庫上的Oracle 服務(wù)器進(jìn)程,將建立一個與目標(biāo)數(shù)據(jù)庫的會話。由目標(biāo)數(shù)據(jù)庫上的服務(wù)器進(jìn)程進(jìn)行備份、還原、恢復(fù)的實際操作。服務(wù)器進(jìn)程RMAN 的服務(wù)進(jìn)程是一個后臺進(jìn)程,用于與RMAN 工具與數(shù)據(jù)庫之間的通信,也用于RMAN 工具與磁盤/磁帶等 I/O 設(shè)置之間的通信,服務(wù)進(jìn)程負(fù)責(zé)備份與恢復(fù)的所有工作,將產(chǎn)生一個服務(wù)進(jìn)程。Channel: (通

25、道)一個通道是RMAN和目標(biāo)數(shù)據(jù)庫之間的一個連接,allocate channel命令在目標(biāo)數(shù)據(jù)庫啟動一個服務(wù)器進(jìn)程,同時必須定義服務(wù)器進(jìn)程執(zhí)行備份或者恢復(fù)操作使用的I/O 類型。通道控制命令可以用來:(1) 控制RMAN 使用的O/S資源,影響并行度(2) 指定I/O帶寬的限制值(設(shè)置limit read rate 參數(shù))(3) 定義備份片大小的限制(設(shè)置limit kbytes)(4) 指定當(dāng)前打開文件的限制值(設(shè)置limit maxopenfiles)recovery catalog: (恢復(fù)目錄)用來保存?zhèn)浞菖c恢復(fù)信息的一個數(shù)據(jù)庫,不建議創(chuàng)建在目標(biāo)數(shù)據(jù)庫上。RMAN 利用恢復(fù)目錄記載的

26、信息去判斷如何執(zhí)行需要的備份恢復(fù)操作。如果不采用恢復(fù)目錄,備份信息可以存在于目標(biāo)數(shù)據(jù)庫的control file中。如果存放在目標(biāo)數(shù)據(jù)庫的control file 中,控件文件會不斷增長,不能保存RMAN 的Script。CONTROL_FILE_RECORD_KEEP_TIME (default=7):控件文件中RMAN 信息保存的最短時間。使用恢復(fù)目錄的優(yōu)勢: 可以存儲腳本,記載較長時間的備份恢復(fù)操作。RMAN Repository: (RMAN 恢復(fù)目錄數(shù)據(jù)庫)存放recovery catalog(恢復(fù)目錄)的數(shù)據(jù)庫。建議為恢復(fù)目錄數(shù)據(jù)庫創(chuàng)建一個單獨的數(shù)據(jù)庫。MML: (媒體管理庫)Me

27、dia Management Layer (MML)是第三方工具或軟件,用于管理對磁帶的讀寫與文件的跟蹤管理。如果你想直接通過 RMAN 備份到磁帶上,就必須配置媒體管理層,媒體管理層的工具如備份軟件可以調(diào)用RMAN來進(jìn)行備份與恢復(fù)。8.3.1.2 概念述語Backup Sets (備份集合)備份集合的特性:包括一個或多個數(shù)據(jù)文件或歸檔日志,以oracle 專有的格式保存,有一個完全的所有的備份片集合構(gòu)成,構(gòu)成一個完全備份或增量備份。Backup Pieces (備份片)一個備份集由若干個備份片組成。每個備份片是一個單獨的輸出文件。一個備份片的大小是有限制的;如果沒有大小的限制, 備份集就只由

28、一個備份片構(gòu)成。備份片的大小不能大于使用的文件系統(tǒng)所支持的文件長度的最大值。Image Copies鏡像備份鏡像備份是獨立文件(數(shù)據(jù)文件、歸檔日志、控制文件)的備份。它很類似操作系統(tǒng)級的文件備份。它不是備份集或備份片,也沒有被壓縮。Full backup Sets全備份集合全備份是一個或多個數(shù)據(jù)文件中使用過的數(shù)據(jù)塊的的備份。沒有使用過的數(shù)據(jù)塊是不被備份的,也就是說,oracle 進(jìn)行備份集合的壓縮。Incremental backup sets增量備份集合增量備份是指備份一個或多個數(shù)據(jù)文件的自從上一次同一級別的或更低級別的備份以來被修改過的數(shù)據(jù)塊。 與完全備份相同,增量備份也進(jìn)行壓縮。File

29、 multiplexing多個數(shù)據(jù)文件可以在一個備份集中。Recovery catalog resyncing 恢復(fù)目錄同步使用恢復(fù)管理器執(zhí)行backup、copy、restore 或者switch 命令時,恢復(fù)目錄自動進(jìn)行更新,但是有關(guān)日志與歸檔日志信息沒有自動記入恢復(fù)目錄。需要進(jìn)行目錄同步。使用resync8.3.2 RMAN的使用:命令行接口與腳本數(shù)據(jù)庫狀態(tài)RMAN恢復(fù)目錄數(shù)據(jù)庫: 必須OPEN目標(biāo)數(shù)據(jù)庫: 根據(jù)不同情況,必須MOUNT或OPEN8.3.2.1 1. 使用不帶恢復(fù)目錄的RMAN設(shè)置目標(biāo)數(shù)據(jù)庫的 ORACLE_SID ,執(zhí)行:$ rman nocatalogRMAN con

30、nect targetRMAN connect target user/pwddb8.3.2.2 2. 使用帶恢復(fù)目錄的RMAN$ rman catalog rman/rmanRMAN connect target /連接本地數(shù)據(jù)庫作為目標(biāo)數(shù)據(jù)庫RMAN connect target user/pwddb /連接遠(yuǎn)程數(shù)據(jù)庫或$ rman catalog rman/rman target user/pwddb8.3.2.3 3. 命令行接口1、單個執(zhí)行RMAN backup database;2、運行一個命令塊RMAN RUN 2 copy datafile 10 to3 /oracle/pro

31、d/backup/prod_10.dbf;4 3、運行存儲在恢復(fù)目錄中的腳本:RMAN RUN EXECUTE SCRIPT backup_whole_db ;4、運行外部腳本:$ rman catalog rman/rman target / backup_db.rman$ rman cmdfile=backup.rman msglog=backup.logRMAN backup_db.rman Oracle備份與恢復(fù)總結(jié) E-Mail / MSN : db.dw.dm Oracle備份與恢復(fù)總結(jié) E-Mail / MSN : db.dw.dmRMAN RUN backup_db.rman

32、如果在cron 中執(zhí)行,注意在腳本中設(shè)置正確的環(huán)境變量,例:#set envexport ORACLE_HOME=/opt/oracle/product/9.2export ORACLE_SID=testexport NLS_LANG=AMERICAN_AMERICA.zhs16gbkexport PATH=$PATH:$ORACLE_HOME/binrman cmdfile=backup_db.rman8.3.2.4 4. 使用腳本創(chuàng)建或者取代腳本:RMAN create script alloc_disk 2 # Allocates one disk3 allocate channel d

33、ev1 type disk;4 setlimit channel dev1 kbytes 2097150 maxopenfiles 32 readrate 200;5 RMAN replace script rel_disk 2 # releases disk3 release channel dev1;5 刪除腳本:RMAN DELETE SCRIPT Level0Backup;查看腳本:RMAN PRINT SCRIPT Level0Backup;運行腳本:RMAN RUN EXECUTE SCRIPT backup_whole_db ;8.3.2.5 5. 運行OS命令RMAN支持通過執(zhí)

34、行host命令暫時退出RMAN的命令提示符而進(jìn)入到操作系統(tǒng)的命令環(huán)境。8.3.2.6 6. 執(zhí)行SQL語句在 RMAN 的命令提示符后輸入 SQL 命令,然后在一對單引號(雙引號亦可)中輸入要執(zhí)行的 SQL 語句,例如:RMAN SQL ALTER SYSTEM CHECKPOINT;對于SELECT 語句,無法得到結(jié)果。可以先執(zhí)行host 再用SQLPLUS。8.4 RMAN的配置8.4.1 建立Recovery Catalog恢復(fù)目錄 (1) 在目錄數(shù)據(jù)庫中創(chuàng)建恢復(fù)目錄所用表空間:SQL create tablespace rman_ts datafile /xxx/rman_ts.dbf

35、 size 20M;(2) 在目錄數(shù)據(jù)庫中創(chuàng)建RMAN 用戶并授權(quán):SQL create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;SQL grant connect, resource, recovery_catalog_owner to rman;(3) 在目錄數(shù)據(jù)庫中創(chuàng)建恢復(fù)目錄$ rman catalog rman/rmanRMAN create catalog tablespace rman_ts;(4) 登記

36、目標(biāo)數(shù)據(jù)庫:一個恢復(fù)目錄可以注冊多個目標(biāo)數(shù)據(jù)庫,注冊目標(biāo)數(shù)據(jù)庫的命令為:$ RMAN catalog rman/rman target user/pwd rcdb;RMAN register database;8.4.2 查看RMAN的默認(rèn)設(shè)置SHOW命令必須連接目標(biāo)數(shù)據(jù)庫RMAN show allRMAN show channel; / 通道分配RMAN show device type; / IO設(shè)備類型RMAN show retention policy; / 保存策略RMAN show datafile backup copies; / 多個備份的拷貝數(shù)目RMAN show maxse

37、tsize; / 備份集大小的最大值RMAN show exclude; / 不必備份的表空間RMAN show backup optimization; / 備份的優(yōu)化8.4.3 配置RMAN的默認(rèn)設(shè)置1. 配置備份集文件的格式 (format)RMAN configure channel device type disk format /u05/oracle/rmanback/%U;備份文件可以自定義各種各樣的格式,如下%c 備份片的拷貝數(shù)%d 數(shù)據(jù)庫名稱%D 位于該月中的第幾天 (DD)%M 位于該年中的第幾月 (MM)%F 一個基于 DBID 唯一的名稱,這個格式的形式為 c-IIII

38、IIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 為該數(shù)據(jù)庫的DBID,YYYYMMDD 為日期,QQ 是一個 1-256 的序列%n 數(shù)據(jù)庫名稱,向右填補到最大八個字符%u 一個八個字符的名稱代表備份集與創(chuàng)建時間%p 該備份集中的備份片號,從1 開始到創(chuàng)建的文件數(shù)%U 一個唯一的文件名,代表%u_%p_%c%s 備份集的號%t 備份集時間戳%T 年月日格式(YYYYMMDD)2. 配置默認(rèn)IO設(shè)備類型 ( device type )IO 設(shè)備類型可以是磁盤或者磁帶,在默認(rèn)的情況下是磁盤,可以通過如下的命令進(jìn)行重新配置。RMAN configure default device

39、type to disk;RMAN configure default device type to sbt;注意,如果換了一種IO 設(shè)備,相應(yīng)的配置也需要做修改,如RMAN configure device type sbt parallelism 2;3. 配置自動分配的通道 ( Chanel )RMAN configure channel device type disk format/U01/ORACLE/BACKUP/%U在運行塊中,手工指定通道分配,這樣的話,將取代默認(rèn)的通道分配。RMAN Run allocate channel cq type disk format=/u01/

40、backup/%u.bak;通道的一些特性:讀的速率限制 Allocate channel rate = integer最大備份片大小限制 Allocate channel maxpiecesize = integer最大并發(fā)打開文件數(shù)(默認(rèn)16) Allocate channel maxopenfile = integer4. 配置默認(rèn)的保存策略 ( Retention Policy)保存策略是管理備份與副本有效期或者是否有效的一種方法?;謴?fù)數(shù)據(jù)庫的時候Oracle 不考慮失效的備份。我們可以定義兩種保存策略:恢復(fù)窗口備份保存策略(recovery window backup retenti

41、on policy )和冗余備份保存策略(redundancy backupretention policy )備份策略保持 分為兩個保持策略:一個是時間策略,決定至少有一個備份能恢復(fù)到指定的日期一個冗余策略,規(guī)定至少有幾個冗余的備份?;謴?fù)窗口備份保存策略這種保存策略類型的使用基于數(shù)據(jù)庫可能恢復(fù)到的最早的日期。 例如,假設(shè)今天是星期一,此前存在 3 個備份。第一個備份在昨天生成的,第二個備份是上星期四生成的,而最后一個備份是 10 天前備份的。假如恢復(fù)窗口是 7 天,那么昨天和上星期四的備份是有效備份,而 10 天前的備份會成為廢棄備份。下面的命令將恢復(fù)窗口配置為7 天:RMAN config

42、ure retention policy to recovery window of 7 days;冗余備份保存策略使用這種保存策略,RMAN 會從最新備份開是保留 N 個數(shù)據(jù)備份,其余的廢棄。例如,如果有四個備份,而冗余數(shù)是 3,那么最早的那個備份將被廢棄。下面的命令將備份策略設(shè)置為 3:RMAN configure retention policy to redundancy 3;設(shè)置NONE 可以把使備份保持策略失效,Clear 將恢復(fù)默認(rèn)的保持策略RMAN configure retention policy to none;例:保證至少有一個備份能恢復(fù)到 Sysdate-5 的時間點

43、上,之前的備份將標(biāo)記為ObsoleteRMAN configure retention policy to recovery window of 5 days;至少需要有三個冗余的備份存在,如果多余三個備份以上的備份將標(biāo)記為冗余RMAN configure retention policy to redundancy 5;5. 配置多個備份的拷貝數(shù)目( backup copies )如果覺得單個備份集不放心,可以設(shè)置多個備份集的拷貝,如:RMAN configure datafile backup copies for device type disk to 2;RMAN configure

44、archivelog backup copies for device type disk to 2;如果指定了多個拷貝,可以在通道配置或者備份配置中指定多個拷貝地點:RMAN configure channel device type disk format/u01/backup/%U, /u02/backup/%U;RMAN backup datafile n format /u01/backup/%U, /u02/backup/%U;6. 設(shè)置并行備份( ARALLELISM )RMAN支持并行備份與恢復(fù),也可以在配置中指定默認(rèn)的并行程度。如:RMAN configure device

45、type disk parallelism 4;指定在以后的備份與恢復(fù)中,將采用并行度為4,同時開啟4 個通道進(jìn)行備份與恢復(fù),當(dāng)然也可以在RUN 的運行塊中手工分配多個通道來決定備份與恢復(fù)的并行程度。并行的數(shù)目決定了開啟通道的個數(shù)。如果指定了通道配置,將采用指定的通道,如果沒有指定通道,將采用默認(rèn)通道配置。還可以在BACKUP命令中使用指定FILESPERSET 或者指定(datafile 1,4,5 channelc1 tag=DF1)(datafile 2,3,6 channel c2 tag=DF2)7. 設(shè)置控制文件自動備份 (autobackup on)通過如下的命令,可以設(shè)置控制文

46、件的自動備份RMAN configure controlfile autobackup on;對于沒有恢復(fù)目錄的備份策略來說,這個特性是特別有效的,控制文件的自動備份發(fā)生在任何backup 或者copy 命令之后,或者任何數(shù)據(jù)庫的結(jié)構(gòu)改變之后??梢杂萌缦碌呐渲弥付刂莆募膫浞萋窂脚c格式RMAN configure controlfile autobackup format for type disk to %f;在備份期間,將產(chǎn)生一個控制文件的快照,用于控制文件的讀一致性,如下配置:RMAN configure snapshot controlfile name to/u01/app/ora

47、cle/product/9.0.2/dbs/snapcf_U02.f;8. 設(shè)置備份優(yōu)化選項 ( optimization )可以在配置中設(shè)置備份的優(yōu)化,如RMAN configure backup optimization on;如果優(yōu)化設(shè)置打開,將對備份的數(shù)據(jù)文件、歸檔日志或備份集運行一個優(yōu)化算法。8.4.4 RMAN 會話的設(shè)置set 命令與 configure 命令很相似,但是 set 命令設(shè)置不是永久的。set 命令定義只應(yīng)用于當(dāng)前RMAN會話的設(shè)置。可以用于RUN代碼之外的命令有:set echo on | off / 顯示或關(guān)閉 RMAN 顯示set DBID dbidn / 指

48、定一個數(shù)據(jù)庫的數(shù)據(jù)庫標(biāo)識符。下面的set 命令只能在RUN 代碼中使用:set newname:用于 TSPITR 或者數(shù)據(jù)庫復(fù)制操作,指定新的數(shù)據(jù)庫文件名,將數(shù)據(jù)庫移動到新的系統(tǒng)中并且文件名不同的時候可以用此命令。set maxcorrupt for datafile:用于定義 RMAN 操作失敗之前允許的數(shù)據(jù)塊訛誤的數(shù)量set archivelog destination:可以修改存儲歸檔的重做日志 archive_log_dest_1 的目的地。set 命令和 until 子句:可以定義數(shù)據(jù)庫時間點恢復(fù)操作所使用的具體的時間點、SCN 或者日志序列號,例:set until time t

49、o_date(2005/08/01 13:00:00,yyyy/mm/dd hh24:mi:ss);set backup copies:使用該命令可以定義為備份集的每個備份片創(chuàng)建的鏡像副本數(shù)。例:RMAN RUNset maxcorrupt for datafile 3 to 10;set backup copies = 2;backup database;8.5 Copy鏡像拷貝與恢復(fù)Copy鏡像拷貝命令可以創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)文件、歸檔重做日志或者控制文件的精確副本。RMAN 副本與這些文件的區(qū)別僅在于名稱和(或)位置的區(qū)別。功能相當(dāng)于用戶管理的備份恢復(fù)中的熱備份。備份副本的好處是恢復(fù)比較快,恢

50、復(fù)時可以不用拷貝,指定新位置即可。Copy鏡像拷貝至少要在 mount 狀態(tài)下運行。Copy鏡像拷貝可作為增量備份的 Level 0。Oracle10g開始,允許使用單條命令backup as copy進(jìn)行數(shù)據(jù)庫拷貝。8.5.1 備份生成數(shù)據(jù)文件副本:RMAN copy datafile 3 to d:backupdatafilecopyusers01.dbf.bak;RMAN copy datafile d:oracleoradataora9iusers01.dbf tod:backupdatafilecopyusers01.dbf.bak;生成控制文件副本:RMAN copy curren

51、t controlfile to ;RMAN CONFIGURE CONTROLFILE AUTOBACKUP is ON;備份ARCHIVELOG 副本:/ 只能一個一個的來備份,而不能指定一個范圍RMAN copy archivelog d:oracleoradataarcming_351.arc tod:oracleorabackuparcming_351.arc;并行設(shè)置:1. RMAN configure device type . parallelism = 3;/only 2 channel, one for writting data to disk2. 手工分配多個通道3.

52、在命令中指定多個文件RMAN copy datafile xx to xx2, datafile yy to yy2, .;塊檢查:CHECK LOGICAL 選項MAXCORRUPT 參數(shù)V$COPY_CORRUPTION在復(fù)制操作中,Oracle 服務(wù)器進(jìn)程對每個塊執(zhí)行校驗和計算以檢測是否有塊損壞。RMAN 在還原副本時也要核對校驗和。該過程稱為物理損壞檢測??梢允褂肗OCHECKSUM 選項取消校驗和操作,從而加快復(fù)制進(jìn)程。如果數(shù)據(jù)庫已在維護(hù)塊校驗和,則此選項無效。缺省情況下,禁用邏輯損壞的錯誤檢查??梢允褂?CHECK LOGICAL 選項測試通過了物理損壞檢查的數(shù)據(jù)和索引塊,查看它們

53、是否存在邏輯損壞,如行片或索引條目損壞。如果檢測到任何塊存在邏輯損壞,則將該塊記錄到服務(wù)器進(jìn)程的警報日志和跟蹤文件中??梢允褂?MAXCORRUPT 參數(shù)設(shè)置邏輯和物理損壞的閾值。只要在某個文件中檢測到的邏輯和物理損壞總和低于該值,則 RMAN 命令完成,同時 Oracle 將損壞塊的范圍植入到 V$COPY_CORRUPTION 視圖。如果超出 MAXCORRUPT,則該命令終止,并且不植入視圖。 當(dāng)并行度比較高時,占用的計算機(jī)資源較多,但備份操作完成速度較快。缺省情況下將啟用對物理損壞的錯誤檢查。有關(guān)在備份過程中遇到的損壞數(shù)據(jù)文件塊的信息將記錄在控制文件和警報日志中。8.5.2 恢復(fù)查看所

54、有的Copy鏡像拷貝:RMAN list copy;數(shù)據(jù)文件副本還原:還原時可以offline數(shù)據(jù)文件所屬表空間,然后利用OS 拷貝命令恢復(fù)副本。還可以用 restore (datafile num) from datafilecopy 命令來從數(shù)據(jù)文件副本中還原數(shù)據(jù)文件,然后再用 recover 命令來恢復(fù)。例如:RMAN sql alter database datafile 5 offline;RMAN restore (datafile 5) from datafilecopy;RMAN recover datafile 5;RMAN sql alter database datafile 5 online;注意,上面的圓括號很重要,如果沒有,restore 命令就會執(zhí)行失敗。8.6 Backup備份與恢復(fù)Backup 備份命令生成Backup sets (備份集合),以oracle專有的格式保存,由一個完全的所有的備份片集合構(gòu)成,構(gòu)成一個完全備份或增量備份。8.6.1 BACKUP 備份命令選項設(shè)置標(biāo)記(TAG)RMAN backup database tag= test backup;限制備份集大小RMAN backup database maxsetsize=100

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論