oracle 主 备库不实时同步,Oracle19C ADG 备库无法开启实时同步

亲爱滴伙伴们,大家好。上篇讲了一起ADG主备切换异常的故障处理,最近又遇到一个ADG的问题,做下分享。事情是这样的,一哥们急急忙忙的跑过来说:

“魏大湿,我手上的ADG实时同步死活开不起来!”

“之前实时同步是好的么?”

“是好的,都同步好久了。”

“那实时同步起不来之前你做了啥操作没?”

“就在主库新增了一些数据文件。”

“那之前在主库新增数据文件的时候是正常的,是吧!”

“是的,之前是好的,就这次新增数据文件就成这样了。”

......   ......  ......

通过沟通了解到,之前这套库做过主备切换,已经实时同步一段时间了,主库在新增数据文件之后,备库的实时同步就关闭了,并且新增数据文件在备库没有创建。手动开启实时同步也无法开启。

环境介绍:

操作系统:Redhat7.6

数据库版本:19.7

是否RAC:是

是否CDB:是

ASM或文件系统:ASM

ADG主备库节点数:均为2个

注:之前做过主备切换,racdbstd为当前主库,racdb为当前备库。

1、查看备库dbalert日志发现报ORA-01193:file 26 is not the same file seen at start of recovery。

35853128f27b7d37c6bda74782fc072f.png

2、为啥会报文件26不是恢复开始时看到的同一文件呢?继续查看主备库的数据文件差异。

主库:

757d7e1ce7d69e1b66bbfddd7563f731.png

备库:

fbf3e6144d97c4771faf888815b5f6a0.png

从上图我们可以看到主库比备库多了3个新增的数据文件。初步判断那个26号文件报错只是表象,真正原因是3个新增数据文件同步不过来导致。

3、数据文件为啥同步不过来?

新增数据文件主备库同步涉及转换,一般跟db_file_name_convert参数有关系,但疑点是就算db_file_name_convert参数设置有问题,也只是备库这边创建的新增数据文件路径不对而已,备库不会不创建数据文件。

主备库db_file_name_convert参数核查正常:

617ec4bd1f21e03f29af42968fd9b750.png

尝试再次开启实时同步发现mrp进程没有启动,dbalert日志依旧报ORA-01193:file 26 is not the same file seen at start of recovery。

开启实时同步显示成功:

3506cdeb1f5a178d55d9c2562922077a.png

查看v$managed_standby发现备库接受主库的redo信息正常,但同步进程(MRP)没有启动

c09cf59118a3e43fd5245ee389209c7f.png

备库Dbalert日志依旧报错

ea45147bb9f6601a6341365e3a7ca0f9.png

4、在确认数据库参数及其他tns等配置均正常的情况下,怀疑触发BUG。在MOS上搜了一把,12C之前有ORA-01193报错的BUG,但没有发现19C类似报错的文章,而且12C及之前的BUG现象不一致。好吧,既然新建数据文件无法自动同步过来,那我们还是使用基于scn增量备份恢复的方式把故障解决了。

bb50d174ba48b4fcc70ec40bd0acefea.png

5、查看当前备库的SCN。

0018106cd8a67da690ae22c36c0943f0.png

在主库创建standbycontrolfile,并基于备库查询的SCN在主库做增量备份。

b676567bcedc3b795efeddc853c2adff.png

d066cc3b955136d3ccb69d8e2bd28a77.png

6、将主库创建的standbycontrolfile及增量备份集传至备库,记录备库当前数据文件的路径以便重建备库控制文件后rename数据文件,并将standby_file_management设置为manual。具体的上篇介绍过了,这里就不细说了。

7、将备库实例shutdown并启动至nomount,重建控制文件后mount。并rename备库原有数据文件路径。

7c84e5601e15b7d1c681fd568a3d8758.png

587cd2913c8bded897b237ef4dcd9ec4.png

8、查看备库数据文件路径发现只有新增数据文件路径是异常的。

48c93579f5f58cea4127ed000c0c1ac5.png

9、注册备份集信息

RMAN>catalog start with '/OGG' noprompt;

b0fd83f62ada7de41e313a96be52ff08.png

10、由于新增数据文件41、42及43在备库不存在,需要先restore,如果直接recover会报错。

df43ff97b67189f23898fa0083e90952.png

2bfc43741b9974ab1c8cfb2612e461f9.png

354ba21e3311e42553cc4bf21d44484a.png

11、restore出来的数据文件并不是控制文件中的路径,在主库对应的目录,我们需要asmcmd进入ASM中把文件详细路径找出来,然后做rename。

2ba854fe7aeab9ee6373031f0e02fb24.png

12、再次查看备库控制文件中的数据文件路径,确认恢复正常后,开始recover。

37cf86d0ece143d41f1237115de3bc99.png

a2acaed8ae82ce07ff2fb6a5d639a5e1.png

13、恢复完成后,将数据库启动至open,并开启实时同步成功。注意:在recover之后,mount状态下,redofile、standbyredofile及tempfile文件路径均是不正确的,但不需要额外处理,只要将数据库启动至open,数据库会自动将其修改成正确路径。另外如果发现其他节点的standbyredo file路径错误的时候,只要在路径错误的节点开启实时同步就自动恢复正常。

错误路径截图:

c4c3805d960e5327420008ef5d77adfb.png

14、在主库新增表空间之后发现备库此时可正常同步了。

主库:

624c08d194c2ea8c6e32220e949a4c10.png

备库查询到新增test表空间已创建:

7ec11a56031665ce8488764da72683e9.png

总结:

问题很诡异,在配置均正常的情况下,新增数据文件在备库没有创建,且实时同步失败。MOS也查不到相关信息,疑似触发BUG。在没有workroud的前提下,这种ADG同步的系列故障,均可通过scn增量恢复大法解决,尽量避免备库重建费时费力的工作。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值