溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

RMAN概述與參數(shù)講解

發(fā)布時間:2020-08-07 10:09:33 來源:ITPUB博客 閱讀:152 作者:波仔strong 欄目:關(guān)系型數(shù)據(jù)庫

第六章:RMAN概述


  • 6.1 rman的定義和功能:


  1. Recovery Manager


    2)建立備份和恢復(fù)的server process,在oracle server上做備份和恢復(fù)


3)rman 備份datafile(分三個層次:database、tablespace、datafile)、controlfile、spfile、archivelog


4)在歸檔模式下支持一致性備份(冷備)和非一致性備份(熱備)


5)非歸檔只支持一致性備份(mount冷備)


    *考點:

1)非歸檔方式的RMAN只能冷備,并在mount下做,但手工備份在mount下cp出來的備份對于RMAN是不可用的。


    2)非歸檔方式的RMAN恢復(fù)只能還原最后一次備份。


  • 6.2 rman的優(yōu)點:


1)不備份數(shù)據(jù)文件中從未使用的塊(備份高水位線以下的block),節(jié)省時間空間(考點)


  1. 備份時自動檢查數(shù)據(jù)文件是否有壞塊,并可以標(biāo)記壞塊,跳過壞塊,因為RMAN是ORACLE BLOCK級備份技術(shù)


  1. 對于undo表空間僅僅備份其一小部分空間(不備份commit數(shù)據(jù)) ,不備份臨時表空間

    

  1. 可以實現(xiàn)增量備份


  2. 支持多通道并行工作


6)可以備份ASM文件


  • 6.3 rman的架構(gòu):


  1. 可連接三類數(shù)據(jù)庫:

    target database(備份的目標(biāo)庫) ,

    auxiliary database(輔助庫)

    catalog database(目錄數(shù)據(jù)庫)。


  2. 存儲設(shè)備:disk 、tape (sbt 磁帶機)存放備份文件的設(shè)備


  1. channel :目標(biāo)庫和存儲設(shè)備之間備份恢復(fù)通道(服務(wù)進程)默認最少啟動一個channel,可同時啟動多個channel并發(fā)操作。


  1. server process:用于備份和恢復(fù)的進程


  1. rman的元數(shù)據(jù):記錄備份的信息(放在目標(biāo)庫的controlfile 里)


  1. catalog database :集中管理、存放備份的元數(shù)據(jù),還可以存儲備份腳本


  1. MML:media manage layer 介質(zhì)管理層:用于管理磁帶機的庫文件或驅(qū)動


6.4 rman 連接目標(biāo)庫方法


1)本地連接


RMAN工具和target database在同一臺服務(wù)器


rman target /


2)遠程連接


RMAN客戶端通過ORACLE_NET連接target database 在target database 啟動監(jiān)聽,在client配置tnsnames.ora。



6.5、查看rman的默認配置,修改rman的配置信息


1)查看rman的默認配置


RMAN概述與參數(shù)講解RMAN> show all;


2)理解以上各行RMAN環(huán)境變量


第一行:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default


有兩種保留策略:兩者只能選一,互斥。(見PPT-II-47)

一個是時間策略,指定一個時間窗口,必須能恢復(fù)此時間段內(nèi)任一個時刻的數(shù)據(jù)?,F(xiàn)在時間 — 全備份點 >= 時間窗口。

一個冗余策略,規(guī)定至少有幾個冗余的備份。


恢復(fù)窗口備份保存策略:

例如,假如我們指定恢復(fù)窗口是 7 天,假設(shè)今天是星期一,此前存在 3 個全備及歸檔日志。第一個全備是5天前生成的,第二個全備是十天前生成的,而最早一個全備是15天前備份的,

那么十天前生成的備份及之后的歸檔日志必須保留,而15天前的那個備份會成為廢棄備份(obsolete)(見PPT-48)。


下面的命令將恢復(fù)窗口配置為7 天:


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


冗余備份保存策略:

使用這種保存策略,RMAN 會從最新備份開始保留 N 個數(shù)據(jù)備份,其余的廢棄(obsolete)。


例如,如果有三個備份,而冗余數(shù)是 2,那么最早的那個備份將被廢棄。下面的命令將備份策略設(shè)置為 2:

RMAN> configure retention policy to redundancy 2;


設(shè)置NONE 可以把使備份保持策略失效,Clear 將恢復(fù)默認的保持策略


RMAN> configure retention policy to none; //RMAN此后不會將任何備份集或映像文件標(biāo)記為obsolete狀態(tài)。

RMAN> configure retention policy clear;


例:保證至少有一個備份能恢復(fù)到 Sysdate-5 的時間點上,之前的備份將標(biāo)記為Obsolete(廢棄)

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


至少需要有三個冗余的備份存在,如果多余三個備份以上的備份將標(biāo)記為冗余

RMAN> configure retention policy to redundancy 3;


第二行:CONFIGURE BACKUP OPTIMIZATION OFF; # default


設(shè)置備份優(yōu)化選項 ( optimization ) 可以在配置中設(shè)置備份的優(yōu)化,如:

RMAN> configure backup optimization on;


如果優(yōu)化設(shè)置打開, 它只用于歸檔日志,只讀或脫機表空間的數(shù)據(jù)文件,因為這些文件是不會變化的,備份集運行一個優(yōu)化算法。跳過重復(fù)的備份文件,比如你要備份歸檔日志,此參數(shù)設(shè)

on可以避免重復(fù)備份,可大大節(jié)省空間和時間。 (PPT103)


考點:備份優(yōu)化選項依賴于RETENTION POLICY策略,如果啟用優(yōu)化,在已有足夠相同文件副本的情況下(r+1),RMAN將不創(chuàng)建額外的文件副本。


第三行:CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default


設(shè)備類型有兩種,可以是磁盤(DISK),或者磁帶(STB),默認為磁盤。


第四行:CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default


設(shè)置控制文件自動備份 (autobackup on)


RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;


off: 默認情況下,在備份system 表空間時,會備份控制文件和spfile

on: 在做任何文件的備份時,會自動備份控制文件和spfile,并且數(shù)據(jù)庫的物理結(jié)構(gòu)發(fā)生變化時,也自動備份controlfile。


第五行:CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default


可以用如下的配置指定控制文件的備份路徑與格式,format 指明備份文件的路徑和文件名

RMAN備份文件格式 備份文件可以自定義各種各樣的格式,如下:


%c 備份片的拷貝數(shù)

%D 位于該月中的第幾天 (DD)

%M 位于該年中的第幾月 (MM)

%F 一個基于DBID 唯一的名稱,這個格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 為該數(shù)據(jù)庫的DBID,YYYYMMDD 為日期,QQ 是一個1-256 的序列

%d 數(shù)據(jù)庫名稱

%n 數(shù)據(jù)庫名稱,向右填補到最大八個字符

%u 一個八個字符的名稱代表備份集與創(chuàng)建時間

%p 該備份集中的備份片號,從1 開始到創(chuàng)建的文件數(shù)

%U 一個唯一的文件名,代表%u_%p_%c

%s 備份集的號

%t 備份集時間戳

%T 年月日格式(YYYYMMDD)


第六行:CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;


指定在以后的備份與恢復(fù)操作中并行度為2,即同時開啟2個通道進行備份與恢復(fù)


并行的數(shù)目決定了開啟通道的個數(shù),當(dāng)然也可以在RUN{}中指定通道來決定備份與恢復(fù)的并行程度。如果在RUN{}中指定了通道配置,將覆蓋掉配置參數(shù)中指定的默認并行度


(考點)通常一個通道對應(yīng)一個備份集。


提高RMAN性能和吞吐量,除了通道數(shù),還可以通過一些參數(shù)控制輸入數(shù)據(jù)文件數(shù),備份集數(shù),備份片數(shù)。


參數(shù)影響可有全局和局部兩個層次,基本上分為:


PARALLELISM:         保存在RMAN存儲庫。

CONFIGURE CHANNEL:    更新配置,保存在RMAN存儲庫。

ALLOCATE CHANNEL:    限于run{},不保存。

BACKUP:             限于本次backup語句,不保存。


相關(guān)參數(shù)

FILESPERSET:        每個備份集的最大輸入文件數(shù)            

在BACKUP語句中描述

MAXOPENFILES:     在給定時間內(nèi)可以打開的最大輸入文件數(shù)量     

在ALLOCATE CHANNEL或CONFIGURE CHANNEL中描述

MAXPIECESIZE:     每個通道的備份片大小          在ALLOCATE CHANNEL或CONFIGURE CHANNEL中描述

MAXSETSIZE:        限制最大備份集大小                

在BACKUP語句中描述或配合參數(shù)中描述

BACKUP DURATION:     增加或減少完成備份的時間            

在BACKUP語句中描述


1)在RUN{}里分配通道,可以指定備份的數(shù)據(jù)文件和通道對應(yīng)關(guān)系。


例1:


RMAN> RUN {

ALLOCATE CHANNEL c1 DEVICE TYPE sbt;

ALLOCATE CHANNEL c2 DEVICE TYPE sbt;

ALLOCATE CHANNEL c3 DEVICE TYPE sbt;

BACKUP

INCREMENTAL LEVEL = 0

FORMAT '/data/df_%d_%s_%p.bak'

(DATAFILE 1,4,5 CHANNEL c1)

(DATAFILE 2,3 CHANNEL c2)

(DATAFILE 6,7 CHANNEL c3);

}


2)使用FILESPERSET參數(shù)限制備份集中的輸入文件數(shù), 指定每個備份集中一次可以包含輸入文件最大數(shù),該參數(shù)默認值為64。例2中約定每個備份集中備份8個文件。

  如果數(shù)據(jù)庫有20個文件,那將只生成3個備份集,得到3個備份片,雖然開了4個通道,但并行度是3,有1個通道閑置。


例2:

RMAN> RUN{

2> ALLOCATE CHANNEL t1 DEVICE TYPE sbt;

3> ALLOCATE CHANNEL t2 DEVICE TYPE sbt;

4> ALLOCATE CHANNEL t3 DEVICE TYPE sbt;

5> ALLOCATE CHANNEL t4 DEVICE TYPE sbt;

6> BACKUP DATABASE FILESPERSET 8;

}


例2中假如取消ALLOCATE CHANNEL語句,則通道數(shù)按全局變量PARALLELISM指定,假定為1,有20個文件,F(xiàn)ILESPERSET=8該是怎樣的結(jié)果:一個通道干活,8個文件組成一個備份集,

 每備份集對一個備份片,完成一個備份集再接下一個備份集。串行的跑三趟。



3)使用MAXPIECESIZE參數(shù)限制備份片大小

例3:


RMAN> report schema;

RMAN概述與參數(shù)講解


RMAN>RUN{

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 300M;

BACKUP datafile 2 format '/u01/app/oracle/oradata/hyyk/%U.bak';

}

RMAN概述與參數(shù)講解


RMAN概述與參數(shù)講解RMAN> show all


RMAN> list backup;

RMAN概述與參數(shù)講解

限定了最大備份片為300M,如果輸出文件是500M(注意不是限制輸入文件),則會在一個備份集中生成兩個備份片。





如果將300換成600

RMAN>RUN{

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 600M;

BACKUP datafile 2 format '/u01/app/oracle/oradata/hyyk/%U.bak';

RMAN概述與參數(shù)講解}

只能產(chǎn)生一個備份片


如果將

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 300M;

換成

ALLOCATE CHANNEL c1 DEVICE TYPE DISK MAXPIECESIZE 300M;

就是全部和局部的區(qū)別




RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK clear;            //刪除此變量


4)使用maxsetsize參數(shù)限制備份集大小:

例4:

RMAN> backup database maxsetsize 500m format '/u01/app/oracle/oradata/hyyk/%U.bak';


結(jié)果如何,一個通道產(chǎn)生了多個備份集,每個備份集對一個備份片。

注意:作為基本原則,一個備份集只能占一個通道,一個輸入數(shù)據(jù)文件不能分成多個備份集,所以這里必須滿足:最大輸入文件size<500M.


5)使用SECTION SIZE子句設(shè)置多段備份(multisection backup)


通常一個數(shù)據(jù)文件只能占用一個通道,如果某個datafile太大,為提高備份效率,可以考慮采用多道關(guān)鍵字SECTION SIZE,并行化這個大文件的備份。例5中的數(shù)據(jù)文件約500M,

被分成若干file section來備份, 它啟動了三個通道,每個通道備份300M的file section,但三個通道產(chǎn)生一個備份集,包含兩個壓縮后的備份片。


例5:

RMAN> RUN{

ALLOCATE CHANNEL d1 DEVICE TYPE disk;

ALLOCATE CHANNEL d2 DEVICE TYPE disk;

ALLOCATE CHANNEL d3 DEVICE TYPE disk;

BACKUP AS COMPRESSED BACKUPSET DATAFILE 2 SECTION SIZE 300M format '/u01/app/oracle/oradata/hyyk/%U.bak';

RMAN概述與參數(shù)講解}

注意: SECTION SIZE隱含限定maxpiecesize,當(dāng)maxpiecesize全局生效時不能使用SECTION SIZE。(考點)

所以,要使用SECTION SIZE,maxpiecesize只能在allocate channel中說明。(局部參數(shù)可以覆蓋全局參數(shù))


RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK clear;


第七行:CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default


備份集也可以有多路復(fù)用(但映像文件不可以),最大值4,如為2就備份相同的2份(PPT-II-101),注意:TO STB和TO DISK是獨立的(PPT-II-102),也就是說不能同時以DISK和TAPE多路復(fù)用(考點)。那么再問一句, 如果一定要duplex磁盤和磁帶, 請使用backup backupset.單獨使用RMAN命令可以覆蓋這個參數(shù)



RMAN> backup copies 2 datafile 4 format '/u01/app/oracle/oradata/hyyk/%s_dbf','/u01/app/oracle/oradata/test/%s_dbf';

RMAN概述與參數(shù)講解RMAN> list backup;



第八行:CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default


歸檔日志的多路復(fù)用,類似數(shù)據(jù)文件多路復(fù)用


第九行:CONFIGURE MAXSETSIZE TO UNLIMITED; # default


該配置限制通道上備份集的最大尺寸,單位支持 Bytes 、KB、MB、GB,默認值是unlimited,(前面提到過)


第十行: CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

第十一行:CONFIGURE ENCRYPTION ALGORITHM ','; # default


加密,Transparent encryption 透明的加密,帶錢夾,

Password encryption:不帶錢夾,(PPT-II-107)


第十二行:CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default


RMAN里的壓縮也叫binary compression,這是11g新增的參數(shù) (PPT-II-104-106), 壓縮只能是針對backup set,有兩種算法:'BZIP2'和

'ZLIB'.不要將RMAN的壓縮和外部壓縮實用程序混合在一起做(考點)。


第十三行:CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default


對于歸檔文件,一般來說,如果你僅是單實例的話(不是Data Guard環(huán)境),全備以前的archivelog就沒有什么用處了,可以刪除,但很多人不習(xí)慣在這里設(shè)置參數(shù),更愿意使用腳本刪除歸檔文件。(見最后一章Oracle 一周備份計劃)


第十四行CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbs/snapcf_timran11g.f'; # default


rman 控制文件RMAN存儲庫與catalog做全同步的時候,需要建立一個controlfile的快照,這個參數(shù)指定快照存放位置。(PPT-II-74)


6.6 rman備份的分類:


1)backupset:不備份datafile里從未使用塊(HWM以上)、可以實現(xiàn)增量備份(可以備份到disk和tape)。如果只啟用一個channel,默認會把所有備份的datafile放入到一個backupset里,并且生成一個備份片backup piece。


2)image copy(映像文件):實際上和手工cp 類似的,備份datafile所有的數(shù)據(jù)塊, 不能作為增量備份的基礎(chǔ)(即0級增量備份),只能備份到disk ,不能備份到tape,因可以省略還原步驟,恢復(fù)數(shù)據(jù)庫速度快。


6.7 rman的命令格式:


1)交互式 (也叫stand alone方式)

RMAN> shutdown immediate;

RMAN> startup force mount;

RMAN> alter database open;

RMAN> sql 'alter system switch logfile';

RMAN> sql 'select * from scott.emp'; //對select 不顯示結(jié)果


2)批處理方式(也叫job方式)


RMAN>run {

shutdown immediate;

startup mount;

allocate channel c1 type disk;

allocate channel c2 type disk;

backup database format '/u01/app/oracle/oradata/hyyk/%d_%s.bak';

alter database open;

}


3)基于EM方式(WEB方式)

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI