$ rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期三 6月 13 10:15:43 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: TESTRAC (DBID=4291216984)
RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> backup copies 2 tablespace users;
5> }
使用目标数据库控制文件替代恢复目录
分配的通道: c1
通道 c1: sid=291 实例=testrac2 devtype=SBT_TAPE
通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)
启动 backup 于 13-6月 -07
通道 c1: 启动全部数据文件备份集
通道 c1: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name= DISK/testrac/datafile/users.267.618591279
通道 c1: 正在启动段 1 于 13-6月 -07
释放的通道: c1
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backup 命令 (c1 通道上, 在 06/13/2007 10:16:30 上) 失败
ORA-19506: 无法创建顺序文件, 名称 = "f6ik5p7q_1_1", 参数 = ""
ORA-27028: skgfqcre: sbtbackup 返回错误
ORA-19511: 从介质管理器层接收到错误, 错误文本为:
No policy or schedule name is explicitly specified for copy number <1>.
备份多个备份集到带库,还要受到netbackup的策略制约。
利用root在图形化界面下启动jnbSA:
# jnbSA
然后在NetBackup Management的Policies中找到当前客户端的策略,双击打开,并定位到Schedules标签页,选择目前的策略,并点击修改,选择Multiple copies,并确定。
但是发现设置这个参数后,不指定COPIES,Oracle也会备份多个备份集,如果指定COPIES仍然会报错。
无奈查询METALINK,发现Oracle在这里还需要进行额外的设置,只有使用下面的备份方法才可以成功:
RMAN> run
2> {
3> set duplex=2;
4> allocate channel c1 device type sbt;
5> allocate channel c2 device type sbt;
6> send 'NB_ORA_CLIENT=backup,CPF1_POLICY=testoracle,CPF1_SCHED=Default-Application-Backup';
7> send 'NB_ORA_CLIENT=backup,CPF2_POLICY=testoracle,CPF2_SCHED=test_multi_copy';
8> backup tablespace users;
9> }
正在执行命令: SET BACKUP COPIES
分配的通道: c1
通道 c1: sid=308 实例=testrac2 devtype=SBT_TAPE
通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)
分配的通道: c2
通道 c2: sid=285 实例=testrac2 devtype=SBT_TAPE
www.ixdba.net
通道c2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)
向通道发命令: c1
向通道发命令: c2
向通道发命令: c1
向通道发命令: c2
启动 backup 于 14-6月 -07
通道 c1: 启动全部数据文件备份集
通道 c1: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name= DISK/testrac/datafile/users.267.618591279
通道 c1: 正在启动段 1 于 14-6月 -07
通道 c1: 已完成段 1 于 14-6月 -07, 有 2 个副本和标记 TAG20070614T110417
段 handle=ggik8gdh_1_1 comment=API Version 2.0,MMS Version 5.0.0.0
段 handle=ggik8gdh_1_2 comment=API Version 2.0,MMS Version 5.0.0.0
通道 c1: 备份集已完成, 经过时间:00:04:15
完成 backup 于 14-6月 -07
释放的通道: c1
释放的通道: c2
为了使用这种方法进行备份,必须建立两个SCHEDULE,每个CHANNEL指定一个SCHEDULE。而且需要注意的是,这种方式对BACKUP COPIES 2这种语句无效,只对SET BACKUP COPIES,这种方式有效,而且SET BACKUP COPIES必须在ALLOCATE CHANNEL命令之前发出,否则会出错。
RMAN> run
2> {
3> allocate channel c1 device type sbt;