暂无图片
oracle11g异构平台搭建dg
我来答
分享
张凯
4天前
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


请输入正文
提交
相关推荐
有rman恢复的时候,convert的参数怎么配置多个吧?
回答 1
跨平台转数据库?
Oracle:hp aix系统重新启动后,总是出现磁盘挂载不上,而linux的问题就少点,为什么?
回答 1
已采纳
少插件吧。linux一般插件比小机多一些
Oracle 11g 在线redo日志错误,数据库只能启动到mount状态
回答 2
 recoverdatabaseuntilcancel;alterdatabaseopenresetlogs; 执行这个命令后,所有redo会被重置,可能会导致数据库丢数据。如果这
rman恢复数据问题
回答 2
检查一下redolog位置与真实路径,如果原来redo存放位置你现在环境没有相应路径,会在resetlogs时自动clearredolog,重新生成redo时,报上面错误。SQL>selectf
Linux 主机能查询到navicat的连接记录吗?
回答 4
除非你数据库日志中有,oracle的监听log有。操作系统上能查。具体看不同的数据库了。
怎么查看linux系统是基于哪个发行版的?
回答 1
已采纳
cat/etc/systemreleaseRedHatEnterpriseLinuxrelease8.5(Ootpa)cat/etc/reredhatreleaseresolv.confcat/etc
RMAN备份时出现以下问题ORA-1220
回答 4
sortareasize参数单位是字节吧,你这哪来的1g参考如下解决方法试试https://liuyixiang.com/post/10.html
dg备库怎么生成awr报告?
回答 1
11g的备库没有AWR报告,生成的也是主库的信息,只能通过其他方法查看,例如stackspack等。19c中备库是可以配置awr的
在电脑上长ping域名的时候,是不是只有前几个包需要先请求DNS,后面会直接ping解析获得的公网IP?
回答 2
已采纳
ping某个域名相对于pingIP地址来说,多了一些步骤,主要用来获取域名对应的IP地址,整个过程如下:1、主机查找本地系统Hosts文件的DNS缓存,如果存在该域名对应的IP,则获取IP,跳转到第8
ssh新增端口,无法访问?
回答 1
已采纳
找到原因了,需要同时修改firewalld对应服务中ssh.xml配置文件