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





