使用RMAN备份到带库时,同时备份多个备份集,需要注意一些问题。
RMAN备份之备份多个备份集到带库(一):http://yangtingkun.itpub.net/post/468/309044
RMAN备份之备份多个备份集到带库(二):http://yangtingkun.itpub.net/post/468/309049
根据metalink上的文档,似乎备份多个备份集到带库只有手工分配一种途径,而且采用这种方式,在BACKUP的时候指定COPIES N就无法在正常工作。而解决这个问题的唯一方式就是采用自动分配CHANNEL的方式。
由手工分配得到的提示,应该先设置BACKUP COPIES的数量,然后在发送NETBACKUP所需配置参数,所以,这里先配置带库上DATAFILE和ARCHIVELOG的COPIES值:
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT TO 2;
新的 RMAN 配置参数:
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 2;
已成功存储新的 RMAN 配置参数
RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT TO 2;
新的 RMAN 配置参数:
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 2;
已成功存储新的 RMAN 配置参数
下面就可以配置自动CHANNEL了,首先设置并行度,并设置带库为默认备份设备:
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO SBT;
新的 RMAN 配置参数:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
已成功存储新的 RMAN 配置参数
RMAN> CONFIGURE DEVICE TYPE SBT PARALLELISM 2;
新的 RMAN 配置参数:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
已成功存储新的 RMAN 配置参数
考虑到CONFIGURE CHANNEL N语句也可以跟SEND语句,所以尝试在配置CHANNEL的时候就指定NETBACKUP所需的参数:
RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE SBT SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
新的 RMAN 配置参数:
CONFIGURE CHANNEL 1 DEVICE TYPE 'SBT_TAPE' SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
已成功存储新的 RMAN 配置参数
RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE SBT SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
新的 RMAN 配置参数:
CONFIGURE CHANNEL 2 DEVICE TYPE 'SBT_TAPE' SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
已成功存储新的 RMAN 配置参数
RMAN> BACKUP TABLESPACE USERS;
启动 backup 于 21-6月 -07
分配的通道: ORA_SBT_TAPE_1
通道 ORA_SBT_TAPE_1: sid=285 实例=testrac2 devtype=SBT_TAPE
通道ORA_SBT_TAPE_1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)
分配的通道: ORA_SBT_TAPE_2
通道 ORA_SBT_TAPE_2: sid=294 实例=testrac2 devtype=SBT_TAPE
通道ORA_SBT_TAPE_2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)
通道 ORA_SBT_TAPE_1: 启动全部数据文件备份集
通道 ORA_SBT_TAPE_1: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279
通道 ORA_SBT_TAPE_1: 正在启动段 1 于 21-6月 -07
MAN-03009: backup 命令 (ORA_SBT_TAPE_1 通道上, 在 06/21/2007 13:40:34 上) 失败
ORA-19506: 无法创建顺序文件, 名称 = "mkikr80e_1_2", 参数 = ""
ORA-27028: skgfqcre: sbtbackup 返回错误
ORA-19511: 从介质管理器层接收到错误, 错误文本为:
No policy or schedule name is explicitly specified for copy number <2>.
通道 ORA_SBT_TAPE_1 已禁用, 将在另一个通道上运行该通道上失败的作业
通道 ORA_SBT_TAPE_2: 启动全部数据文件备份集
通道 ORA_SBT_TAPE_2: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279
通道 ORA_SBT_TAPE_2: 正在启动段 1 于 21-6月 -07
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backup 命令 (ORA_SBT_TAPE_2 通道上, 在 06/21/2007 13:41:41 上) 失败
ORA-19506: 无法创建顺序文件, 名称 = "mlikr86j_1_2", 参数 = ""
ORA-27028: skgfqcre: sbtbackup 返回错误
ORA-19511: 从介质管理器层接收到错误, 错误文本为:
No policy or schedule name is explicitly specified for copy number <2>.
备份仍然失败,看来试图在CONFIGURE的时候发现SEND信息是走不通的,那么是否可以对自动CONFIGURE的CHANNEL通过SEND发送配置参数呢。
先清除刚才的CONFIGURE CHANNEL设置:
RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE SBT CLEAR;
旧的 RMAN 配置参数:
CONFIGURE CHANNEL 1 DEVICE TYPE 'SBT_TAPE' SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
已成功删除旧的 RMAN 配置参数
释放的通道: ORA_SBT_TAPE_1
释放的通道: ORA_SBT_TAPE_2
RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE SBT CLEAR;
旧的 RMAN 配置参数:
CONFIGURE CHANNEL 2 DEVICE TYPE 'SBT_TAPE' SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
已成功删除旧的 RMAN 配置参数
在发送配置参数前,还面临一个问题,这个时候CHANNEL还没有被分配,直接发送会失败的。而且,经过多次测试发现,只有在备份多个备份集出现错误时,发送配置信息才会生效,此后的备份多个备份集操作才能成功:
RMAN> BACKUP TABLESPACE USERS;
启动 backup 于 21-6月 -07
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_SBT_TAPE_1
通道 ORA_SBT_TAPE_1: sid=280 实例=testrac2 devtype=SBT_TAPE
通道ORA_SBT_TAPE_1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)
分配的通道: ORA_SBT_TAPE_2
通道 ORA_SBT_TAPE_2: sid=276 实例=testrac2 devtype=SBT_TAPE
通道ORA_SBT_TAPE_2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)
通道 ORA_SBT_TAPE_1: 启动全部数据文件备份集
通道 ORA_SBT_TAPE_1: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279
通道 ORA_SBT_TAPE_1: 正在启动段 1 于 21-6月 -07
MAN-03009: backup 命令 (ORA_SBT_TAPE_1 通道上, 在 06/21/2007 14:56:33 上) 失败
ORA-19506: 无法创建顺序文件, 名称 = "noikrcku_1_1", 参数 = ""
ORA-27028: skgfqcre: sbtbackup 返回错误
ORA-19511: 从介质管理器层接收到错误, 错误文本为:
No policy or schedule name is explicitly specified for copy number <1>.
通道 ORA_SBT_TAPE_1 已禁用, 将在另一个通道上运行该通道上失败的作业
通道 ORA_SBT_TAPE_2: 启动全部数据文件备份集
通道 ORA_SBT_TAPE_2: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279
通道 ORA_SBT_TAPE_2: 正在启动段 1 于 21-6月 -07
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backup 命令 (ORA_SBT_TAPE_2 通道上, 在 06/21/2007 14:56:37 上) 失败
ORA-19506: 无法创建顺序文件, 名称 = "npikrcl2_1_1", 参数 = ""
ORA-27028: skgfqcre: sbtbackup 返回错误
ORA-19511: 从介质管理器层接收到错误, 错误文本为:
No policy or schedule name is explicitly specified for copy number <1>.
RMAN> SEND 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
向通道发命令: ORA_SBT_TAPE_1
向通道发命令: ORA_SBT_TAPE_2
RMAN> BACKUP TABLESPACE USERS;
启动 backup 于 21-6月 -07
使用通道 ORA_SBT_TAPE_1
使用通道 ORA_SBT_TAPE_2
通道 ORA_SBT_TAPE_1: 启动全部数据文件备份集
通道 ORA_SBT_TAPE_1: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279
通道 ORA_SBT_TAPE_1: 正在启动段 1 于 21-6月 -07
通道 ORA_SBT_TAPE_1: 已完成段 1 于 21-6月 -07, 有 2 个副本和标记 TAG20070621T145652
段 handle=nqikrclk_1_1 comment=API Version 2.0,MMS Version 5.0.0.0
段 handle=nqikrclk_1_2 comment=API Version 2.0,MMS Version 5.0.0.0
通道 ORA_SBT_TAPE_1: 备份集已完成, 经过时间:00:06:15
完成 backup 于 21-6月 -07
由于设置了DATAFILE BACKUP COPIES,备份多个备份集到带库已经生效。而且现在BACKUP COPIES N命令也可以正确执行了:
RMAN> BACKUP COPIES 2 TABLESPACE USERS;
启动 backup 于 21-6月 -07
使用通道 ORA_SBT_TAPE_1
使用通道 ORA_SBT_TAPE_2
通道 ORA_SBT_TAPE_1: 启动全部数据文件备份集
通道 ORA_SBT_TAPE_1: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279
通道 ORA_SBT_TAPE_1: 正在启动段 1 于 21-6月 -07
通道 ORA_SBT_TAPE_1: 已完成段 1 于 21-6月 -07, 有 2 个副本和标记 TAG20070621T152310
段 handle=nrikre6u_1_1 comment=API Version 2.0,MMS Version 5.0.0.0
段 handle=nrikre6u_1_2 comment=API Version 2.0,MMS Version 5.0.0.0
通道 ORA_SBT_TAPE_1: 备份集已完成, 经过时间:00:05:45
完成 backup 于 21-6月 -07
现在BACKUP COPIES N的问题已经解决,就是不知道如何才能避免第一个备份错误的产生。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69357/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-69357/