DMDW主备集群搭建备库先open引发的问题

一、问题描述及配置

  1. 主备集群搭建成功后,主备库启动脚本中START_MODE=mount,

  1. 备库的lsn号大于等于备库,N_OPN打开次数主库大于备库。

假如搭建主备集群后,备库首先OPEN一下后引发的问题如下图:

DMDW主备集群搭建备库先open引发的问题_第1张图片

启动脚本中START_MODE=open

3、启动集群后发现,如下图:

DMDW主备集群搭建备库先open引发的问题_第2张图片

此时会发现主备双库都处于mount状态,正常应该是主库open,备库mount。此时皆为mount,Flsn号备库大于主库。N_OPEN次数备库大于主库。Monitor查询N_OPEN次数来源于v$database视图,如下:

DMDW主备集群搭建备库先open引发的问题_第3张图片

此时无论是手动SWITCHOVER转移还是其他手段都无法识别整个集群,如果此时执行SWITCHOVER会产生组分裂,如下图:

DMDW主备集群搭建备库先open引发的问题_第4张图片

通过日志分析发现报错如下:

Mail通讯异常,-6007,其实正常应该是主库发送消息给备库,但是次数集群误认为备库为主库,通过备库发送给主库消息,所以报错-6007失败,通讯异常(这边容易误导网络可能端口不通)。

二、解决方案:

修改启动脚本START_MODE=MOUNT,重新对主备双库进行备份还原,按照正常启停顺序进行重启。

此时重启完之后你会发现除了FLSN、n_OPEN一致以外,status集群状态都是mount,集群还是不正确,因为上次一操作在主库会生成DMWATCHER.CTL守护控制文件,控制文件会记录最早一次集群的状态信息。如下图:

DMDW主备集群搭建备库先open引发的问题_第5张图片

此时需要删除dmwatcher文件或者改为其他名字。在重启集群即可解决此问题。

DMDW主备集群搭建备库先open引发的问题_第6张图片

三、主备启停顺序如下:

  1. 启动是主备主备

主数据->备数据->主守护->备守护

  1. 关闭是备主主备

备守护->主守护->主数据->备数据

你可能感兴趣的:(达梦数据库,数据库)