尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

达梦数据库-学习-69-DM9主备集群部署

达梦数据库-学习-69-DM9主备集群部署 目录一、环境信息二、安装步骤1、用户组创建2、防火墙关闭3、目录创建4、selinux关闭1配置文件修改2配置立即生效5、软件部署1镜像挂载2软件安装6、环境变量1配置2生效7、初始化数据库8、主库开归档1打开归档2归档文件配置9、主库前台启动10、主库备份11、备份拷贝12、备机恢复13、dm.ini配置1主库2备库14、dmmal.ini配置15、dmarch.ini配置1主库2备库16、dmwatcher.ini配置17、注册服务1切换目录2注册dmserver服务3注册dmwatcher服务18、dmserver服务启动19、状态OGUID配置1主库2备库20、dmwatcher服务启动21、dmmonitor.ini配置22、dmmonitor前台启动23、注册dmmonitor服务1切换目录2注册服务24、dmmonitor服务启动一、环境信息名称值CPUX86操作系统Red Hat 8DM版本9.1.0.26集群主IP192.168.139.5集群备IP192.168.139.6集群监视器IP192.168.139.6达梦软件安装目录/dm达梦数据存放目录/dmdata达梦归档存放目录/dmarch达梦备份存放目录/dmbak二、安装步骤没有特别指明用户均用dmdba用户执行命令。1、用户组创建所有节点执行。root用户操作。groupadd dinstall -g 2000 useradd dmdba -g 2000 -u 2000 echo Dameng123|passwd --stdin dmdba2、防火墙关闭所有节点执行。root用户操作。systemctl stop firewalld systemctl disable firewalld systemctl stop iptables systemctl disable iptables3、目录创建所有节点执行。root用户操作。mkdir -p /dm/dmdbms mkdir -p /dmdata/dmdbms mkdir -p /dmarch/dmdbms mkdir -p /dmbak/dmdbms chown dmdba:dinstall -R /dm chown dmdba:dinstall -R /dmdata chown dmdba:dinstall -R /dmarch chown dmdba:dinstall -R /dmbak4、selinux关闭所有节点执行。root用户操作。1配置文件修改/etc/selinux/config 修改SELINUXdisabled改完如下[rootlocalhost dmdbms]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUXdisabled # SELINUXTYPE can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPEtargeted2配置立即生效[rootlocalhost Pkg]# setenforce 05、软件部署所有节点执行。1镜像挂载[rootlocalhost Pkg]# mount -o loop dm9_20260509_x86_kylin10_sp1_64.iso /mnt/ mount: /mnt: WARNING: device write-protected, mounted read-only.2软件安装[rootbogon Pkg]# /mnt/DMInstall.bin -i 安装语言: 1) 简体中文 2) English 请输入选项[1]: 正在解压安装包... 硬件架构校验通过 GLIBC VERSION校验通过 欢迎使用 DM9 安装工具 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 输入[exit]可退出程序 阅读并同意《DM9许可协议与服务条款》? 1) 阅读 2) 同意并继续 3) 不同意并退出 请输入选项[2]: -- 安装配置 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 安装组件 (多选, 逗号分隔): 1) 服务器 2) 客户端工具 请输入选项[1,2]: 所需磁盘空间: 2.23GB 指定安装目录[/opt/dmdbms]:/dm/dmdbms 可用磁盘空间: 51.9GB -- 许可证文件 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 未填写许可证文件时系统将以试用版运行如需启用安全特性必须指定有效的许可证文件。 许可证文件路径 (为空使用试用版): -- 安装小结 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 产品名称: 达梦数据库V9 安装目录: /dm/dmdbms 安装内容: 服务器,客户端工具 所需磁盘空间: 2.23GB 可用磁盘空间: 51.9GB 可用内存: 3.03GB 版本信息: 有效日期: 确认安装?[y/n]:y -- 安装中 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [*] 正在初始化安装日志... [✓] 初始化安装日志完成 [*] 正在拷贝文件... [✓] 拷贝文件完成 [*] 正在修改文件... [✓] 修改文件完成 [*] 正在修改环境变量... [✓] 修改环境变量完成 [*] 正在安装服务... [✓] 安装服务完成 [*] 正在配置... [✓] 配置完成 -- 安装总结 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 达梦数据库DM9安装完成 安装目录: /dm/dmdbms 更多安装信息, 请查看安装日志文件: /dm/dmdbms/log/install.log6、环境变量所有节点执行。root用户操作。1配置/home/dmdba/.bashrc添加如下变量。export DM_HOME/dm/dmdbms export LD_LIBRARY_PATH$LD_LIBRARY_PATH:$DM_HOME/bin export PATH$PATH:$DM_HOME/bin:$DM_HOME/tool2生效[dmdbabogon ~]$ source /home/dmdba/.bashrc7、初始化数据库所有节点执行。[dmdbabogon ~]$ dminit path/dmdata/dmdbms SYSDBA_PWDqwer1234S SYSAUDITOR_PWDqwer1234S dminit V9 db version: 0x7000d file dm.key not found, use default license! License will expire on 2027-04-17 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: /dmdata/dmdbms/DAMENG/DAMENG01.log log file path: /dmdata/dmdbms/DAMENG/DAMENG02.log write to dir [/dmdata/dmdbms/DAMENG]. create dm database success. 2026-08-24 16:18:148、主库开归档主库执行即可。1打开归档[dmdbabogon ~]$ cat /dmdata/dmdbms/DAMENG/dm.ini |grep ARCH_INI ARCH_INI 1 #Whether to enable dmarch2归档文件配置此文件需手动创建。[dmdbabogon ~]$ cat /dmdata/dmdbms/DAMENG/dmarch.ini [ARCHIVE_LOCAL1] ARCH_TYPE LOCAL #本地归档类型 ARCH_DEST /dmarch/dmdbms #本地归档文件存放路径 ARCH_FILE_SIZE 256 #单位 Mb本地单个归档文件最大值 ARCH_SPACE_LIMIT 1024 #单位 Mb0 表示无限制范围 1024~2147483647M9、主库前台启动主库执行即可。[dmdbabogon ~]$ dmserver /dmdata/dmdbms/DAMENG/dm.ini10、主库备份主库执行即可。备份完成关闭主库前台服务之前的会话下输入exit。[dmdbabogon ~]$ disql SYSDBA/qwer1234S 服务器[LOCALHOST:5236]:处于普通打开状态 登录使用时间 : 4.306(ms) disql V9 SQL BACKUP DATABASE FULL BACKUPSET /dmbak/dmdbms/BACKUP_FILE_01 COMPRESSED level 3 task thread 8 parallel 5; 操作已执行 已用时间: 00:00:04.556. 执行号:68901.11、备份拷贝主库执行即可。[dmdbabogon ~]$ scp -r /dmbak/dmdbms/BACKUP_FILE_01 192.168.139.6:/dmbak/dmdbms/12、备机恢复备库执行即可。[dmdbalocalhost ~]$ dmrman dmrman V9 RMAN RESTORE DATABASE /dmdata/dmdbms/DAMENG/dm.ini FROM BACKUPSET /dmbak/dmdbms/BACKUP_FILE_01 RESTORE DATABASE /dmdata/dmdbms/DAMENG/dm.ini FROM BACKUPSET /dmbak/dmdbms/BACKUP_FILE_01 file dm.key not found, use default license! [Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00] restore successfully. time used: 00:00:02.705 RMAN RECOVER DATABASE /dmdata/dmdbms/DAMENG/dm.ini FOR STANDBY FROM BACKUPSET /dmbak/dmdbms/BACKUP_FILE_01 RECOVER DATABASE /dmdata/dmdbms/DAMENG/dm.ini FOR STANDBY FROM BACKUPSET /dmbak/dmdbms/BACKUP_FILE_01 [Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00] recover successfully! time used: 00:00:03.292 RMAN RECOVER DATABASE /dmdata/dmdbms/DAMENG/dm.ini UPDATE DB_MAGIC RECOVER DATABASE /dmdata/dmdbms/DAMENG/dm.ini UPDATE DB_MAGIC recover successfully! time used: 00:00:01.28713、dm.ini配置cat /dmdata/dmdbms/DAMENG/dm.ini |grep -E INSTANCE_NAME|PORT_NUM|DW_INACTIVE_INTERVAL|ALTER_MODE_STATUS|ENABLE_OFFLINE_TS|MAL_INI|ARCH_INI|RLOG_SEND_APPLY_MON修改参数如下1主库INSTANCE_NAME GRP1_RT_01 #Instance name PORT_NUM 5236 #Port number on which the database server will listen RLOG_SEND_APPLY_MON 64 #Monitor recently send or apply rlog_buf info DW_INACTIVE_INTERVAL 60 #Time in seconds that used to determine whether DMWATCHER exist ALTER_MODE_STATUS 0 #Whether to permit database user to alter database mode and status by SQLs, 2: yes, 1: yes when dmwatcher ERROR, 0: no ENABLE_OFFLINE_TS 2 #Whether tablespace can be offline MAL_INI 1 #Whether to enable dmmal ARCH_INI 1 #Whether to enable dmarch2备库INSTANCE_NAME GRP1_RT_02 #Instance name PORT_NUM 5236 #Port number on which the database server will listen RLOG_SEND_APPLY_MON 64 #Monitor recently send or apply rlog_buf info DW_INACTIVE_INTERVAL 60 #Time in seconds that used to determine whether DMWATCHER exist ALTER_MODE_STATUS 0 #Whether to permit database user to alter database mode and status by SQLs, 2: yes, 1: yes when dmwatcher ERROR, 0: no ENABLE_OFFLINE_TS 2 #Whether tablespace can be offline MAL_INI 1 #Whether to enable dmmal ARCH_INI 1 #Whether to enable dmarch14、dmmal.ini配置此文件主备库一致。此文件需手动创建。[dmdbabogon ~]$ cat /dmdata/dmdbms/DAMENG/dmmal.ini MAL_CHECK_INTERVAL 5 #MAL 链路检测时间间隔 MAL_CONN_FAIL_INTERVAL 5 #判定 MAL 链路断开的时间 [MAL_INST1] MAL_INST_NAME GRP1_RT_01 #实例名和 dm.ini 中的 INSTANCE_NAME 一致 MAL_HOST 192.168.139.5 #MAL 系统监听 TCP 连接的 IP 地址 MAL_PORT 61141 #MAL 系统监听 TCP 连接的端口 MAL_INST_HOST 192.168.139.5 #实例的对外服务 IP 地址 MAL_INST_PORT 5236 #实例的对外服务端口和 dm.ini 中的 PORT_NUM 一致 MAL_DW_PORT 52141 #实例本地的守护进程监听 TCP 连接的端口 MAL_INST_DW_PORT 33141 #实例监听守护进程 TCP 连接的端口 [MAL_INST2] MAL_INST_NAME GRP1_RT_02 MAL_HOST 192.168.139.6 MAL_PORT 61142 MAL_INST_HOST 192.168.139.6 MAL_INST_PORT 5236 MAL_DW_PORT 52142 MAL_INST_DW_PORT 3314215、dmarch.ini配置此文件需手动创建。1主库[dmdbabogon ~]$ cat /dmdata/dmdbms/DAMENG/dmarch.ini [ARCHIVE_REALTIME] ARCH_TYPE REALTIME #实时归档类型 ARCH_DEST GRP1_RT_02 #实时归档目标实例名 [ARCHIVE_LOCAL1] ARCH_TYPE LOCAL #本地归档类型 ARCH_DEST /dmarch/dmdbms #本地归档文件存放路径 ARCH_FILE_SIZE 256 #单位 Mb本地单个归档文件最大值 ARCH_SPACE_LIMIT 1024 #单位 Mb0 表示无限制范围 1024~2147483647M2备库[dmdbabogon ~]$ cat /dmdata/dmdbms/DAMENG/dmarch.ini [ARCHIVE_REALTIME] ARCH_TYPE REALTIME #实时归档类型 ARCH_DEST GRP1_RT_01 #实时归档目标实例名 [ARCHIVE_LOCAL1] ARCH_TYPE LOCAL #本地归档类型 ARCH_DEST /dmarch/dmdbms #本地归档文件存放路径 ARCH_FILE_SIZE 256 #单位 Mb本地单个归档文件最大值 ARCH_SPACE_LIMIT 1024 #单位 Mb0 表示无限制范围 1024~2147483647M16、dmwatcher.ini配置此文件主备库一致。此文件需手动创建。[dmdbabogon ~]$ cat /dmdata/dmdbms/DAMENG/dmwatcher.ini [GRP1] DW_TYPE GLOBAL #全局守护类型 DW_MODE AUTO #自动切换模式 DW_ERROR_TIME 10 #远程守护进程故障认定时间 INST_RECOVER_TIME 60 #主库守护进程启动恢复的间隔时间 INST_ERROR_TIME 10 #本地实例故障认定时间 INST_OGUID 453331 #守护系统唯一 OGUID 值 INST_INI /dmdata/dmdbms/DAMENG/dm.ini #dm.ini 配置文件路径 INST_AUTO_RESTART 1 #打开实例的自动启动功能 INST_STARTUP_CMD /dm/dmdbms/bin/dmserver #命令行方式启动 RLOG_SEND_THRESHOLD 0 #指定主库发送日志到备库的时间阈值默认关闭 RLOG_APPLY_THRESHOLD 0 #指定备库重演日志的时间阈值默认关闭17、注册服务所有节点执行。root用户执行。1切换目录[rootbogon dmdbms]# cd /dm/dmdbms/script/root/2注册dmserver服务[rootbogon root]# ./dm_service_installer.sh -t dmserver -p Sun -dm_ini /dmdata/dmdbms/DAMENG/dm.ini -m mount Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceSun.service → /usr/lib/systemd/system/DmServiceSun.service. 创建服务(DmServiceSun)完成3注册dmwatcher服务[rootbogon root]# ./dm_service_installer.sh -t dmwatcher -p Sun -watcher_ini /dmdata/dmdbms/DAMENG/dmwatcher.ini Created symlink /etc/systemd/system/multi-user.target.wants/DmWatcherServiceSun.service → /usr/lib/systemd/system/DmWatcherServiceSun.service. 创建服务(DmWatcherServiceSun)完成18、dmserver服务启动所有节点执行。[dmdbabogon ~]$ DmServiceSun start Starting DmServiceSun: [ OK ]19、状态OGUID配置1主库[dmdbabogon ~]$ disql SYSDBA/qwer1234S 服务器[LOCALHOST:5236]:处于普通配置状态 登录使用时间 : 8.650(ms) disql V9 SQL SP_SET_PARA_VALUE(1, ALTER_MODE_STATUS, 1); DMSQL 过程已成功完成 已用时间: 20.760(毫秒). 执行号:1. SQL SP_SET_OGUID(453331); DMSQL 过程已成功完成 已用时间: 4.085(毫秒). 执行号:2. SQL ALTER DATABASE PRIMARY; 操作已执行 已用时间: 17.414(毫秒). 执行号:0. SQL SP_SET_PARA_VALUE(1, ALTER_MODE_STATUS, 0); DMSQL 过程已成功完成 已用时间: 21.245(毫秒). 执行号:3.2备库[dmdbalocalhost ~]$ disql SYSDBA/qwer1234S 服务器[LOCALHOST:5236]:处于普通配置状态 登录使用时间 : 7.476(ms) disql V9 SQL SP_SET_PARA_VALUE(1, ALTER_MODE_STATUS, 1); DMSQL 过程已成功完成 已用时间: 21.366(毫秒). 执行号:1. SQL SP_SET_OGUID(453331); DMSQL 过程已成功完成 已用时间: 7.395(毫秒). 执行号:2. SQL ALTER DATABASE STANDBY; 操作已执行 已用时间: 23.581(毫秒). 执行号:0. SQL SP_SET_PARA_VALUE(1, ALTER_MODE_STATUS, 0); DMSQL 过程已成功完成 已用时间: 23.852(毫秒). 执行号:3.20、dmwatcher服务启动所有节点执行。[dmdbalocalhost ~]$ DmWatcherServiceSun start Starting DmWatcherServiceSun: [ OK ]21、dmmonitor.ini配置备库执行即可。此文件需手动创建。[dmdbalocalhost ~]$ cat /dmdata/dmdbms/DAMENG/dmmonitor.ini MON_DW_CONFIRM 1 #确认监视器模式 MON_LOG_PATH /dm/dmdbms/log #监视器日志文件存放路径 MON_LOG_INTERVAL 60 #每隔 60s 定时记录系统信息到日志文件 MON_LOG_FILE_SIZE 32 #每个日志文件最大 32M MON_LOG_SPACE_LIMIT 1024 #不限定日志文件总占用空间 [GRP1] MON_INST_OGUID 453331 #组 GRP1 的唯一 OGUID 值 #以下配置为监视器到组 GRP1 的守护进程的连接信息以“IP:PORT”的形式配置 #IP 对应 dmmal.ini 中的 MAL_HOSTPORT 对应 dmmal.ini 中的 MAL_DW_PORT MON_DW_IP 192.168.139.5:52141 MON_DW_IP 192.168.139.6:5214222、dmmonitor前台启动备库执行即可。执行下述命令后输入show查看集群状态。[dmdbalocalhost ~]$ dmmonitor /dmdata/dmdbms/DAMENG/dmmonitor.ini [monitor] 2026-08-24 17:31:05.248: DMMONITOR[4.0] V9 [monitor] 2026-08-24 17:31:05.263: DMMONITOR[4.0] IS READY. [monitor] 2026-08-24 17:31:05.267: #-----------------------------------------------------------------------------------------------# GET MONITOR CONNECT INFO FROM DMWATCHER(GRP1_RT_02), THE FIRST LINE IS SELF INFO. DW_CONN_TIME MON_CONFIRM MID MON_IP MON_VERSION 2026-08-24 17:31:05 TRUE 2087027810 ::ffff:192.168.139.6 DMMONITOR[4.0] V9 #-----------------------------------------------------------------------------------------------# [monitor] 2026-08-24 17:31:05.270: 收到守护进程(GRP1_RT_02)消息 WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN 2026-08-24 17:31:04 OPEN OK GRP1_RT_02 OPEN STANDBY NULL 2 55026 55026 [monitor] 2026-08-24 17:31:05.274: 收到守护进程(GRP1_RT_01)消息 WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN 2026-08-24 17:31:04 OPEN OK GRP1_RT_01 OPEN PRIMARY VALID 2 55026 55026 show 2026-08-24 17:31:22 ## GROUP OGUID MON_CONFIRM MODE MPP_FLAG GRP1 453331 TRUE AUTO FALSE DATABASE GLOBAL INFO: DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT DETACHED AUTO_MODE_CHANGE 192.168.139.5 52141 2026-08-24 17:31:20 GLOBAL VALID OPEN GRP1_RT_01 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID FALSE OFF EP INFO: INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG 192.168.139.5 5236 OK GRP1_RT_01 OPEN PRIMARY 0 0 REALTIME VALID 3208 55026 3208 55026 NONE DATABASE GLOBAL INFO: DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT DETACHED AUTO_MODE_CHANGE 192.168.139.6 52142 2026-08-24 17:31:20 GLOBAL VALID OPEN GRP1_RT_02 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME VALID FALSE OFF EP INFO: INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG 192.168.139.6 5236 OK GRP1_RT_02 OPEN STANDBY 0 0 REALTIME VALID 3208 55026 3208 55026 NONE DATABASE(GRP1_RT_02) APPLY INFO FROM (GRP1_RT_01), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]: DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[3208, 3208, 3208], (RLSN, SLSN, KLSN)[55026, 55026, 55026], N_TSK[0], TSK_MEM_USE[0] ##所有WSTATUS、ISTATUS都为OPEN表示集群正常。输入EXIT正常退出监视器。23、注册dmmonitor服务备节点执行。root用户执行。1切换目录[rootbogon dmdbms]# cd /dm/dmdbms/script/root/2注册服务[rootlocalhost root]# ./dm_service_installer.sh -t dmmonitor -p Sun -monitor_ini /dmdata/dmdbms/DAMENG/dmmonitor.ini Created symlink /etc/systemd/system/multi-user.target.wants/DmMonitorServiceSun.service → /usr/lib/systemd/system/DmMonitorServiceSun.service. 创建服务(DmMonitorServiceSun)完成24、dmmonitor服务启动备节点执行。[dmdbalocalhost ~]$ DmMonitorServiceSun start Starting DmMonitorServiceSun: [ OK ]至此集群部署完毕和达梦8几乎没有区别这一点值得点赞降低学习成本。
返回列表