成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何使用RMAN備份數(shù)據(jù)庫

這篇文章給大家分享的是有關(guān)如何使用RMAN備份數(shù)據(jù)庫的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、新榮網(wǎng)站維護、網(wǎng)站推廣。

Oracle推薦的數(shù)據(jù)庫備份和恢復(fù)工具是RMAN(恢復(fù)管理器,Recovery Manager)。不是必須要使用RMAN,Oracle支持通過使用操作系統(tǒng)實用程序來創(chuàng)建備份和執(zhí)行恢復(fù),但RMAN有著其它產(chǎn)品無法比擬的功能,以下列舉幾條采用RMAN備份的優(yōu)點:

1、恢復(fù)過程是智能的,不需要考慮用哪些備份文件來恢復(fù),系統(tǒng)自動選擇和管理;

2、支持增量備份,只備份更改的數(shù)據(jù)塊,而不用每次都去做完整備份,可以顯著減少備份花費的時間和空間;

3、支持加密備份,保證備份數(shù)據(jù)的安全性,這對于存儲在可移動設(shè)備上的數(shù)據(jù)備份很有必要;

4、支持靈活選擇的表空間備份、數(shù)據(jù)文件備份、控制文件備份及歸檔日志文件備份等;

5、強大的管理命令和報表功能可以方便的查詢和管理備份;

6、RMAN的備份恢復(fù)操作與OS無關(guān),是跨平臺的。

一、RMAN備份的概念和術(shù)語

用操作系統(tǒng)命令執(zhí)行的備份被稱為用戶管理的備份,而使用RMAN執(zhí)行的備份則被稱為服務(wù)器管理的備份。在執(zhí)行服務(wù)器管理的備份前,總體上需要考慮以下三種備份策略:

關(guān)閉狀態(tài)還是打開狀態(tài)?

全部備份還是局部備份?

完整備份還是增量備份?

關(guān)閉狀態(tài)的備份在數(shù)據(jù)庫關(guān)閉期間執(zhí)行,也稱為冷備份、一致備份、脫機備份,打開狀態(tài)的備份在數(shù)據(jù)庫使用期間執(zhí)行,也稱為熱備份、非一致備份、聯(lián)機備份。打開狀態(tài)的備份只能在數(shù)據(jù)庫處于歸檔日志模式下執(zhí)行。如果數(shù)據(jù)庫處于非歸檔日志模式,則只能進行關(guān)閉狀態(tài)的備份。在大部分情況下,局部備份也必須在數(shù)據(jù)庫處于歸檔日志模式下才能進行。增量備份可以是累積增量備份(包括自上一次完整備份以來更改的所有塊)或差異增量備份(包括自上一次增量備份以來更改的所有塊)。

RMAN可備份的文件類型為:

數(shù)據(jù)文件

控制文件

服務(wù)器初始化參數(shù)文件spfile

歸檔重做日志文件

備份集片

RMAN不能備份的文件包括:

臨時文件

聯(lián)機重做日志文件

口令文件

靜態(tài)參數(shù)文件pfile

Oracle Net配置文件

RMAN可生成三類備份:

備份集(backup set):備份文件的專用格式,一個備份集文件可包含多個數(shù)據(jù)庫文件的備份;

壓縮備份集(compressed backup set):與備份集內(nèi)容相同,但RMAN在寫出到備份集時將應(yīng)用壓縮算法;

映像副本(image copy):是與輸入文件相同的備份文件,映像副本可與源內(nèi)容立即交換,與備份集文件相比,還原時不需要從備份集中提取文件。

RMAN備份和還原操作由被稱為通道(channel)的服務(wù)器進程執(zhí)行。通道可分為磁盤類型(可訪問磁盤上的備份)或SBT_TAPE類型(可訪問磁帶上的備份)。

RMAN存儲庫(repository)是有關(guān)備份的元數(shù)據(jù),存儲庫一般保存在目標數(shù)據(jù)庫的控制文件中,也可以保存在被稱為目錄數(shù)據(jù)庫中的一組表中。當(dāng)進行多個不同數(shù)據(jù)庫的備份時,可單獨構(gòu)建一個目錄數(shù)據(jù)庫來存儲RMAN備份的元數(shù)據(jù)。

RMAN操作由RMAN可執(zhí)行程序啟動、監(jiān)視和控制,可有三種連接數(shù)據(jù)庫的方式:

目標數(shù)據(jù)庫(target):需要備份、還原和恢復(fù)的數(shù)據(jù)庫;

目錄數(shù)據(jù)庫(catalog):用于備份多個目標數(shù)據(jù)庫;

輔助數(shù)據(jù)庫(auxiliary):通過目標數(shù)據(jù)庫的備份創(chuàng)建的數(shù)據(jù)庫。

二、服務(wù)器管理的脫機備份

服務(wù)器管理的脫機備份是在數(shù)據(jù)庫關(guān)閉后執(zhí)行的備份,也稱為冷備份、一致備份。對于非歸檔日志模式的數(shù)據(jù)庫,備份時只能采用此模式。

只有數(shù)據(jù)庫處于加載模式時才能執(zhí)行RMAN一致備份。其原因在于,RMAN需要讀取控制文件,以便查找數(shù)據(jù)文件。如果在加載模式下嘗試執(zhí)行用戶管理的操作系統(tǒng)備份,則將無效,因為在加載模式中,當(dāng)復(fù)制控制文件時可能已對控制文件執(zhí)行了寫操作,這樣一來副本就變的不一致了,因而失去了作用。RMAN通過獲取控制文件的讀一致性快照并對其進行備份,避免此問題的發(fā)生。

有三種使用RMAN的技術(shù):

交互界面:用于執(zhí)行即席任務(wù);

腳本接口:通過操作系統(tǒng)的調(diào)度程序運行作業(yè);

Enterprise Manager界面:用于生成腳本,定義由Enterprise Manager調(diào)度的作業(yè)。

典型的脫機-全部-完整備份的腳本如下

run {

shutdown immediate;

startup mount;

allocate channel d1 type disk;

backup as compressed backupset database format 'd:\rman_bak\mes\%d_%u_%c_%T';

alter database open;

}

%d:數(shù)據(jù)庫ID;

%u:產(chǎn)生唯一的文件名稱;

%c:第幾份備份;

%T:備份時間。

該腳本首先關(guān)閉數(shù)據(jù)庫實例并重啟到加載模式,之后分配一個磁盤備份的通道(disk表示是磁盤通道,另外還有一種備份通道是磁帶sbt_tape),然后啟動壓縮備份命令完成全庫備份(包括數(shù)據(jù)文件、控制文件和spfile文件的備份),并指定了備份文件的目標位置和文件名格式,備份完畢后打開數(shù)據(jù)庫。

如將其保存為腳本文件offline_full_whole.rman,則可調(diào)度如下操作系統(tǒng)命令運行該腳本

rman target sys/hznj2010@mes @offline_full_whole.rman

注意,命令格式中,腳本文件名前面要加上@符號,target表示是連接到目標數(shù)據(jù)庫。

也可以分兩步,先用RMAN連接到目標數(shù)據(jù)庫,再執(zhí)行腳本文件

C:\Users\Administrator>rman target /

RMAN> @d:\offline_full_whole.rman

在目標位置將生成了兩個備份集文件,備份集中包含了所有數(shù)據(jù)文件、控制文件和spfile文件的內(nèi)容。

三、服務(wù)器管理的聯(lián)機備份

在進行打開狀態(tài)的備份時,RMAN可能會在DBWn進程寫入塊時嘗試復(fù)制文件塊,這將導(dǎo)致斷裂塊。斷裂塊在備份中可能是無用的,因為在其更新時復(fù)制它會導(dǎo)致副本內(nèi)部不一致。RMAN會檢測出現(xiàn)的斷裂塊,并重試塊復(fù)制,直至獲得一致的版本為止。為獲取控制文件的讀一致性版本,RMAN創(chuàng)建控制文件的讀一致性快照副本,這是實際備份的內(nèi)容。

在創(chuàng)建備份集時,RMAN不會備份未使用的塊,這會節(jié)省大量的空間。

典型的聯(lián)機-全部-完整備份的腳本如下

run {

allocate channel d1 type disk;

backup as compressed backupset database format 'd:\rman_bak\mes\%d_%u_%c_%T';

backup as compressed backupset archivelog all delete all input format 'd:\rman_bak\mes\%d_%u_%c_%T';

}

該腳本命令首先分配一個磁盤寫入的通道進程,之后第一個backup命令備份整個數(shù)據(jù)庫(數(shù)據(jù)文件、控制文件及spfile文件),第二個backup命令備份所有的歸檔日志文件,并在備份后將其從磁盤中刪除,進而可以釋放磁盤空間。結(jié)果將生成三個備份集文件,備份集中包含了所有數(shù)據(jù)文件、控制文件、spfile文件和歸檔日志文件的內(nèi)容,并且備份完成后自動刪除不必再保留的歸檔日志文件。

RMAN的有些命令可以是即席的,即可以直接在RMAN命令提示符下執(zhí)行,而有些命令則只能在RUN腳本塊中執(zhí)行,如allocate channel命令需要放入腳本塊中執(zhí)行。

備份也可以只針對部分內(nèi)容進行,如一個表空間、一個單獨的文件等。

備份一個表空間

RMAN> backup as backupset format 'd:\rman_bak\mes\%d_%u_%c_%T' tablespace cmes;

備份一個數(shù)據(jù)文件,可以指定文件號或文件名

RMAN> backup as backupset format 'd:\rman_bak\mes\%d_%u_%c_%T' datafile 4;

備份一批歸檔日志文件,可以使用通配符%

RMAN> backup as backupset format 'd:\rman_bak\mes\%d_%u_%c_%T' archivelog like 'D:\oradata\mes\archivelog\ARC_752D1AF3_1_882311480_1%';

備份控制文件

RMAN> backup current controlfile format 'e:\rman_bak\mes\control_bak\c_%d_%u_%c_%T';

四、增量備份

增量備份分為差異增量備份和累積增量備份。增量備份依賴于包含所有塊的起點時稱之為增量級別(incremental level)0備份,之后差異增量級別1備份將提取自上一個級別1備份以來更改的所有塊,如果沒有介于其間的級別1備份,則提取自上一個級別0備份以來更改的所有塊。而累積增量備份則始終提取自上一個級別0備份以來更改的所有塊,不考慮其間是否存在任何級別1備份。

執(zhí)行增量級別0備份的RMAN命令如下,備份集將包含所有使用過的塊

RMAN> backup as backupset incremental level 0 database;

以下命令執(zhí)行差異增量級別1備份,該命令提取自上一個級別1備份以來更改的所有塊,如果沒有運行過級別0備份,則第一次執(zhí)行級別1的增量備份實際是執(zhí)行級別0備份

RMAN> backup as backupset incremental level 1 database;

以下命令執(zhí)行累積增量級別1備份,該命令提取自級別0備份以來更改的所有塊

RMAN> backup as backupset incremental level 1 cumulative database;

可以指定大于1的增量級別,但它們沒有效果,支持它們只是為了與老版本的RMAN兼容,因此現(xiàn)在可以不必再使用。

在很多情況下,可能希望增量備份能快一些,這可以通過啟用塊改變跟蹤(block change tracking)來實現(xiàn)。

塊改變跟蹤依賴于啟動一個額外的后臺進程:CTWR(Change Tracking Writer,改變跟蹤寫入器)。這個進程在改變跟蹤文件中記錄每個已更改的塊的地址。如果啟用了塊改變跟蹤,RMAN將在執(zhí)行增量備份時讀取改變跟蹤文件以確定哪些塊需要備份。這比掃描整個數(shù)據(jù)文件要快的多。

改變跟蹤文件默認位置可在初始化參數(shù)db_create_file_dest中指定。它的初始大小為10MB,并以10MB的增量增長。改變跟蹤文件是位圖格式,每位包含32個數(shù)據(jù)塊。啟用塊改變跟蹤會有一個最低的性能開銷,經(jīng)驗表明這并不重要。要啟用塊改變跟蹤并指定跟蹤文件的名稱和位置,可使用以下命令

alter database enable block change tracking using file 'd:\oradata\mes\change_tracking.dbf';

要監(jiān)視塊變更跟蹤的有效性,可查詢視圖v$backup_datafile

col name for a50

col read_radio for a10

select t1.file#, t2.name, t1.datafile_blocks, t1.blocks_read, to_char(round(t1.blocks_read / t1.datafile_blocks, 2) * 100) || '%' read_radio, t1.completion_time

  from v$backup_datafile t1 join v$datafile t2 on (t1.file# = t2.file#) and t1.used_change_tracking = 'YES' and t1.incremental_level > 0 order by file#, completion_time;

     FILE# NAME                                               DATAFILE_BLOCKS BLOCKS_READ READ_RADIO COMPLETION_TIME

---------- -------------------------------------------------- --------------- ----------- ---------- -------------------

         1 D:\ORADATA\MES\SYSTEM01.DBF                                  65280        1895 3%         2016-12-04 14:58:49

         1 D:\ORADATA\MES\SYSTEM01.DBF                                  65280        1135 2%         2016-12-04 20:58:03

         2 D:\ORADATA\MES\UNDOTBS01.DBF                                 10880        1983 18%        2016-12-04 14:58:49

         2 D:\ORADATA\MES\UNDOTBS01.DBF                                 10880         679 6%         2016-12-04 20:58:03

         3 D:\ORADATA\MES\SYSAUX01.DBF                                  38400        5815 15%        2016-12-04 14:58:49

         3 D:\ORADATA\MES\SYSAUX01.DBF                                  38400        3467 9%         2016-12-04 20:58:03

         4 D:\ORADATA\MES\USERS01.DBF                                     640           1 0%         2016-12-04 14:58:48

         4 D:\ORADATA\MES\USERS01.DBF                                     640         255 40%        2016-12-04 20:58:03

         5 D:\ORADATA\MES\CMES01.DBF                                    12800           1 0%         2016-12-04 14:58:48

         5 D:\ORADATA\MES\CMES01.DBF                                    12800           1 0%         2016-12-04 20:58:03

         6 D:\ORADATA\MES\RMES01.DBF                                   131072           9 0%         2016-12-04 14:58:48

         6 D:\ORADATA\MES\RMES01.DBF                                   131072          13 0%         2016-12-04 20:58:03

         7 D:\ORADATA\MES\INDX01.DBF                                   131072           1 0%         2016-12-04 14:58:48

         7 D:\ORADATA\MES\INDX01.DBF                                   131072           1 0%         2016-12-04 20:58:03

         8 D:\ORADATA\MES\HMES01.DBF                                    64000           1 0%         2016-12-04 14:58:48

         8 D:\ORADATA\MES\HMES01.DBF                                    64000           1 0%         2016-12-04 20:58:03

         9 D:\ORADATA\MES\RMES02.DBF                                   131072           1 0%         2016-12-04 14:58:48

         9 D:\ORADATA\MES\RMES02.DBF                                   131072           1 0%         2016-12-04 20:58:03

        10 D:\ORADATA\MES\INDX02.DBF                                   131072           1 0%         2016-12-04 14:58:48

        10 D:\ORADATA\MES\INDX02.DBF                                   131072           1 0%         2016-12-04 20:58:03

其中DATAFILE_BLOCKS反映的是數(shù)據(jù)文件的大小,BLOCKS_READ和READ_RADIO則顯示了每次增量備份讀取的塊數(shù)和讀塊比率,如果每次備份這個比率在持續(xù)增加,則應(yīng)考慮更頻繁的執(zhí)行增量備份。

要查看是否啟用了塊改變跟蹤,并檢查跟蹤文件的位置和大小,可查詢視圖v$block_change_tracking

col filename for a50

select * from v$block_change_tracking;

STATUS     FILENAME                                        BYTES

---------- ----------------------------------------------- ----------

ENABLED    D:\ORADATA\MES\BLOCK_CHANGE_TRACKING.DBF        11599872

確認是否啟用了CTWR服務(wù)器進程(改變跟蹤寫入器),可查詢視圖v$process

select program from v$process where program like '%CTWR%';

PROGRAM

----------------------------------------------------------------

ORACLE.EXE (CTWR)

如果要取消塊改變跟蹤,則命令為

alter database disable block change tracking;

五、其它備份方式

1、映像副本

文件的映像副本是與數(shù)據(jù)文件、控制文件或歸檔日志文件完全相同的副本。結(jié)果就好像文件是用操作系統(tǒng)程序復(fù)制的,但機制是不同的,RMAN讀寫Oracle塊,而不是操作系統(tǒng)塊。映像副本備份方式的優(yōu)點是還原非??焖?,因為不需要從備份集中提取文件。

映像副本可由數(shù)據(jù)文件、控制文件或歸檔日志文件組成,但不能由spfile文件組成。

映像副本的備份命令使用關(guān)鍵字copy,如使用以下命令備份整個數(shù)據(jù)庫,在沒有更改默認配置的情況下,將啟動一個磁盤通道,將所有數(shù)據(jù)文件和控制文件復(fù)制到閃回恢復(fù)區(qū)(同時還會自動生成一個spfile文件的備份集)

RMAN> backup as copy database;

如要將所有歸檔日志移入閃回恢復(fù)區(qū),則命令為

RMAN> backup as copy archivelog all delete all input;

利用視圖v$backup_files可以查詢備份情況

SQL> select backup_type, file_type, status, fname, tag, df_tablespace, df_file# from v$backup_files;

BACKUP_TYPE   FILE_TYPE       STATUS       FNAME                                         TAG                   DF_TABLESPACE DF_FILE#

------------- --------------- ------------ --------------------------------------------- --------------------- ------------- --------

COPY          DATAFILE        AVAILABLE    D:\RMAN_BAK\MES\MES_2OQJEQ48_1_20151011       TAG20151011T143448    RMES                 6

COPY          DATAFILE        AVAILABLE    D:\RMAN_BAK\MES\MES_2PQJEQ7I_1_20151011       TAG20151011T143448    RMES                 7

COPY          DATAFILE        AVAILABLE    D:\RMAN_BAK\MES\MES_2QQJEQBP_1_20151011       TAG20151011T143448    SYSTEM               1

COPY          DATAFILE        AVAILABLE    D:\RMAN_BAK\MES\MES_2RQJEQD7_1_20151011       TAG20151011T143448    SYSAUX               2

COPY          DATAFILE        AVAILABLE    D:\RMAN_BAK\MES\MES_2SQJEQEA_1_20151011       TAG20151011T143448    CMES                 5

COPY          DATAFILE        AVAILABLE    D:\RMAN_BAK\MES\MES_2TQJEQEI_1_20151011       TAG20151011T143448    UNDOTBS1             3

COPY          CONTROLFILE     AVAILABLE    D:\RMAN_BAK\MES\MES_2UQJEQEP_1_20151011       TAG20151011T143448                         0

COPY          DATAFILE        AVAILABLE    D:\RMAN_BAK\MES\MES_2VQJEQES_1_20151011       TAG20151011T143448    USERS                4

BACKUP SET    SPFILE                                                                                                        

BACKUP SET    PIECE           AVAILABLE    D:\RMAN_BAK\MES\MES_30QJEQEU_1_20151011       TAG20151011T143448

2、壓縮備份

RMAN支持壓縮方式的備份,使用compressed關(guān)鍵字,如下命令將完成數(shù)據(jù)庫和歸檔日志的壓縮備份

RMAN> backup as compressed backupset database plus archivelog;

3、保護備份

RMAN支持多重方式的備份,使用關(guān)鍵字copies,如下命令將在默認磁盤目標位置生成數(shù)據(jù)庫及歸檔日志的兩套備份集

RMAN>backup as backupset device type disk copies 2 database plus archivelog;

也可以對備份集進行備份,如用以下命令可以將備份集轉(zhuǎn)移備份到其它目標設(shè)備上,并將原來位置的備份刪除

RMAN>backup device type disk format 'd:\shift_bak\%d_%u_%c_%T' backupset all delete all input;

4、加密備份

在有些環(huán)境下可能希望需要加密的備份,因為這些備份可能存儲在DBA幾乎無法控制的可移動設(shè)備上。

加密有透明加密和口令加密兩種方式。

1)透明加密

這是RMAN采用的默認方式,基于錢夾(wallet)的使用。這是一個包含用于加密和解密數(shù)據(jù)的密鑰文件,其本身用口令保護。這種加密方式適合于只在本機上進行加密備份和恢復(fù),只需要配置好錢夾證書。證書文件需要妥善保管不可丟失,否則以后無法恢復(fù)。

透明加密備份的操作過程如下:

a)首先在Oracle默認的指定位置創(chuàng)建錢夾目錄

%ORACLE_BASE%\admin\<sid>\wallet

b)查看錢夾狀態(tài),默認是關(guān)閉的

SQL> select * from v$encryption_wallet;

WRL_TYPE   WRL_PARAMETER                  STATUS

---------- ------------------------------ ----------

file       C:\ORACLE\ADMIN\MES\WALLET     CLOSED

c)打開錢夾,并給證書設(shè)置口令。系統(tǒng)可能會報ORA-28374錯誤,這是Oracle的Bug,不用理會

SQL>alter system set encryption key authenticated by "pm1234";

alter system set encryption key authenticated by "pm1234"

*

第 1 行出現(xiàn)錯誤:

ORA-28374: 在 Wallet 中未找到鍵入的主鍵

d)配置RMAN加密備份開啟

RMAN> configure encryption for database on;

舊的 RMAN 配置參數(shù):

CONFIGURE ENCRYPTION FOR DATABASE OFF;

新的 RMAN 配置參數(shù):

CONFIGURE ENCRYPTION FOR DATABASE ON;

已成功存儲新的 RMAN 配置參數(shù)

e)之后可進行正常的備份操作。

f)RMAN恢復(fù)操作前需要用正確的口令打開錢夾

SQL>alter system set wallet open identified by "pm1234";

系統(tǒng)已更改。

g)之后可進行正常的恢復(fù)操作。如果錢夾未打開,則恢復(fù)過程失敗。

h)如果要取消加密備份功能,則可將RMAN的加密配置重置為默認值

RMAN> CONFIGURE ENCRYPTION FOR DATABASE clear;

舊的 RMAN 配置參數(shù):

CONFIGURE ENCRYPTION FOR DATABASE ON;

RMAN 配置參數(shù)已成功重置為默認值

2)口令加密

這是在備份前設(shè)置好算法和密鑰,之后進行正常的備份。加密備份的文件在恢復(fù)操作前需要提供正確的密鑰,否則無法恢復(fù)。

通過視圖v$rman_encryption_algorithms可以查看RMAN支持的加密算法,默認的加密算法是AES128

SQL> select * from v$rman_encryption_algorithms;

ALGORITHM_ID ALGORITHM_NAME  ALGORITHM_DESCRIPTIO IS_DEFAULT RESTORE_ONLY

------------ --------------- -------------------- ---------- ------------

           1 AES128          AES 128-bit key      YES        NO

           2 AES192          AES 192-bit key      NO         NO

           3 AES256          AES 256-bit key      NO         NO

口令加密備份的操作過程如下:

a)查看RMAN當(dāng)前加密算法,#default表示該項是RMAN的默認設(shè)置

RMAN> show encryption algorithm;

db_unique_name 為 MES 的數(shù)據(jù)庫的 RMAN 配置參數(shù)為:

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

b)若需要更改加密算法,可使用以下命令,如更改為AES256

RMAN> configure encryption algorithm 'aes256';

新的 RMAN 配置參數(shù):

CONFIGURE ENCRYPTION ALGORITHM 'aes256';

已成功存儲新的 RMAN 配置參數(shù)

c)可查看確認加密算法是否已更改

RMAN> show encryption algorithm;

db_unique_name 為 MES 的數(shù)據(jù)庫的 RMAN 配置參數(shù)為:

CONFIGURE ENCRYPTION ALGORITHM 'aes256';

d)如果要恢復(fù)為默認的加密算法,可使用關(guān)鍵字clear

RMAN> configure encryption algorithm clear;

舊的 RMAN 配置參數(shù):

CONFIGURE ENCRYPTION ALGORITHM 'aes256';

RMAN 配置參數(shù)已成功重置為默認值

e)設(shè)置密鑰并開啟加密

RMAN> set encryption on identified by 'pm1234' only;

正在執(zhí)行命令: SET encryption

f)之后可開始執(zhí)行正常的備份操作。

g)恢復(fù)操作前,需要提供密鑰,否則無法恢復(fù)

RMAN> set decryption identified by 'pm1234';

正在執(zhí)行命令: SET decryption

h)之后便可進行正常的恢復(fù)操作。

5、歸檔備份

在Oracle術(shù)語中,歸檔備份指的是希望長時間或永久保存的備份。通常,創(chuàng)建歸檔備份只是為了滿足有關(guān)記錄保留的規(guī)定。歸檔備份不理會RMAN配置的保留策略,也不會由delete obsolete命令自動刪除。

創(chuàng)建歸檔備份的語法如下:

backup … keep { forever | until time 'date_expr' } [ restore point rpname ];

其中forever表示永久保存不過期,until time則指定過期的日期,二者選一。日期表達式可以是實際的日期或計算式。如下命令將生成數(shù)據(jù)庫的完整歸檔備份,因為是歸檔備份,其中也將包括歸檔日志

RMAN>backup as compressed backupset database keep until time 'sysdate+90' restore point quarterly_bak;

六、并行化備份操作

每次使用RMAN時,都至少會對目標數(shù)據(jù)庫啟動兩個會話,被稱為默認會話和輪詢會話。默認會話是調(diào)用實現(xiàn)RMAN的內(nèi)核PL/SQL的會話,輪詢會話監(jiān)視RMAN操作的進展。當(dāng)RMAN讀寫磁盤或磁帶時,它將需要第三個會話:通道。通過啟動多個通道來實現(xiàn)備份工作的并行化,可減少備份花費的時間。

RMAN備份時可達到的并行度受通道數(shù)和輸入文件數(shù)的限制??紤]下列腳本

run {

allocate channel t1 type disk;

allocate channel t2 type disk;

allocate channel t3 type disk;

allocate channel t4 type disk;

backup database files per set 8;

}

腳本中啟動了四個命名的通道,RMAN計算數(shù)據(jù)庫中的文件數(shù),并將它們分布到備份集中,每個備份集不超過8個文件。如果數(shù)據(jù)庫由100個數(shù)據(jù)文件外加控制文件構(gòu)成,那將生成13個備份集,前12個備份集每個包含8個文件,第13個備份集包含剩下的5個文件,并行度為4,并行度受通道數(shù)限制。但如果數(shù)據(jù)庫只有20個數(shù)據(jù)文件,那將只生成3個備份集,并行度為3,有一個通道閑置,此時的并行度受輸入文件數(shù)的限制。

默認情況下,最大并行度是不會超過輸入文件數(shù)的,因為默認同一時間內(nèi),一個通道只能對應(yīng)一個文件的讀取,但采用多段備份功能后,一個文件可以分段同時被多個通道并行訪問。這一應(yīng)用主要是針對那些單個較大文件的備份進行的。

多段關(guān)鍵字的運用如下腳本

run {

allocate channel t1 type disk;

allocate channel t2 type disk;

allocate channel t3 type disk;

allocate channel t4 type disk;

backup as backupset datafile 16 section size 10g;

}

該腳本啟動4個通道,每個通道讀取數(shù)據(jù)文件16的一個10g大小的段,每個通道將生成包含段的備份的片(單獨的物理文件)。假定文件大小為200G,則將生成20個備份片文件,一次并行的生成4個。如果沒有section size關(guān)鍵字,則并行度將為1,只能用一個通道執(zhí)行整個操作,而其它三個通道將閑置。

七、配置RMAN備份的默認參數(shù)

RMAN備份的默認參數(shù)往往并不適合我們的要求,在備份工作開始前可能需要配置好默認的備份參數(shù),一旦這些參數(shù)配置好后,備份命令在未指定目標參數(shù)情況下將按設(shè)定的默認值來進行。

show命令可以查看RMAN當(dāng)前配置的默認參數(shù),以下是在未對這些參數(shù)設(shè)置過的情況下系統(tǒng)的默認取值,使用show all命令顯示了所有配置參數(shù),每一行配置語句結(jié)尾標注的#default表明該參數(shù)值是系統(tǒng)的默認取值

RMAN> show all;

使用目標數(shù)據(jù)庫控制文件替代恢復(fù)目錄

db_unique_name 為 MES 的數(shù)據(jù)庫的 RMAN 配置參數(shù)為:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFMES.ORA'; # default

要調(diào)整這些參數(shù)的默認值,可使用configure命令,如以下一些設(shè)置:

更改控制文件的備份配置,設(shè)為自動備份,并指定備份的目標路徑。這樣在數(shù)據(jù)庫結(jié)構(gòu)發(fā)生改變或做RMAN備份時會自動備份控制文件,也會備份spfile文件,這里%F格式只對自動備份生效,手動備份時指定該參數(shù)是無效的

RMAN> configurecontrolfileautobackupon;

RMAN> configurecontrolfileautobackupformatfordevicetypediskto 'd:\rman_bak\mes\control_bak\%F';

更改數(shù)據(jù)文件備份集的目標位置和命名規(guī)則

RMAN> configurechanneldevicetypediskformat 'd:\rman_bak\mes\%d_%u_%c_%T';

更改備份類型由默認的backupset改為copy,使得RMAN的任何備份都不產(chǎn)生備份集,而產(chǎn)生映像副本

RMAN> configure device type disk backup type to copy;

更改默認的備份設(shè)備類型由磁盤disk改為磁帶sbt

RMAN> configure default device type to sbt;

更改磁盤備份的并行數(shù),以下啟動2個通道

RMAN> configure device type disk parallelism 2;

啟用備份優(yōu)化功能,這允許RMAN如果認為有足夠的文件副本,就不備份特定文件。優(yōu)化與保留策略有關(guān)。默認的保留策略為1,意味著RMAN將試圖至少保存一個副本。備份優(yōu)化只適用于歸檔日志和只讀或脫機表空間的數(shù)據(jù)文件。由于聯(lián)機的可讀寫的數(shù)據(jù)文件總是在變化,RMAN將不會認為它有相同的副本

RMAN> configure backup optimization on;

更改備份的保留策略,以下將保留策略的冗余度設(shè)置為3,意味著RMAN將試圖保存3個副本

RMAN> configure retention policy to redundancy 3;

可以設(shè)置兩種保留策略,冗余級別指定應(yīng)保存的文件副本數(shù)。另一種策略是設(shè)置恢復(fù)窗口,以下的備份設(shè)置保證可以通過執(zhí)行時間點恢復(fù)回到過去90天中的任意一個時間

RMAN> configure retention policy to recovery window of 90 days;

要將配置的設(shè)置恢復(fù)為系統(tǒng)默認值,可使用clear命令。如下所示,首先用show命令查看相關(guān)配置信息,再用clear命令恢復(fù)到系統(tǒng)默認值

RMAN> show device type;

db_unique_name 為 MES 的數(shù)據(jù)庫的 RMAN 配置參數(shù)為:

CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

RMAN> configure device type disk clear;

舊的 RMAN 配置參數(shù):

CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

RMAN 配置參數(shù)已成功重置為默認值

RMAN> show device type;

db_unique_name 為 MES 的數(shù)據(jù)庫的 RMAN 配置參數(shù)為:

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

實際上,在這些配置參數(shù)中,大多數(shù)的默認設(shè)置都不需要調(diào)整,RMAN就能很好的完成我們期望的備份效果。但要特別留意的是默認備份的目標位置并未體現(xiàn)在這一配置列表中。默認情況下,RMAN磁盤備份的目標位置是閃回恢復(fù)區(qū)flash_recovery_area,Oracle安裝時它的默認選定位置是在Oracle基目錄%ORACLE_BASE%中,在Oracle安裝時建議調(diào)整到其它磁盤位置以提高系統(tǒng)性能。

可以查看初始化參數(shù)db_recovery_file_dest和db_recovery_file_dest_size來查看閃回恢復(fù)區(qū)信息,Oracle 10g中這個區(qū)域大小默認是2G,11g中則提升為4G

SQL>show parameter db_recovery_file_dest;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest                string      c:\oracle\flash_recovery_area

db_recovery_file_dest_size           big integer2G

如果閃回恢復(fù)區(qū)容量不夠,可以調(diào)整其大小

SQL> alter system set db_recovery_file_dest_size=4G;

采用閃回恢復(fù)區(qū)位置存放備份的好處是RMAN可以自動管理該區(qū)域,如果閃回恢復(fù)區(qū)已滿,RMAN將從中自動刪除過時的備份。

在完成以上的配置后,可以用以下一條命令完成數(shù)據(jù)庫的聯(lián)機備份

backup as compressed backupset incremental level 1 database plus archivelog delete all input;

八、管理和監(jiān)視RMAN備份

一旦生成了一些備份,就需要對這些備份進行管理,如報告已經(jīng)創(chuàng)建了哪些備份,這些備份包含的內(nèi)容和狀態(tài)怎樣,哪些還需要備份,哪些備份已經(jīng)無效或多余可以刪除,如何刪除之前的備份等。

1、list、validate、restore...validate、restore...preview、report、delete和crosscheck命令

list命令列出已創(chuàng)建的備份。

列出備份匯總信息

RMAN> list backup summary;

列出所有備份集

RMAN> list backupset;

以上也可以使用命令

RMAN> list backup;

查看單個備份集

RMAN> list backupset 5;

列出所有映像副本

RMAN> list copy;

列出所有數(shù)據(jù)庫文件備份集(不包含控制文件、服務(wù)器初始化參數(shù)文件和歸檔日志文件)

RMAN> list backup of database;

列出包含控制文件的備份集

RMAN> list backup of controlfile;

列出包含服務(wù)器初始化參數(shù)文件的備份集

RMAN> list backup of spfile;

列出所有歸檔日志文件備份集

RMAN> list backup of archivelog all;

列出包含日志切換系列號為1000~1050的歸檔日志的備份集

RMAN> list backup of archivelog from sequence 1000 until sequence 1050;

列出包含數(shù)據(jù)文件1的備份集

RMAN> list backup of datafile 1;

列出包含USERS表空間的備份集

RMAN> list backup of tablespace users;

列出所有歸檔日志文件列表

RMAN> list archivelog all;

要改變list輸出信息中的日期時間格式,可在啟動RMAN前設(shè)置操作系統(tǒng)的環(huán)境變量nls_date_format,如在Windows下執(zhí)行命令

C:\> set nls_date_format=yyyy-mm-dd hh34:mi:ss

validate、restore...validate、restore...preview用于驗證備份集的可用性以及驗證和查看需要的恢復(fù)內(nèi)容是否在備份集中。

驗證備份集的可用性

RMAN> validate backupset 20;

驗證表空間是否在備份集中

RMAN> restore tablespace users validate;

驗證數(shù)據(jù)文件是否在備份集中

RMAN> restore datafile 'd:\oradata\mes\system01.dbf' validate;

以上命令也可以使用文件號來表示

RMAN>restore datafile 1 validate;

查看恢復(fù)整個數(shù)據(jù)庫的備份是否存在

RMAN> restore database preview;

查看恢復(fù)某個表空間所需的備份是否存在

RMAN> restore tablespace users preview;

查看恢復(fù)某個數(shù)據(jù)文件所需的備份是否存在

RMAN> restore datafile 5 preview;

report命令按照設(shè)定的保留策略,通過詢問目標數(shù)據(jù)庫確定哪些需要備份。

列出構(gòu)成數(shù)據(jù)庫的數(shù)據(jù)文件

RMAN> report schema;

應(yīng)用保留策略,列出至少需要一個備份來滿足策略的所有數(shù)據(jù)文件

RMAN> report need backup;

列出一周未備份的所有對象,使用這一命令將忽略配置的保留策略

RMAN> report need backup days 7;

列出備份數(shù)不足2份的數(shù)據(jù)文件

RMAN> report need backup redundancy 2;

按照保留策略的冗余度,列出所有多余的不再需要而可以刪除的備份

RMAN> report obsolete;

該命令之后可以使用delete命令將多余的備份刪除

RMAN> delete obsolete;

列出以7天為恢復(fù)窗口策略的過期備份

RMAN> report obsolete recovery window of 7 days;

該命令之后可以使用delete命令將多余的備份刪除

RMAN> delete obsolete recovery window of 7 days;

列出以冗余度2為冗余策略的過期備份

RMAN> report obsolete redundancy 2;

該命令之后可以使用delete命令將多余的備份刪除

RMAN> delete obsolete redundancy 2;

delete命令也可以一次性刪除所有的備份或有選擇性的刪除備份。

刪除所有的備份

RMAN> delete backup;

刪除所有的映像副本

RMAN> delete copy;

刪除所有的數(shù)據(jù)庫文件備份(不包括控制文件、服務(wù)器初始化參數(shù)文件和歸檔日志文件)

RMAN> delete backup of database;

刪除控制文件備份

RMAN> delete backup of controlfile;

刪除初始化參數(shù)文件備份

RMAN> delete backup of spfile;

刪除所有歸檔日志文件備份

RMAN> delete backup of archivelog all;

刪除指定編號的備份集

RMAN> delete backupset 36;

刪除

網(wǎng)站題目:如何使用RMAN備份數(shù)據(jù)庫
本文網(wǎng)址:http://jinyejixie.com/article26/ppsjjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、用戶體驗、網(wǎng)站制作、全網(wǎng)營銷推廣、微信公眾號、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
武定县| 红安县| 安丘市| 昌吉市| 益阳市| 平罗县| 景宁| 民丰县| 邯郸市| 景宁| 水城县| 明星| 沁源县| 崇信县| 平罗县| 白银市| 白水县| 宜州市| 河北区| 庆云县| 克山县| 鲁山县| 金寨县| 和田市| 筠连县| 拜泉县| 富民县| 鄯善县| 宿松县| 于田县| 阿坝| 丰原市| 土默特左旗| 乐清市| 商城县| 晋江市| 阿瓦提县| 黄骅市| 唐海县| 新乡市| 临清市|