在Rac环境的STANDBY数据库上执行命令报错,错误号为:RMAN-04022。
完整错误信息为:
$ rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期四 12月 27 15:58:18 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到目标数据库: TESTRAC (DBID=4291216984, 未打开)
RMAN> backup tablespace sysaux;
启动 backup 于 27-12月-07使用目标数据库控制文件替代恢复目录
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (在 12/27/2007 15:58:37 上) 失败
RMAN-12001: 无法打开通道 ORA_SBT_TAPE_1
RMAN-10008: 无法创建通道上下文
RMAN-10003: 无法连接到目标数据库
RMAN-04022: 目标数据库装载 ID 11183407 与通道装载 ID 12678185 不匹配
其实导致这个错误的原因很简单,由于PRIMARY数据库是RAC环境,因此在配置CHANNEL连接的时候指定了CONNECT语句。
而在STANDBY数据库中,无法通过这些CONNECT语句连接到当前的实例,因此报错:
RMAN> show all;
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO 'c_%F';
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL 1 DEVICE TYPE 'SBT_TAPE' CONNECT '*';
CONFIGURE CHANNEL 2 DEVICE TYPE 'SBT_TAPE' CONNECT '*';
IXDBA.NET社区论坛
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/backup/%U', '/data1/%U';
CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT '*';
CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT '*';
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 '/data/oracle/product/10.2/database/dbs/snapcf_testrac_standby.f'; # default
确定问题的原因,解决问题就很容易了,可以直接使用RUN方式来执行备份:
RMAN> run
2> {
3> allocate channel c1 device type disk format '/data1/%U';
4> backup tablespace sysaux;
5> }
分配的通道: c1通道 c1: sid=313 devtype=DISK
启动 backup 于 27-12月-07通道 c1: 启动全部数据文件备份集通道 c1: 正在指定备份集中的数据文件输入数据文件 fno=00003 name=/data1/oradata/testrac/sysaux.264.618591225通道 c1: 正在启动段 1 于 27-12月-07通道 c1: 已完成段 1 于 27-12月-07段句柄=/data1/07j4loh5_1_1 标记=TAG20071227T160245 注释=NONE通道 c1: 备份集已完成, 经过时间:00:00:35完成 backup 于 27-12月-07
启动 Control File and SPFILE Autobackup 于 27-12月-07段 handle=/data/oracle/product/10.2/database/dbs/c-4291216984-20071227-00 comment=NONE