RMAN的配置configure
RMAN中具有一些列的默認(rèn)配置,這些配置決定了備份和恢復(fù)時(shí)的一些選項(xiàng),比如
自動(dòng)分配通道的配置;
備份保留時(shí)間的配置;
備份集大小的限制;
啟用或禁用備份優(yōu)化功能;
鏡像復(fù)制的備份數(shù)量;
是否將某個(gè)表空間排除在備份之外。
修改配置是通過(guò)CONFIGURE命令。如果想恢復(fù)某項(xiàng)設(shè)置,我們執(zhí)行如下命令configure …clear。大部分配置項(xiàng)的值都是To后面的內(nèi)容,個(gè)別的除外,例如
Configure encryption for database off
自動(dòng)分配通道的配置
Configure device type disk/stb parallelism 2;
Configure device type disk/stb clear;
Configure channel device type disk format “/oradata/backup/rmanback_%U”;
Configure channel device type disk maxpiecesize 100M;
Configure channel device type disk rate 1200K;
Configure channel 1 device type disk format “/oradata/backup/1/rmanback_%U”;
Configure channel 2 device type disk format “/oradata/backup/1/rmanback_%U”;
Configure channel 1 device type disk maxpiecesize 100M;
通道是服務(wù)進(jìn)程與IO設(shè)備之間讀寫(xiě)的途徑,一個(gè)通道將對(duì)應(yīng)一個(gè)服務(wù)進(jìn)程,在分配通道時(shí),需要考慮IO設(shè)備的類(lèi)型,IO并發(fā)處理的能力,IO設(shè)備能創(chuàng)建的文件的大小,數(shù)據(jù)庫(kù)文件最大的讀速率,最大的打開(kāi)文件數(shù)目等因素。
通過(guò)configure配置自動(dòng)分配的通道,而且可以通過(guò)數(shù)字來(lái)指定不同的通道分配情況。當(dāng)然,也可以在運(yùn)行塊中,手工指定通道分配,這樣的話,將取代默認(rèn)的通道分配。
以下是通道的一些特性值:
讀的速率限制:allocate channel … rate = integer;
最大備份片大小限制:allocate channel … maxpiecesize = integer;
最大并發(fā)打開(kāi)文件數(shù)(默認(rèn)16)allocate channel … maxopenfile = integer;
Configure device type disk parallelism 4;指定以后的備份與恢復(fù)中,將采用并行度為4,同時(shí)開(kāi)啟4個(gè)通道進(jìn)行備份與恢復(fù),當(dāng)然也可以在run的運(yùn)行塊中指定通道來(lái)決定備份與恢復(fù)的并行度。并行的數(shù)目決定了開(kāi)啟通道的個(gè)數(shù)。如果指定了通道配置,將采用指定的通道,如果沒(méi)有指定通道,將采用默認(rèn)通道配置。
備份保留時(shí)間的配置(retention policy)
用來(lái)決定哪些備份不再需要了,它一共有三種可選項(xiàng)。
RMAN有兩種保持冗余備份的策略,recovery window和redundancy。Redundancy number指定只保留number次備份的冗余信息,之前的備份信息將會(huì)標(biāo)識(shí)為obsolete。例如我們可以通過(guò)設(shè)定configure retention policy to redundancy 2;指定最近兩次的備份為有效的,而之前的備份無(wú)效,如果我們對(duì)數(shù)據(jù)庫(kù)的備份不是經(jīng)常而持續(xù)的,我們建議使用這種策略來(lái)為數(shù)據(jù)庫(kù)保持指定次數(shù)的冗余備份。
但,一般認(rèn)為更有效的備份策略是設(shè)置參數(shù)recovery window number days;該參數(shù)將為我們保留保留至少有一個(gè)備份能恢復(fù)到指定的日期。
這兩種策略是互斥的,默認(rèn)情況下,RMAN會(huì)將冗余備份策略設(shè)置為REDUNDANCY=1。我們可以通過(guò)下面命令清空當(dāng)前的備份,將備份冗余策略修改為默認(rèn)值:
Configure retention policy clear;
另外,我們可以通過(guò)如下命令使得備份策略無(wú)效:
Configure retention policy to None; 如果我們將備份策略設(shè)置為none,那么所有的備份信息都是有效的。
?
Alter system set control_file_record_keep_time = 7 scope = spfile;
?
Configure retention policy to recovery window of 3 days;
Configure retention policy to redundancy 3;
Configure retention policy clear;
?
RMAN> report obsolete;
備份集大小的限制;
Configure maxsetsize to 1G|1000M|1000000K|unlimited;
Configure maxsetsize clear;
啟用或禁用備份優(yōu)化功能;
Configure backup optimization on;
Configure backup optimization off;
Configure backup opeimization clear;
??? 默認(rèn)值為OFF。
RMAN的備份優(yōu)化(backup optimization)是指在備份過(guò)程中,如果滿足特定條件,RMAN將自動(dòng)跳過(guò)某些文件而不將它們包含在備份集中以節(jié)省時(shí)間和空間。這個(gè)特定條件包括:
1,? configure backup optimization 參數(shù)設(shè)置為on;
2,? 執(zhí)行的backup database或backup archivelog命令中帶有參數(shù)all或like;
3,? 分配的通道僅使用一種設(shè)備類(lèi)型,也就是沒(méi)有同時(shí)分配使用sbt與disk多個(gè)通道。
那么在進(jìn)行備份優(yōu)化時(shí),RMAN是如何判斷要備份的文件是否需要被優(yōu)化呢,這個(gè)算法就相當(dāng)復(fù)雜了,而且可能影響優(yōu)化算法的因素也非常多,假如某庫(kù)在上午9點(diǎn)被執(zhí)行過(guò)一次全庫(kù)備份,等下午3點(diǎn)再次執(zhí)行全庫(kù)備份時(shí),備份文件沒(méi)有變動(dòng)而且已經(jīng)被備份過(guò)時(shí),才會(huì)跳過(guò)部分文件,所以理論上備份優(yōu)化僅對(duì)于只讀表空間或offline表空間起作用。當(dāng)然對(duì)于已經(jīng)備份過(guò)的archivelog文件,它也會(huì)跳過(guò)。
生成備份副本 datafile|archivelog backup copies;
如果覺(jué)得單個(gè)備份集不放心,可以設(shè)置多個(gè)備份集的拷貝,如
Congigure datafile backup copies for device type disk to 2;
Configure archivelog backup copies for device type disk to 2;
如果指定多個(gè)copies,可以在通道配置或者備份設(shè)置中指定多個(gè)copies地點(diǎn)
Configure channel device type disk format ‘/oradata/backup/%U’,’/oradata/backup/1/%U’;
RMAN> backup datafile n format ‘/oradata/backup/%U’,’/oradata/backup/1/%U’;
是否將某個(gè)表空間排除在備份之外。
Configure exclude for tablespace users ;
Congigure exclude for tablespace users clear;
在RMAN備份中,可以通過(guò)exclude命令排除某些不需要備份的表空間。這樣可以縮減備份的容量,對(duì)備份進(jìn)行適當(dāng)優(yōu)化和調(diào)整。其設(shè)置可以通過(guò)show exclude命令來(lái)查看。
如果想臨時(shí)增加排除表空間的備份,可以通過(guò)以下命令實(shí)現(xiàn):
backup database noexclude;
如果想取消排除設(shè)置則可以使用如下命令:
Configure exclude for tablespace users clear;
此外常用的排除備份命令還有:
Backup database skip readonly, skip offline;
?
默認(rèn)設(shè)備default device type
Configure default device type to disk;
Configure default device type to sbt;
Configure default device type to clear;
?
控制文件controlfile
Configure controlfile autobackup on;
Configure controlfile autobackup format for device type disk to ‘/oradata/backup/conf/conf_%F’;
Configure controlfile autobackup clear;
Configure controlfile autobackup format for device type disk clear;
Configure snapshot controlfile name to “/oradata/backup/snapcf/controlfile.snp”;
Configure snapshot controlfile name clear;
Oracle的自動(dòng)備份設(shè)置controlfile autobackup on設(shè)置只對(duì)catalog模式的備份有效。在恢復(fù)的時(shí)候需要先到nomount狀態(tài)下恢復(fù)controlfile,然后再alter database mount恢復(fù)后面的數(shù)據(jù)文件。如果沒(méi)有合適的controlfile的備份,也可以采用原來(lái)的controlfile或重新創(chuàng)建controlfile執(zhí)行恢復(fù),當(dāng)然這時(shí)需要考慮這個(gè)controlfile和之前備份的system文件可能存在不一致性。所以強(qiáng)烈建議備份的時(shí)候一起備份controlfile。
如果RMAN是使用nocatalog執(zhí)行備份,所有的備份信息是包含在控制文件里的,沒(méi)有控制文件的話,oracle是找不到備份集的。所以備份集里包含控制文件是沒(méi)有用的。這時(shí)就需要在執(zhí)行完備份之后再單獨(dú)執(zhí)行控制文件的備份。
有兩種方法可以完成對(duì)控制文件的單獨(dú)備份操作:
Alter database backup controlfile;
Alter database backup controlfile to trace;
控制文件在備份中意義重大,建議每次對(duì)其單獨(dú)備份,如果數(shù)據(jù)庫(kù)版本允許的話,應(yīng)該設(shè)置為控制文件自動(dòng)備份。同時(shí)應(yīng)該盡可能地增大control_file_record_keep_time這個(gè)初始化參數(shù)的值。以便備份信息能更長(zhǎng)時(shí)間的保留。
應(yīng)該指定比較完善的備份計(jì)劃,否則備份計(jì)劃一旦出現(xiàn)缺口,將可能給系統(tǒng)帶來(lái)災(zāi)難。記?。骸翱赡艹鲥e(cuò)的地方一定會(huì)出錯(cuò)”。
熟悉RMAN內(nèi)部備份機(jī)制,對(duì)DBMS_BACKUP_RESTORE用法有一定掌握在關(guān)鍵時(shí)候很有幫助。
備份腳本應(yīng)該對(duì)log重定向并保存。以便在出錯(cuò)時(shí)查找有用信息。
其他選項(xiàng)Configure auxname for datafile 1 to ‘/oradata/auxfiles/aux_1.f’;
Configure auxname for datafile 2 to ‘/oradata/auxfiles/aux_2.f’;
?
Configure auxname for datafile 1 clear;
Configure auxname for datafile 2 clear;
配置顯示配置選項(xiàng)后跟了#default的表示該項(xiàng)仍是初始配置,未被修改過(guò)。
該命令也相當(dāng)靈活,其后跟上不同的類(lèi)型的配置參數(shù),即可以顯示不同類(lèi)型的配置,如:
SHOW ALL;
SHOW DEVICE TYPE;
SHOW DEFAULT DEVICE TYPE;
Rman的format格式中的%
%c 備份片的拷貝數(shù)
%d 數(shù)據(jù)庫(kù)名稱(chēng)
%D 位于該月中的第幾天 (DD)
%M 位于該年中的第幾月 (MM)
%F 一個(gè)基于DBID唯一的名稱(chēng),這個(gè)格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII為該數(shù)據(jù)庫(kù)的DBID,YYYYMMDD為
日期,QQ是一個(gè)1-256的序列
%n 數(shù)據(jù)庫(kù)名稱(chēng),向右填補(bǔ)到最大八個(gè)字符
%u 一個(gè)八個(gè)字符的名稱(chēng)代表備份集與創(chuàng)建時(shí)間
%p 該備份集中的備份片號(hào),從1開(kāi)始到創(chuàng)建的文件數(shù)
%U 一個(gè)唯一的文件名,代表%u_%p_%c
%s 備份集的號(hào)
%t 備份集時(shí)間戳
%T 年月日格式(YYYYMMDD)
?