日期:2014-05-16  浏览次数:20563 次

RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转

PARALLELISM ---

我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。

默认情况下,自动分配通道的并行度为1,如果你通过设置PARALLELISM设置了并行通道
为2,那么在run块中,如果你没有单独通过ALLOCATE CHANNEL命令指定通道,它会默认
使用2条并行通道,如果你在run命令块中指定了数个ALLOCATE CHANNEL,那么rman在执
行备份命令时会以你设置的channel为准,而不管configure中配置了多少个并行通道。

需要注意的一点是,在backup命令中有一个FILESPERSET参数,该参数是指rman建立的每
个备份集中所能包含的数据文件的最大数(注意: 不是指备份片,也就是备份出来的文件),该参数默认值为64,如果在执行
backup命令时没有指定该参数值,那么rman会仅使用第一个通道来执行备份,其它通道
将处于空闲状态。关于通道数与FILESPERSET值之间也有一个大小关系,逻辑稍显复杂。

比如, datafiles 的个数为25 , FILESPERSET = 8 ,那么备份数据库的时候生成4个backupset  (25/8=3.125), 每个备份集包含8个数据文件。

-----  并行定义通道个数, 通道定义了通道属性。

allocate channel 提供备份并发度,若平均文件数<filesperset则会按照 平均文件数/备份集 进行备份,若超过则按照filesperset的数量生成备份集;例如:
1、run {
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup datafile 3,4,5,6 filesperset 3;
release channel ch1;
release channel ch2;
}
平均数是 4(文件数)/2(channel数) = 2 ,小于filesperset 3,则生成2个备份集,每个备份集包含2个数据文件

2、run {
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup datafile 3,4,5,6 filesperset 1;
release channel ch1;
release channel ch2;
}
则生成4个备份集,每个包含一个数据文件

例子1 :
RMAN> configure device type disk parallelism 4;
RMAN> configure channel 1 device type disk;
RMAN> configure channel 2 device type disk;
注意: 在上面的配置中,将开启四个通道, 通道1,2采用用户的配置,3,4采用默认配置 。


例子2 :
RMAN> configure device type disk parallelism 3;
RMAN> configure channel 1 device type disk;
RMAN> configure channel 2 device type disk;
RMAN> configure channel 3 device type disk;
RMAN> configure channel 4 device type disk;
注意: 这时,RMAN将忽略parallelism 的设置,而以用户设置的通道为准。



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



转载:


oracle如何在filesperset和channel之间作选择的?我們看看專家們怎么說

---------------------------------------------------
--biti_rainy
filesperset =files per backupset
有10个datafiles,filesperset =4
10/4=2.5
你备份数据库的时候生成3个backupset

----------------------------
--piner
filesperset是说每个备份集最多能备份几个数据文件或归档日志

一个备份集可以有多个备份片
数据文件等备份是不能跨越备份集但是能跨越备份片
所以说备份集包含某数据文件是正确的。。。

-- blog作者加入:

注意:   maxpiecesize 用于设置备份片的大小 。比如备份片最大大小为2000M, 那么一个5G 的数据文件必须跨备份片进行备份,但是一个数据文件不能跨多个备份集。   通常一个通道对应一个备份集。

CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXPIECESIZE 2000 M;


---------------------
-- husthxd
用filesperset控制备份集的尺寸
当指定filesperset参数时,rman比较filesperset与自动计算出来的值(对每个已分配通道的文件数目)
并取其中较小的那个值来保证所有的通道被使用。
如果指定或者通过组合backupSpec语句暗示的文件数目比filesperset要大,
那么rman创建多个备份集来维护正确的速率(ratio);
如果没有指定filesperset,rman比较计算出来的值(文件数目除以已分配的通道)和默认值64,
并取其中较小的那个值来保证所有通道可用。
Rman通常尝试创建足够的备份集以使所有已分配的通道有事可做。
一个例外是通道比要备份的文件还要多


blog作者理解举例:


例如:
A. filesperset设置为6,数据文件数目为30,通道数据为4,通过30/4可以得出每个
备份集可含有8个文件,取6和8中较小的值6,那么30/6=5个备份集,那么4个通道肯定都有事情可做了。

B. 如果不指定filesperset,假设数据文件数目为30,通道数据为4,通过30/4可以
得出每个备份集可含有8个文件,比较8和默认值64,我