暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORA-16047: DGID mismatch between destination setting and target database

Ty3306 2022-12-02
1734

DG环境的现在已经是一个基础常见的架构,整体架构成熟稳定,已经是公司的常规实施项目。近期,同事转来一个问题,DG搭建好后,报错ORA-16047: DGID mismatch between destination setting and target database。 这个报错看起来是DGID不匹配,通常配置log_archive_config='DG_CONFIG参数即可;本次问题排查发现,此参数设置正常,为何仍有此问题?

接下来基于DG的配置原理出发,一步步排查此问题:

1.根据报错,查看log_archive_config='DG_CONFIG参数,检查主、备节点的DB_UNIQUE_NAME;配置正常。

2.上一步排查没发现问题;此时基于DG的传输原理,是基于DG的传输参数如 log_archive_dest_2中的值来指定的;那么来分析此参数的值,本次为SERVICE=HZDBRAC LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=HZDBRAC'

3.对于 log_archive_dest_2参数,SERVICE=HZDBRAC通过tnsnames.ora指定了备机的信息(IP、端口、SERVICE_NAME),以及DB_UNIQUE_NAME。在主节点检查,格式无误。

4.检查备机配置,查看监听配置时,发现异常:RAC到单机环境,监听程序的serviceK出现三个数据库实例;

[grid@rac11g02 ~]$ lsnrctl status listener_scan1
 
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-FEB-2022 14:44:45
 
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER_SCAN1
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                23-FEB-2022 12:19:12
Uptime                    1 days 2 hr. 25 min. 32 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/11.2.0/grid/network/admin/listener.ora
Listener Log File         /u01/11.2.0/grid/log/diag/tnslsnr/rac11g02/listener_scan1/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.105)(PORT=1521)))
Services Summary...
Service "HZDB" has 3 instance(s).
  Instance "HZDB", status READY, has 1 handler(s) for this service...  ===>>>RAC到单机环境,出现三个数据库实例?
  Instance "HZDB1", status READY, has 1 handler(s) for this service...
  Instance "HZDB2", status READY, has 1 handler(s) for this service...

5.问题总结:检查监听日志,可以发现是备机,在搭建时使用RAC的参数修改时未删除remote_listener参数,导致备机的实例也注册到了RAC环境,并且排在SERVICE的第1个;这样单机在切换为主节点,向RAC(备节点)传输数据时,就会出现表面上看最终要连:log_archive_dest_2的SERVICE=HZDBRAC连的是RAC,实际又绕回连接本机。所以出现ORA-16047: DGID mismatch between destination setting and target database不匹配报错。

在单机上修改参数alter system set remote_listener='';后,重新ENABLE日志传输参数后,恢复正常。这也说明监听的VNCR特性还是有必要设置的,不然可能会被误操作攻击影响正常业务!!

原文链接:https://blog.csdn.net/haibusuanyun/article/details/123524317

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论