当前位置:Gxlcms > mysql > ORA-16047:DGIDmismatchbetweendestinationsettingandsta

ORA-16047:DGIDmismatchbetweendestinationsettingandsta

时间:2021-07-01 10:21:17 帮助过:45人阅读

Oracle DG故障诊断案例一则:ORA-16047: DGID mismatch between destination setting and standby。前天在搭建物理standby时,前

Oracle DG故障诊断案例一则:ORA-16047: DGID mismatch between destination setting and standby。

前天在搭建物理standby时,前面步骤都没错(实际上是有错),在验证归档日志是否同步到备库时发现:

ORA-16047: DGID mismatch between destination setting and standby

我们的处理方案是:在主备同时设置log_archive_config

推荐阅读:

ORA-01172、ORA-01151错误处理

ORA-00600 [2662]错误解决

ORA-01078 和 LRM-00109 报错解决方法

ORA-00471 处理方法笔记

ORA-00314,redolog 损坏,或丢失处理方法

ORA-00257 归档日志过大导致无法存储的解决办法

1. 备库

idle> show parameter log_archive_config;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=(ORCL_PRY,ORCL_PHY)

2. 主库

sys@ORCL> show parameter log_archive_config;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=(ORCL_PRY,ORCL_PHY)

什么是log_archive_config?这里只给出自己的理解,如果想深入的朋友,可看下官方文档。

主要是针对redo log 传送和接收的,在最大可用及最大保护模式下设置才会有影响,不设置在switchover切换时会报ORA-16047。

通过dg_config罗列DG环境所有db_unique_name:

主库:

*.log_archive_config='dg_config=(master,stdby)'

备库:

*.log_archive_config='dg_config=(stdby,master)'

设置时注意,我有一个原则:自己在前,别人在后。不过,这个参数是顺序无关的 :-)

最后,,也是很重要的一点,在故障诊断过程中,我学到一项很有用的技巧:利用tcpdump观察网络流

例如在备库上执行:

tcpdump -i eth1 port 1521

这个很有用,记录下。

另外,配套的一个是tail -f 观察告警日志的刷出。

Good Luck!

linux

人气教程排行