我的主库是AIX操作系统上的oracle11g RAC
我的备库是Linux操作系统上的单实例
版本都是11.2.0.4
监听,tns,pfile等都检查过,配置正确的。
方法一:一开始我使用rman备份全库、归档、控制文件,传输到备库进行恢复的方式进行搭建,发现无法成功,报错RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece,多方检查发现是异构平台的字节序问题导致的。
方法二:于是使用rman的duplicate方式直接传输,我查到这种方式会自动转换字节序,然而依然报错,看起来还是字节序的问题。报错和方法一中的一样,还是RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece
注意如下报错执行过程中的这一部分,看起来是在复制主库的密码文件到备库,密码文件复制完成后的下一步就是复制主库的控制文件到备库。这里rman把主库的密码文件复制到备库后,因为字节序的原因,密码文件无法被读取,导致下一步连接不上备库,我只好在rman把密码文件复制过来的瞬间,手动复制正常字节序的密码文件把rman传过来的密码文件覆盖掉,才能让rman继续下一步。通过对这一部分的观察,我才怀疑rman在接下来复制控制文件的时候没有进行字节序转换:
“contents of Memory Script:
{backup as copy reuse
targetfile '/db/oracle/product/11.2.0/db/dbs/orapwmdmdb2' auxiliary format
'/u01/app/oracle/product/11.2.0/db_1/dbs/orapwmdmdb' ;
}
”
完整的报错如下:
[oracle@mdmdb dbs]$ rman target 'sys/"MEk5G!UzP9t>kjE"'@mdmdb2 auxiliary 'sys/"MEk5G!UzP9t>kjE"'@zyymdmdb
Recovery Manager: Release 11.2.0.4.0 - Production on Wed Mar 26 22:52:44 2025
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: MDMDB (DBID=1778802801)
connected to auxiliary database: MDMDB (not mounted)
RMAN>
RMAN>
RMAN>
RMAN> run
2> {
3> allocate channel c1 type disk;
4> allocate channel c2 type disk;
5> allocate channel c3 type disk;
6> allocate AUXILIARY channel c4 type disk;
7> allocate AUXILIARY channel c5 type disk;
8> allocate AUXILIARY channel c6 type disk;
9> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER;
10> release channel c1;
11> release channel c2;
12> release channel c3;
13> release channel c4;
14> release channel c5;
15> release channel c6;
16> }
using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=778 instance=mdmdb2 device type=DISK
allocated channel: c2
channel c2: SID=1161 instance=mdmdb2 device type=DISK
allocated channel: c3
channel c3: SID=17 instance=mdmdb2 device type=DISK
allocated channel: c4
channel c4: SID=386 device type=DISK
allocated channel: c5
channel c5: SID=1149 device type=DISK
allocated channel: c6
channel c6: SID=5 device type=DISK
Starting Duplicate Db at 2025-03-26 22:54:15
contents of Memory Script:
{
backup as copy reuse
targetfile '/db/oracle/product/11.2.0/db/dbs/orapwmdmdb2' auxiliary format
'/u01/app/oracle/product/11.2.0/db_1/dbs/orapwmdmdb' ;
}
executing Memory Script
Starting backup at 2025-03-26 22:54:43
Finished backup at 2025-03-26 22:54:44
contents of Memory Script:
{
backup as copy current controlfile for standby auxiliary format '/data/oradata/mdmdb/control01.ctl';
restore clone controlfile to '/data/fast_recovery_area/mdmdb/control02.ctl' from
'/data/oradata/mdmdb/control01.ctl';
}
executing Memory Script
Starting backup at 2025-03-26 22:54:44
channel c1: starting datafile copy
copying standby control file
output file name=/db/oracle/product/11.2.0/db/dbs/snapcf_mdmdb2.f tag=TAG20250326T225444 RECID=3 STAMP=1196808886
channel c1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2025-03-26 22:54:46
Starting restore at 2025-03-26 22:54:47
channel c4: no AUTOBACKUP in 7 days found
channel c5: no AUTOBACKUP in 7 days found
channel c6: no AUTOBACKUP in 7 days found
released channel: c1
released channel: c2
released channel: c3
released channel: c4
released channel: c5
released channel: c6
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 03/26/2025 22:54:47
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece
我在这个报错后,将主库的AUTOBACKUP打开了,依然不能解决问题,怀疑rman就是没有做字节序转换:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
请问我该如何解决这个问题?
我的操作步骤或者命令是不是有缺失的地方呢?