达梦主备集群模拟主库或者备库down机后启动

本文档详细介绍了如何模拟并处理达梦数据库主备集群中主库或备库DOWN机的情况。通过模拟主库、备库DOWN机及数据库被kill等场景,展示了集群的自动故障切换和恢复过程,确保数据库服务的高可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、模拟主库(node1) DOWN机(环境 node1 为主库,node2 为备库)

对主库所在机器shutdown

启动node1 所在的机器

2、模拟备库(node1) DOWN机(环境 node2 为主库,node1 为备库)

对备库所在机器shutdown (node1 )

启动node1 机器

3、模拟主库node2数据库被kill(环境 node2 为主库,node1 为备库)

4、模拟备库node2数据库被kill(环境 node1 为主库,node2 为备库)


1、模拟主库(node1) DOWN机(环境 node1 为主库,node2 为备库)

对主库所在机器shutdown

从监视器处可以查看到RW1的状态由OPEN->ERROR ,RW2由open状态->STARTUP->MON CONFIRM->FAILOVER->OPEN

监视器log:

[monitor]         2022-03-25 05:46:22: Received message from(DMRW1)

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 05:46:22  OPEN           OK        DMRW1            OPEN        STANDBY   NULL     7        32545           32545          

[monitor]         2022-03-25 05:46:23: Received message from(DMRW2)

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 05:46:23  OPEN           OK        DMRW2            OPEN        PRIMARY   VALID    7        32545           32545          

[monitor]         2022-03-25 05:50:03: Received message timeout from(DMRW1)

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 05:49:52  ERROR          OK        DMRW1            OPEN        STANDBY   VALID    7        32545           32545          

[monitor]         2022-03-25 05:52:32: Dmwatcher process DMRW2 status switching [OPEN-->STARTUP]

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 05:52:32  STARTUP        OK        DMRW2            SUSPEND     PRIMARY   VALID    7        32545           32548          

[monitor]         2022-03-25 05:52:33: Dmwatcher process DMRW2 status switching [STARTUP-->MON CONFIRM]

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 05:52:33  MON CONFIRM    OK        DMRW2            SUSPEND     PRIMARY   VALID    7        32545           32548          

[monitor]         2022-03-25 05:52:34: Dmwatcher process DMRW2 status switching [MON CONFIRM-->FAILOVER]

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 05:52:34  FAILOVER       OK        DMRW2            SUSPEND     PRIMARY   VALID    7        32545           32548          

[monitor]         2022-03-25 05:52:37: Dmwatcher process DMRW2 status switching [FAILOVER-->OPEN]

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 05:52:37  OPEN           OK        DMRW2            OPEN        PRIMARY   VALID    7        32548           32548        

node2上可正常提供服务

[dmdba@node2 ~]$ disql SYSDBA/SYSDBA 

SQL> select * from sysdba.tab ;

no rows

used time: 18.963(ms). Execute id is 400.

SQL>  insert into sysdba.tab values(10) ;

affect rows 1

used time: 0.303(ms). Execute id is 401.

SQL> commit ;

executed successfully

used time: 3.115(ms). Execute id is 402.

启动node1 所在的机器

node1 状态由NONE-->STARTUP-->OPEN

node2 状态OPEN-->RECOVERY-->OPEN

监视器log

[monitor]         2022-03-25 06:08:23: Dmwatcher process DMRW1 status switching [NONE-->STARTUP]

[monitor]         2022-03-25 06:08:24: Dmwatcher process DMRW1 status switching [STARTUP-->OPEN]

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 06:08:23  OPEN           OK        DMRW1            OPEN        STANDBY   INVALID  7        32545           32545          

[monitor]         2022-03-25 06:08:24: Dmwatcher process DMRW2 status switching [OPEN-->RECOVERY]

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 06:08:24  RECOVERY       OK        DMRW2            OPEN        PRIMARY   VALID    7        32555           32555          

[monitor]         2022-03-25 06:08:26: Dmwatcher process DMRW2 status switching [RECOVERY-->OPEN]

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN           

                  2022-03-25 06:08:25  OPEN           OK        DMRW2            OPEN        PRIMARY   VALID    7        32555           32555          

show

2022-03-25 06:14:45

#========================================================&#

### 麒麟操作系统与达梦数据库主备集群配置的最佳实践 #### 一、概述 在麒麟操作系统环境下,达梦数据库(DM8)支持多种高可用架构,其中主备集群是一种常见的解决方案。通过主备集群的配置,可以实现数据冗余份以及业务连续性的保障。以下是基于麒麟操作系统的达梦数据库主备集群配置的相关最佳实践。 --- #### 二、环境准 为了成功搭建主备集群,需完成以下准工作: 1. **安装麒麟操作系统** 确保已正确安装并配置好银河麒麟操作系统版本 V10 或更高版本[^1]。 2. **安装达梦数据库 DM8** 下载适合麒麟操作系统的达梦数据库 DM8 版本,并按照官方文档完成单版的正常安装和初始化。 3. **网络通信设置** - 主库之间需要能够互相访问,建议配置静态 IP 地址。 - 开放必要的端口(默认监听端口为 5236),确保防火墙规则允许两台服务器之间的通信。 --- #### 三、主备集群配置流程 ##### 1. 数据库角色定义 - 在主库上执行命令将数据库模式更改为 `PRIMARY`: ```sql ALTER DATABASE PRIMARY; ``` 此命令用于指定当前实例为主库实例[^2]。 - 在上执行命令将数据库模式更改为 `STANDBY`: ```sql ALTER DATABASE STANDBY; ``` ##### 2. 参数文件调整 编辑主库的参数文件 `dm.ini` 和 `dmmal.ini`,具体如下: - **主库 dm.ini** ```ini INSTANCE_NAME=primary_db PORT_NUM=5236 ENABLE_ARCHIVE=1 ARCH_INI=1 MAL_INST_NAME=mal_primary MAL_HOST=localhost MAL_PORT_NO=7799 ``` 上述配置启用了归档功能,并设置了消息传输层(MAL)的相关参数。 - ** dm.ini** ```ini INSTANCE_NAME=standby_db PORT_NUM=5236 ENABLE_ARCH_LOG_APPLY=1 MAL_INST_NAME=mal_standby MAL_HOST=<主库IP> MAL_PORT_NO=7799 ``` ##### 3. 归档路径同步 - 设置主库的归档日志存储路径,在 `archive_path` 中指定共享目录或 NFS 挂载点。 - 会自动拉取主库产生的归档日志并应用到本地副本。 ##### 4. 启动服务 分别启动主库的服务: ```bash # 启动主库 service dmserver start /path/to/dm.ini # 启动 service dmserver start /path/to/standby_dm.ini ``` --- #### 四、实时切换测试 当主备集群配置完成后,可以通过手动方式验证主切换的功能: 1. 执行以下 SQL 命令停止主库服务: ```sql SHUTDOWN IMMEDIATE; ``` 2. 将提升为主库: ```sql ALTER DATABASE ACTIVATE PHYSICAL STANDBY; ``` 3. 测试新主库是否能正常提供服务。 --- #### 五、注意事项 1. **时间一致性** 确保主库的时间保持一致,可启用 NTP 时间同步服务。 2. **磁盘空间监控** 定期检查归档日志占用的空间大小,必要时清理过期的日志文件。 3. **性能调优** 根据实际负载情况优化数据库连接数、缓冲区大小等参数。 --- #### 六、总结 通过上述步骤可以在银河麒麟操作系统下顺利部署达梦数据库主备集群。此方案不仅提高了系统的可靠性,还增强了灾难恢复能力。对于生产环境中大规模的数据处理需求具有重要意义。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值