在itpub中看到下面的问题:
oracle 10g
备份脚本如下
run{
allocate channel d1 device type disk MAXPIECESIZE=100M;
crosscheck archivelog all;
delete noprompt expired archivelog all;
backup full tag ‘3Gfull‘ database include current controlfile format ‘/vm_svn/rmanback/fullback_%d_%T_s%s_p%p‘ plus
archivelog format ‘/vm_svn/rmanback/arch_%d_%T_%s‘ delete all input;
delete noprompt obsolete;
}
输出的log
.....
input archive log thread=1 sequence=2174 recid=1631 stamp=734587098
....
input archive log thread=1 sequence=2223 recid=1680 stamp=734671824
channel d1: starting piece 1 at 10-NOV-10
channel d1: finished piece 1 at 10-NOV-10
piece handle=/opt/oracle/rmanback/arch_ORCL_20101110_1544 tag=3GFULL comment=NONE
channel d1: starting piece 2 at 10-NOV-10
released channel: d1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 11/10/2010 03:31:26
ORA-19504: failed to create file "/opt/oracle/rmanback/arch_ORCL_20101110_1544"
ORA-27038: created file already exists
Additional information: 1
报错原因:
脚本中arch_%d_%T_%s没有一个参数指定了唯一值,所以在创建备份集时出现相同的备份集名,所以报错
加上参数 %U 就可以。
%U 代表唯一的文件名