达梦数据库系列—26. DSC主备搭建

配置DSC主备

配置环境

节点机器 

实例名称 

IP 

133 

GRP1_RT_01 

192.168.64.133 

192.168.169.143

端口规划

实例名

PORT_NUM

MAL_INST_DW_PORT

MAL_HOST

MAL_PORT

MAL_DW_PORT

DSC01

6636

4567

192.168.169.111

8338

3567

DSC02

6637

4568

192.168.169.112

8339

3568

GRP1_RT_01

9344

4569

192.168.169.143

8738

3569

1.配置 DMDSC 主库环境

参考《DM数据库DSC集群搭建

搭建完成后,正常退出 DMDSC 集群的两个 dmserver 节点实例,不需要退出 dmcss 和 dmasmsvr。

配置 dmarch.ini

分别编辑两个 DMDSC 节点的 dmarch.ini 文件,增加本地归档和远程归档。dmarch.ini 文件放在各自 dm.ini 中指定的 CONFIG_PATH 目录下。

配置 DSC01 的 dmarch.ini 文件

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = +DMDATA/DSC01/dsc01_local_arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC02

ARCH_INCOMING_PATH =  +DMDATA/DSC02/dsc01_remote_arch

配置 DSC02 的 dmarch.ini 文件

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = +DMDATA/DSC02/dsc02_local_arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC01

ARCH_INCOMING_PATH = +DMDATA/DSC01/dsc02_remote_arch

配置 dm.ini

分别编辑两个 DMDSC 节点的 dm.ini 文件,打开归档参数

ARCH_INI = 1

备份 DMDSC 库

重启 DMDSC 集群的两个 dmserver 实例,然后再正常退出。在 DMDSC 集群生成有归档日志的情况下进行脱机备份,以便后续校验日志连续性时使用。

//启动dmrman

./dmrman use_ap=2 dcr_ini=/dm/config/dmdcr.ini

//脱机备份DMDSC集群

RMAN>BACKUP DATABASE '/dm/config/DSC01_conf/dm.ini' FULL BACKUPSET  '/dm/config/DSC01_conf/bak/db_full_bak_for_DSC';

2.配置单节点备库

scp -r bak 192.168.64.133:/home/dmdba

//初始化备库

./dminit path=/dm/data/EP01/

//启动dmrman

./dmrman use_ap=2

//使用DMDSC库的备份集还原恢复到单节点备库

RMAN>RESTORE DATABASE '/dm/data/EP01/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/bak/db_full_bak_for_DSC';

RMAN>RECOVER DATABASE '/dm/data/EP01/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/bak/db_full_bak_for_DSC';

RMAN>RECOVER DATABASE '/dm/data/EP01/DAMENG/dm.ini' UPDATE DB_MAGIC;

3.配置 dm.ini

依次配置 DMDSC 主库所有节点和单节点备库的 dm.ini 文件,修改数据守护相关的参数配置。

配置 DSC01 的 dm.ini 文件

##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16

INSTANCE_NAME = DSC01

PORT_NUM = 6636  ##数据库实例监听端口

DW_INACTIVE_INTERVAL = 60 ##接收守护进程消息超时时间

ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间

MAL_INI = 1 ##打开MAL系统

ARCH_INI = 1 ##打开归档配置

RLOG_SEND_APPLY_MON = 64 ##统计最近64次的日志发送信息

配置 DSC02 的 dm.ini 文件

INSTANCE_NAME = DSC02

PORT_NUM = 6637

DW_INACTIVE_INTERVAL = 60

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

MAL_INI = 1

ARCH_INI = 1

RLOG_SEND_APPLY_MON = 64

配置 GRP1_RT_01 的 dm.ini 文件

INSTANCE_NAME = GRP1_RT_01

PORT_NUM = 9344

DW_INACTIVE_INTERVAL = 60

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

MAL_INI = 1

ARCH_INI = 1

RLOG_SEND_APPLY_MON = 64

4.配置 dmmal.ini

在 DMDSC 集群的 dmmal.ini 文件基础上,增加备库 GRP1_RT_01 的配置项。

所有节点实例的 dmmal.ini 文件内容是一致的,配置完成后,拷贝到每个节点实例 dm.ini 中指定的 CONFIG_PATH 目录下。

MAL_CHECK_INTERVAL = 30 ##MAL链路检测时间间隔

MAL_CONN_FAIL_INTERVAL = 10 ##判定MAL链路断开的时间

[MAL_INST0]

MAL_INST_NAME = DSC01 ##实例名,和dm.ini中的INSTANCE_NAME一致

MAL_HOST = 192.168.169.111 ##MAL系统监听TCP连接的IP地址

MAL_PORT = 8338 ##MAL系统监听TCP连接的端口

MAL_INST_HOST = 192.168.64.111 ##实例的对外服务IP地址

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

MAL_DW_PORT = 3567 ##实例本地的守护进程监听TCP连接的端口

MAL_INST_DW_PORT = 4567 ##实例监听守护进程TCP连接的端口

[MAL_INST1]

MAL_INST_NAME = DSC02 ##实例名,和dm.ini中的INSTANCE_NAME一致

MAL_HOST = 192.168.169.112 ##MAL系统监听TCP连接的IP地址

MAL_PORT = 8339 ##MAL系统监听TCP连接的端口

MAL_INST_HOST = 192.168.64.112

MAL_INST_PORT = 6637

MAL_DW_PORT = 3568

MAL_INST_DW_PORT = 4568

[MAL_INST2]

MAL_INST_NAME = GRP1_RT_01

MAL_HOST = 192.168.169.143

MAL_PORT = 8738

MAL_INST_HOST = 192.168.64.133

MAL_INST_PORT = 9344

MAL_DW_PORT = 3569

MAL_INST_DW_PORT = 4569

5.配置 dmarch.ini

再次编辑各个节点的 dmarch.ini 文件,增加实时归档配置。

修改 DSC01 的 dmarch.ini 文件

增加:

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = GRP1_RT_01

修改 DSC02 的 dmarch.ini 文件

增加:

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = GRP1_RT_01

修改 GRP1_RT_01 的 dmarch.ini 文件

 [ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /dm/data/EP01/DAMENG/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCHIVE_REALTIME1]

ARCH_TYPE = REALTIME

ARCH_DEST = DSC01/DSC02

6.配置 dmwatcher.ini

依次配置每个节点实例的 dmwatcher.ini 文件,放到各自 dm.ini 中指定的 CONFIG_PATH 目录下。

另外要注意,DMDSC 集群各节点实例的自动拉起是由各自本地的 dmcss 执行的,不是由守护进程执行,如果要打开 DMDSC 集群的自动拉起,需要再去配置 dmdcr.ini 中的自动拉起参数,为避免 dmcss 在所有配置步骤完成之前提前将 dmserver 自动拉起,这里先不修改 dmdcr.ini 配置。

配置 DSC01 的 dmwatcher.ini 文件

[GRP1]

DW_TYPE = GLOBAL ##全局守护类型

DW_MODE = MANUAL ##手动切换模式

DW_ERROR_TIME = 60 ##远程守护进程故障认定时间

INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间

INST_ERROR_TIME = 35 ##本地实例故障认定时间

INST_INI = /dm/config/DSC01_conf/dm.ini  ##dm.ini配置文件路径

DCR_INI = /dm/config/dmdcr.ini  ##dmdcr.ini配置文件路径

INST_OGUID = 1000 ##守护系统唯一OGUID值

INST_STARTUP_CMD = /dm/bin/dmserver ##命令行方式启动

INST_AUTO_RESTART = 0 ##关闭实例的自动启动功能

RLOG_SEND_THRESHOLD = 0 ##指定主库发送日志到备库的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭

配置 DSC02 的 dmwatcher.ini 文件

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 60

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 35

INST_INI = /dm/config/DSC02_conf/dm.ini

DCR_INI = /dm/config/dmdcr.ini

INST_OGUID = 1000

INST_STARTUP_CMD = /dm/bin/dmserver

INST_AUTO_RESTART = 0

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

配置 GRP1_RT_01 的 dmwatcher.ini 文件

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 60

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 35

INST_INI = /dm/data/EP01/DAMENG/dm.ini

INST_OGUID = 1000

INST_STARTUP_CMD = /dm/bin/dmserver

INST_AUTO_RESTART = 0 ##对单节点,如果需要打开自动拉起功能,将此配置修改为1即可

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

7.配置 dmmonitor.ini

编辑 dmmonitor.ini 文件,放在/dm/data 目录下:

MON_LOG_PATH = /dm/data/log

MON_LOG_INTERVAL = 60

MON_LOG_FILE_SIZE = 64

MON_LOG_SPACE_LIMIT = 0

MON_DW_CONFIRM = 0

[GRP1]

MON_INST_OGUID = 1000

MON_DW_IP = 192.168.64.111:3567/192.168.64.112:3568

MON_DW_IP = 192.168.64.133:3569

8.配置 dmdcr.ini

如果不需要打开 dmcss 的自动拉起功能,该步骤可以省略。需要修改 dmdcr.ini 中的自动拉起配置参数,此参数修改完成后,需要重启 dmcss 才可以生效,为了避免重启 dmcss 引发 dmasmsvr 被强制关闭,需要先将 dmcss 和 dmasmsvr 都正常退出。参数中指定以 Mount 方式拉起 dmserver。

9.启动主备库

注意实例都要使用 Mount 方式启动。

启动 DMDSC 集群的两个 dmserver 实例

启动单节点备库

可以用服务的方式启动,例:

DmServiceDMSERVER start mount

10.设置 OGUID

连接 DMDSC 集群中的任意一个节点,设置 DMDSC 主库的 OGUID 值。

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>SP_SET_OGUID(1000);

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

连接单节点备库,设置备库 OGUID。

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>SP_SET_OGUID(1000);

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

11.修改主备库模式

连接 DMDSC 集群中的任意一个节点,修改 DMDSC 库为 Primary 模式。

SQL>ALTER DATABASE PRIMARY;

连接单节点备库,修改备库为 Standby 模式。

SQL>ALTER DATABASE STANDBY;

12.启动守护进程

启动 DMDSC 主库的所有守护进程:

./dmwatcher /dm/config/DSC01_conf/dmwatcher.ini

./dmwatcher /dm/config/DSC02_conf/dmwatcher.ini

启动备库的守护进程:

./dmwatcher /dm/data/EP01/DAMENG/dmwatcher.ini

以上如果配置了服务,也可以直接用服务启动。

13.启动监视器

./dmmonitor path=/dm/data/dmmonitor.ini

另外,DMDSC 集群也有自己的监视器工具,需要时也可以启动:

./dmcssm ini_path=/dm/config/dmcssm.ini

可以为主备库都配置上服务,主库的服务见安装文档。

cssm不配置服务

备库:

./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /dm/data/EP01/DAMENG/dm.ini

./dm_service_installer.sh -t dmwatcher -p DMSERVER -watcher_ini /dm/data/EP01/DAMENG/dmwatcher.ini

监视器:

./dm_service_installer.sh -t dmmonitor -p DMSERVER -monitor_ini /dm/data/dmmonitor.ini

至此 DMDSC 集群的实时数据守护系统搭建完毕。

达梦技术社区:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

相关推荐

  1. 数据库系列26. DSC

    2024-07-11 17:20:05       19 阅读
  2. 数据库系列23. DSC集群

    2024-07-11 17:20:05       18 阅读
  3. 2024-07-11 17:20:05       42 阅读
  4. 数据库集群

    2024-07-11 17:20:05       46 阅读
  5. 数据库切换知识

    2024-07-11 17:20:05       54 阅读
  6. 数据库手动切换

    2024-07-11 17:20:05       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 17:20:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 17:20:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 17:20:05       58 阅读
  4. Python语言-面向对象

    2024-07-11 17:20:05       69 阅读

热门阅读

  1. Mybatis进阶の常用配置&级联查询

    2024-07-11 17:20:05       22 阅读
  2. 【MyBatis】MyBatis 理论 40 问(二)

    2024-07-11 17:20:05       21 阅读
  3. Android --- Kotlin学习之路:Okhttp 同步异步网络请求

    2024-07-11 17:20:05       19 阅读
  4. tomcat

    tomcat

    2024-07-11 17:20:05      16 阅读
  5. 探索 GraphRAG:图结构与生成式模型的融合

    2024-07-11 17:20:05       23 阅读
  6. 全国青少年信息素养大赛:排序专项:奇偶排序

    2024-07-11 17:20:05       18 阅读
  7. 主题乐园用户增长分析专项报告

    2024-07-11 17:20:05       21 阅读
  8. 使用分布式锁解决淘客返利系统中的并发问题

    2024-07-11 17:20:05       25 阅读
  9. 数据分析主流的数据分析方法与框架使用

    2024-07-11 17:20:05       20 阅读
  10. 如何修改 grafana 密码,grafana忘了怎么办

    2024-07-11 17:20:05       23 阅读
  11. C语言旋转动画

    2024-07-11 17:20:05       22 阅读
  12. C++ 多态和虚函数

    2024-07-11 17:20:05       26 阅读