概述:
今天同事在做一个rman备份实验的时候,遇到一个并行度设置的问题,找到我,我看了下比较简单,解决得比较快。
[@more@]
解决过程:
相关平台信息:
os: su se linux11
db: 10.2.0.4
rman catalog mode
报错内容如下:
allocated channel: c1
channel c1: sid=637 devtype=DISK
allocated channel: c2
channel c2: sid=633 devtype=DISK
Starting backup at 06-APR-12
using channel ORA_DISK_1
using channel ORA_DISK_2
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 04/06/2012 10:56:31
ORA-01013: user requested cancel of current operation
continuing other job steps, job failed will not be re-run
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_2 channel at 04/06/2012 10:56:31
ORA-01013: user requested cancel of current operation
看到这个信息,我马上注意到上面带先划线的部分,怀疑是并行度混乱。
接下来我看了下rman的默认参数:
RMAN> show all;
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 8;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/rmanbkup/controlautobkup%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/product/10.2/db_1/dbs/snapcf_oratest.f'; # default
注意到上面下划线部分表明这里的通道并行度的设置数为 2;
再找来他的备份脚本看,发现其中的部分内容如下,下划线部分也设置了通道的并行度分配数目,也为2:
RMAN> RUN {
2> allocate channel c1 type disk;
3> allocate channel c2 type disk;
4>
5> BACKUP FORMAT '/oracle/rmanbkup/orcl_%U_%T' skip inaccessible filesperset 5 DATABASE TAG orcl_hot_db_bk;
6>
7> sql 'alter system archive log current';
8>
9> BACKUP FORMAT '/oracle/rmanbkup/arch_%U_%T' skip inaccessible filesperset 5 ARCHIVELOG ALL DELETE INPUT;
10>
11> backup current controlfile tag='bak_ctlfile' format='/oracle/rmanbkup/ctl_file_%U_%T';
12>
13> backup spfile tag='spfile' format='/oracle/rmanbkup/ORCL_spfile_%U_%T';
14>
15> release channel c2;
16> release channel c1;
17> }
于是,让他取消其中任意一个并行度设置,再做实验就没问题了。
总结:
问题的起因应该是脚本分配的通道和rman默认分配的通道在备份的时候产生了资源争抢,具体地说应该是在一开始input datafile的时候就有了文件争抢,都想做input datafile的操作,谁也做不了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26006637/viewspace-1057851/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26006637/viewspace-1057851/