在oracle的rman备份脚本中常会有如下的代码
RUN {
ALLOCATE CHANNEL ch00 TYPE disk MAXOPENFILES 10 MAXPIECESIZE 8G;
ALLOCATE CHANNEL ch01 TYPE disk MAXOPENFILES 10 MAXPIECESIZE 8G;
ALLOCATE CHANNEL ch02 TYPE disk MAXOPENFILES 10 MAXPIECESIZE 8G;
ALLOCATE CHANNEL ch03 TYPE disk MAXOPENFILES 10 MAXPIECESIZE 8G;
BACKUP
SKIP INACCESSIBLE
FILESPERSET 8
FORMAT 'E:/oracle/backup/hsecnodc/DB_%T_%t_%s_%p'
DATABASE;
sql 'alter system archive log current';
BACKUP
SKIP INACCESSIBLE
filesperset 20
FORMAT 'E:/oracle/backup/hsecnodc/archlog_%T_%t_%s_%p'
ARCHIVELOG ALL DELETE INPUT;
BACKUP
FORMAT 'E:/oracle/backup/hsecnodc/ctrl_%T_%t_%s_%p'
CURRENT CONTROLFILE;
# delete noprompt obsolete;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
RELEASE CHANNEL ch02;
RELEASE CHANNEL ch03;
}
exit
今天主要介绍一下标红的3个参数
MAXOPENFILES:同时可以最多打开的磁盘文件数;
Determines the maximum number of input files that a backup or copy can have open at a given time (default value is 8).
MAXPIECESIZE:定义备份片的大小,即生成的每个类似DB_%或者arch_%的文件大小都不大于该值;
MAXSETSIZE:定义备份集的大小,默认为UNLIMITED,该值最小应大于最大的数据文件的大小;
FILESPERSET:每个备份集包含的物理文件个数;假如现在数据库有21个datafile,上面设置的是分配4个通道,则最后会生成21/4=6个备份集(backup set),前5个数据集中每个包含4个物理数据文件,最后一个包含1个物理的数据文件。对于归档日志也是同样的。