达梦数据库系列—27. DSC主备归档

先看一个报错:

2024-07-10 22:12:21.725 [ERROR] database P0000003511 T0000000000000003696  rafil_list_overlap_consecutive_check failed, rfil(+DMDATA/data/DSC02/arch/ARCHIVE_LOCAL1_0x57843343_EP1_2024-07-10_20-44-40.log)->next_seq(2901) >= next rfil(+DMDATA/data/DSC02/arch/ARCHIVE_REMOTE_0x57843343_EP1_2024-07-10_20-44-58.log)->arch_seq(2898)
2024-07-10 22:12:21.725 [ERROR] database P0000003511 T0000000000000003696  rarch_sync_process, rafil_collect_by_dsc_seqno failed, code=-731
2024-07-10 22:12:21.725 [ERROR] database P0000003511 T0000000000000003696  rarch_local_arch_send, rarch_sync_process failed, code:-731!

在搭建DSC主备的时候,报以上错误

rarch_sync_process和rarch_local_arch_send失败,归档同步发送失败。

错误原因:

各节点远程归档路径(ARCH_INCOMING_PATH)和其他节点的本地归档路径相同

解决办法:

调整各节点远程归档路径(ARCH_INCOMING_PATH)不要和其他节点的本地归档路径一致,单独创建目录存放远程归档

总结了以下DSC的一些疑问:

DSC的端口都有哪些?DSC主备的端口?哪几个文件有关联?

两节点DSC:

MAL_HOST:MAL_PORT,MAL系统通信,私网地址

DMCSSM:配置dcr_oguid、两台CSS的port和IP

DSC主备:

在前面的基础上加了关于DmWatch的三个端口

MAL_INST_PORT 实例的对外服务端口,和dm.ini中的PORT_NUM一致

MAL_DW_PORT DW监听其他服务的端口,其他服务(比如monitor)连DW

MAL_INST_DW_PORT 实例监听DW的端口 

Dmwatcher:配置INST_OGUID这是守护系统唯一的OGUID,不同于其他OGUID

Dmmonitor配置MON_INST_OGUID同上面DW的INST_OGUID

                 MON_DW_IP:MON_DW_PORT,DW的PORT,同MAL_DW_PORT

怎么看是否有gap?看日志线程和apply线程的状态?

监视器里可以看到主备库的状态都是正常的:

ISTATUS为OPEN,INST_OK为OK,WSTATUS(守护进程状态)为OPEN。

停掉备库的实例后,WSTATUS变为STARTUP

show一下

启动备库

此时fseq:主库是5487  备库是2920

Flsn:主库是48066 备库是48066

主库插入数据

此时fseq:主库是5490  备库是2920,主库增加,备库没有变化

Flsn:主库是48088 备库是48066,主库增加,备库没有变化

说明有延迟,还没有同步到备库,再show

此时Fseq:主库是5491  备库是2921,备库有增加

Flsn:主库是48088 备库是48088,备库有增加,且和主库一致

说明同步正常

通过v$rlog也能看FLSN的大小:

主库:

备库:

如果没有数据守护进程,手动open数据库,数据会进行同步吗?

首先,停掉监视器

然后,停掉备库的DW

再然后,停掉数据库实例,并启动数据库实例到mount

执行以下测试:

然后主库插入数据,看主备库的实例日志,standby日志正常发送到备库,

备库:LSN有刷新,数据已同步过来。

启动DW

启动监视器

状态完全正常。

重启机器,会自动启动?DB会启动到mount?

install服务脚本执行创建服务后就会开启开机自启动

DB的启动会启动到mount,但是两节点不能同时mount,一个节点mount,另一个节点error

如果配置了dmwatcher的服务,重启机器后,需要DSC两节点的dmwatcher和备库的dmwatcher都启动,DSC状态正常,两个节点都OPEN。

日志是怎么传到standby的,主库备库的日志是不是一一对应的?

不是一一对应的。

这里log replay service是将主库的日志,发送到备库的内存,

然后备库生成online redo log和local archivelog,local archivelog的大小、目录等参数,是按照备库的dmarch.ini生成的,文件名为STANDBY*.log。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

范德彪的蕉

天不生我奥德彪,非洲无人拉香蕉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值