暂无图片
oracle11g异构平台搭建dg
我来答
分享
张凯
2025-03-27
oracle11g异构平台搭建dg

我的主库是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;


请问我该如何解决这个问题?

我的操作步骤或者命令是不是有缺失的地方呢?


我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
张凯

https://www.modb.pro/issue/1144

参看这篇问答,AIX和Linux不支持异构平台搭dg。想别的法吧

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
easonhyj

别折腾了,aix的ENDIAN_FORMAT是big,linux是Little,这俩本身就不支持相互之间做DG

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
windows rman到linux set new name 要加上redo001 的日志文件路径?
回答 1
rman不会备份重做日志。你可以把重做日志重命名:11g中需要在mount状态alterdatabaserenamefile'old'to'new';12c开始支持在线重命名
LINUX主机间同步数据
回答 2
Rsyncinotify实时同步。inotify会监控源目标文件,源目标文件一旦发生改变,它会调用rsync进行同步!
oracle ADG的主备库启动和停止的顺序是什么
回答 3
已采纳
如果要规范,按这样:启动顺序:先启动备库,后启动主库关闭顺序:先关闭主库,后关闭备库
11g物理备库不应用日志
回答 5
感觉是备库和主库网络有问题,备库连接不到主库获取日志。即使手动运行了recover,后续新增的redo也接收不到。
virt-install创建kvm 指定--name参数后生成的kvm名称不对
回答 1
上传附件:virtinstall.log
AIX 7.2 现在还能安装Oracle 10G 吗?
回答 2
为啥要装10g版本,新版本11g不香吗?
Oracle 相减函数
回答 4
创建一个代理账户首先,在主要节点上创建一个代理帐户,并将其添加到sysadmin角色中,以便代理帐户可以执行作业或其他管理任务。这个代理账户应该被授权在目标服务器上执行需要同步的操作。创建同步脚本接下
LINUX 如何确定用户的pfofile文件名
回答 4
这应该是bashshell的标准不同的shell有不同的命名/使用规范,我觉得吧,对于约定俗成的一些标准,按照标准去用就好了,不要过分的追求自定义,不一定是好事
oracle rac 集群网卡心跳故障无法启动集群
回答 2
不修复心跳故障,那就启动单节点接着用
服务器系统linux好还是windows好?
回答 5
还是linux吧,一方面linux网上资料比较多,出了问题都可以查,Windows资料就比较少了,我们那边linux都能自己运维,Windows得买微软的服务。一方面很多组件在linux的适配上做的比