oracle数据库在做rman备份时,如果要产生多份拷贝备份集,我运行命令:
RMAN> BACKUP COPIES 3 DATABASE;
RMAN> BACKUP COPIES 3 DATABASE; 启动 backup 于 04-6月 -17 使用通道 ORA_DISK_1 通道 ORA_DISK_1: 正在启动全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集内的数据文件 输入数据文件: 文件号=00001 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL11G64B\SYSTEM01.DBF 输入数据文件: 文件号=00002 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL11G64B\SYSAUX01.DBF 输入数据文件: 文件号=00005 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL11G64B\MYSPACE.DBF 输入数据文件: 文件号=00003 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL11G64B\UNDOTBS01.DBF 输入数据文件: 文件号=00004 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL11G64B\USERS01.DBF 通道 ORA_DISK_1: 正在启动段 1 于 04-6月 -17 RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 06/04/2017 10:47:15 上) 失败 RMAN-20039: 设置双工模式时格式中需要有 %c 继续执行其他作业步骤, 将不重新运行失败的作业 通道 ORA_DISK_1: 正在启动全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集内的数据文件 备份集内包括当前控制文件 备份集内包括当前的 SPFILE 通道 ORA_DISK_1: 正在启动段 1 于 04-6月 -17 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 06/04/2017 10:47:17 上) 失败 RMAN-20039: 设置双工模式时格式中需要有 %c |
报错:RMAN-20039: 设置双工模式时格式中需要有 %c
错误提示很明显:输出格式中需要有%c
分析原因:我自定义了备份输出位置及格式,但格式中不包含%c(备份片段的复制数),
所以无法输出多个备份。
RMAN> show all; db_unique_name 为 ORCL11G64B 的数据库的 RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'E:\app\Administrator\db_bak\rmanbak\backup_%d_%T_%t_%s_%p'; CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFORCL11G64B.ORA'; # default |
重新定义输出格式即可:
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'E:\app\Administrator\db_bak\rmanbak\backup_%d_%T_%t_%s_%p_%c'; 旧的 RMAN 配置参数: CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'E:\app\Administrator\db_bak\rmanbak\backup_%d_%T_%t_%s_%p'; 新的 RMAN 配置参数: CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'E:\app\Administrator\db_bak\rmanbak\backup_%d_%T_%t_%s_%p_%c'; 已成功存储新的 RMAN 配置参数 释放的通道: ORA_DISK_1 |
再次备份产生多个副本,成功!
当然,还有另外一种方法解决:指定多个副本的不同存放位置,也可以不用去更改输出格式。
比如:写在run脚本中
RMAN> RUN{
2>SET BACKUP COPIES 2; //也可以指定两个备份位置,不用在格式中加%c
3>BACKUP DEVICE TYPE DISK FORMAT ¨D:\BACKUP1\%U¨, ¨D:\BACKUP2\%U¨
4>TABLESPACE USERS,SALES;
5>}
上述命令将生成两份备份集,分别存储到d:\backup1和d:\backup2目录。