news 2026/7/31 3:01:47

单机双节点DMDSC 集群搭建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
单机双节点DMDSC 集群搭建

1. 磁盘固定(UDEV)

1.1 创建 udev 规则文件
# 切换到 root 用户su- root# 创建 udev 规则文件vi/etc/udev/rules.d/66-dmdevices.rules

添加以下内容:

## DCR 磁盘配置 (vdb)KERNEL=="vdb",SUBSYSTEM=="block",OWNER="dmdba",GROUP="dinstall",MODE="0660",SYMLINK+="DCR",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/vdb; mkdir -p /dev_DSC2; ln -sf /dev/DCR /dev_DSC2/DCR'"## VOTE 磁盘配置 (vdc)KERNEL=="vdc",SUBSYSTEM=="block",OWNER="dmdba",GROUP="dinstall",MODE="0660",SYMLINK+="VOTE",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/vdc; ln -sf /dev/VOTE /dev_DSC2/VOTE'"## DMDATA 磁盘配置 (vdd)KERNEL=="vdd",SUBSYSTEM=="block",OWNER="dmdba",GROUP="dinstall",MODE="0660",SYMLINK+="DMDATA",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/vdd; ln -sf /dev/DMDATA /dev_DSC2/DMDATA'"## DMLOG 磁盘配置 (vde)KERNEL=="vde",SUBSYSTEM=="block",OWNER="dmdba",GROUP="dinstall",MODE="0660",SYMLINK+="DMLOG",RUN+="/bin/sh -c 'chown dmdba:dinstall /dev/vde; ln -sf /dev/DMLOG /dev_DSC2/DMLOG; chown -R dmdba:dinstall /dev_DSC2'"
1.2 重载 udev 规则
udevadm control --reload-rules udevadm trigger systemctl restart systemd-udev-trigger
1.3 验证磁盘固定
ls-l/dev_DSC2/# 应看到 DCR、VOTE、DMDATA、DMLOG 四个软链接ls-l/dev/vdb /dev/vdc /dev/vdd /dev/vde# 属主应为 dmdba:dinstall,权限应为 0660

2. 创建目录结构

su- dmdba# 创建主目录mkdir-p/home/dmdba/dmdbms/data/dsc/dsc01mkdir-p/home/dmdba/dmdbms/data/dsc/dsc02mkdir-p/home/dmdba/dmdbms/data/dsc/cssm_log# 创建 DSC01/DSC02 配置子目录mkdir-p/home/dmdba/dmdbms/data/dsc/dsc01/DSC01_confmkdir-p/home/dmdba/dmdbms/data/dsc/dsc02/DSC02_conf

3. 配置文件准备

3.1 dmdcr_cfg.ini

路径/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr_cfg.ini

DCR_N_GRP= 3 DCR_VTD_PATH=/dev_DSC2/VOTE DCR_OGUID= 1071107589 [GRP] DCR_GRP_TYPE = CSS DCR_GRP_NAME = GRP_CSS DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 [GRP_CSS] DCR_EP_NAME = CSS0 DCR_EP_HOST = *.*.*.* DCR_EP_PORT = 9836 [GRP_CSS] DCR_EP_NAME = CSS1 DCR_EP_HOST = *.*.*.* DCR_EP_PORT = 9837 [GRP] DCR_GRP_TYPE= ASM DCR_GRP_NAME= GRP_ASM DCR_GRP_N_EP= 2 DCR_GRP_DSKCHK_CNT= 60 [GRP_ASM] DCR_EP_NAME= ASM0 DCR_EP_SHM_KEY= 64735 DCR_EP_SHM_SIZE= 512 DCR_EP_HOST= *.*.*.* DCR_EP_PORT= 5836 DCR_EP_ASM_LOAD_PATH= /dev_DSC2 [GRP_ASM] DCR_EP_NAME= ASM1 DCR_EP_SHM_KEY= 54736 DCR_EP_SHM_SIZE= 512 DCR_EP_HOST= *.*.*.* DCR_EP_PORT= 5837 DCR_EP_ASM_LOAD_PATH= /dev_DSC2 [GRP] DCR_GRP_TYPE= DB DCR_GRP_NAME= GRP_DSC DCR_GRP_N_EP= 2 DCR_GRP_DSKCHK_CNT= 60 [GRP_DSC] DCR_EP_NAME= DSC01 DCR_EP_SEQNO= 0 DCR_EP_PORT= 6636 [GRP_DSC] DCR_EP_NAME= DSC02 DCR_EP_SEQNO= 1 DCR_EP_PORT= 6637
3.2 dmasvrmal.ini(两个节点内容相同)

DSC01 路径/home/dmdba/dmdbms/data/dsc/dsc01/dmasvrmal.ini
DSC02 路径/home/dmdba/dmdbms/data/dsc/dsc02/dmasvrmal.ini

[MAL_INST1] MAL_INST_NAME= ASM0 MAL_HOST= *.*.*.* MAL_PORT= 4836 [MAL_INST2] MAL_INST_NAME= ASM1 MAL_HOST= *.*.*.* MAL_PORT= 4837
3.3 dmdcr.ini

DSC01 路径/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr.ini

DMDCR_PATH = /dev_DSC2/DCR DMDCR_MAL_PATH = /home/dmdba/dmdbms/data/dsc/dsc01/dmasvrmal.ini DMDCR_SEQNO = 0 DMDCR_ASM_RESTART_INTERVAL = 0 DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr.ini DMDCR_DB_RESTART_INTERVAL = 0 DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/data/dsc/dsc01/DSC01_conf/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr.ini

DSC02 路径/home/dmdba/dmdbms/data/dsc/dsc02/dmdcr.ini

DMDCR_PATH = /dev_DSC2/DCR DMDCR_MAL_PATH = /home/dmdba/dmdbms/data/dsc/dsc02/dmasvrmal.ini DMDCR_SEQNO = 1 DMDCR_ASM_RESTART_INTERVAL = 0 DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/data/dsc/dsc02/dmdcr.ini DMDCR_DB_RESTART_INTERVAL = 0 DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/data/dsc/dsc02/DSC02_conf/dm.ini dcr_ini=/home/dmdba/dmdbms/data/dsc/dsc02/dmdcr.ini
3.4 dminit.ini

路径/home/dmdba/dmdbms/data/dsc/dsc01/dminit.ini

DB_NAME= dsc2 SYSTEM_PATH= +DMDATA/data SYSTEM= +DMDATA/data/dsc2/system.dbf SYSTEM_SIZE= 128 ROLL= +DMDATA/data/dsc2/roll.dbf ROLL_SIZE= 128 MAIN= +DMDATA/data/dsc2/main.dbf MAIN_SIZE= 128 CTL_PATH= +DMDATA/data/dsc2/dm.ctl LOG_SIZE= 2048 DCR_PATH= /dev_DSC2/DCR DCR_SEQNO= 0 AUTO_OVERWRITE= 2 PAGE_SIZE= 16 EXTENT_SIZE= 16 SYSDBA_PWD=****** SYSAUDITOR_PWD=****** [DSC01] CONFIG_PATH= /home/dmdba/dmdbms/data/dsc/dsc01/DSC01_conf PORT_NUM= 6636 MAL_HOST= *.*.*.* MAL_PORT= 6536 LOG_PATH= +DMLOG/log/DSC01_log1.log LOG_PATH= +DMLOG/log/DSC01_log2.log [DSC02] CONFIG_PATH= /home/dmdba/dmdbms/data/dsc/dsc02/DSC02_conf PORT_NUM= 6637 MAL_HOST= *.*.*.* MAL_PORT= 6537 LOG_PATH= +DMLOG/log/DSC02_log1.log LOG_PATH= +DMLOG/log/DSC02_log2.log
3.5 cssm.ini

路径/home/dmdba/dmdbms/data/dsc/cssm.ini

CSSM_OGUID = 1071107589 CSSM_CSS_IP = *.*.*.*:9836 CSSM_CSS_IP = *.*.*.*:9837 CSSM_LOG_PATH = /home/dmdba/dmdbms/data/dsc/cssm_log CSSM_LOG_FILE_SIZE = 32 CSSM_LOG_SPACE_LIMIT = 0

4. 磁盘初始化(dmasmcmd)

su- dmdbacd/home/dmdba/dmdbms/bin ./dmasmcmd

ASM>提示符下逐条执行:

createdcrdisk'/dev_DSC2/DCR''DCR'createvotedisk'/dev_DSC2/VOTE''VOTE'createasmdisk'/dev_DSC2/DMDATA''DMDATA'createasmdisk'/dev_DSC2/DMLOG''DMLOG'init dcrdisk'/dev_DSC2/DCR'from'/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr_cfg.ini'identifiedby'******'init votedisk'/dev_DSC2/VOTE'from'/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr_cfg.ini'

执行完成后输入exit退出。

5. 创建 ASM 磁盘组(dmasmtool)

su- dmdbacd/home/dmdba/dmdbms/bin ./dmasmtooldcr_ini=/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr.ini

ASM>提示符下执行:

CREATEDISKGROUP DMDATA asmdisk'/dev_DSC2/DMDATA';CREATEDISKGROUP DMLOG asmdisk'/dev_DSC2/DMLOG';

执行完成后输入exit退出。

6. 初始化数据库(dminit)

su- dmdbacd/home/dmdba/dmdbms/bin ./dminitcontrol=/home/dmdba/dmdbms/data/dsc/dsc01/dminit.ini

验证配置文件已生成

ls-l/home/dmdba/dmdbms/data/dsc/dsc01/DSC01_conf/ls-l/home/dmdba/dmdbms/data/dsc/dsc02/DSC02_conf/# 应看到 dm.ini 和 dmmal.ini

7. 启动集群

重要:需要 6 个终端窗口,按顺序启动。

终端1 - CSS0

su- dmdbacd/home/dmdba/dmdbms/bin ./dmcssdcr_ini=/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr.ini

终端2 - CSS1

su- dmdbacd/home/dmdba/dmdbms/bin ./dmcssdcr_ini=/home/dmdba/dmdbms/data/dsc/dsc02/dmdcr.ini

终端3 - ASM0

su- dmdbacd/home/dmdba/dmdbms/bin ./dmasmsvrdcr_ini=/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr.ini

终端4 - ASM1

su- dmdbacd/home/dmdba/dmdbms/bin ./dmasmsvrdcr_ini=/home/dmdba/dmdbms/data/dsc/dsc02/dmdcr.ini

终端5 - DSC01

su- dmdbacd/home/dmdba/dmdbms/bin# 自动拉起 dmdrc.ini文件中的DMDCR_DB_RESTART_INTERVAL = 1./dmserverdcr_ini=/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr.ini# 手动拉起 dmdrc.ini文件中的DMDCR_DB_RESTART_INTERVAL = 0./dmserver /home/dmdba/dmdbms/data/dsc/dsc01/DSC01_conf/dm.inidcr_ini=/home/dmdba/dmdbms/data/dsc/dsc01/dmdcr.ini

终端6 - DSC02

su- dmdbacd/home/dmdba/dmdbms/bin# 自动拉起 dmdrc.ini文件中的DMDCR_DB_RESTART_INTERVAL = 1./dmserver /home/dmdba/dmdbms/data/dsc/dsc02/DSC02_conf/dm.inidcr_ini=/home/dmdba/dmdbms/data/dsc/dsc02/dmdcr.ini

8. 验证集群状态

8.1 启动监视器
su- dmdbacd/home/dmdba/dmdbms/bin ./dmcssmini_path=/home/dmdba/dmdbms/data/dsc/cssm.ini

DMCSSM>提示符下执行:

show
8.2 预期输出

所有节点状态应为:

  • sta = OPEN
  • inst_status = WORKING
  • is_ok = TRUE
  • active = TRUE

9. 注意

  1. 永远不要用root启动实例
  2. dmdcr.iniDMDCR_DB_RESTART_INTERVAL = 0,DMCSS无法自动拉起DMSERVER,那么启动DMSERVER的时候需要手动指定dm.ini所在路径

声明:本文为个人实操学习笔记,部署步骤参考达梦数据库官方文档整理,仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 3:00:53

SAP ABAP SELECT语法深度解析:从基础到HANA性能优化实战

1. 项目概述:为什么ABAP开发者必须精通SELECT在SAP ABAP开发的世界里,无论你是刚入行的新人,还是摸爬滚打多年的老手,SELECT语句都是你绕不开的“基本功”。但就是这个看似基础的语法,我见过太多人用了多年&#xff0c…

作者头像 李华
网站建设 2026/7/31 3:00:31

MySql常用命令速查表

一、数据库(库)管理操作命令创建库CREATE DATABASE [IF NOT EXISTS] 库名;查看所有库SHOW DATABASES;切换库USE 库名;查看当前库SELECT DATABASE();查看建库语句SHOW CREATE DATABASE 库名;删除库(高危)DROP DATABASE [IF EXISTS]…

作者头像 李华
网站建设 2026/7/31 2:57:40

ArcGIS 10.8 安装与激活全攻略:从环境准备到实战验证

1. 从零到一:为什么选择ArcGIS 10.8作为你的GIS起点如果你刚接触地理信息系统,或者正在寻找一个稳定、功能全面且资源丰富的桌面GIS软件,那么ArcGIS 10.8很可能就是你绕不开的一个选择。我身边很多朋友和同事,无论是做城市规划、环…

作者头像 李华
网站建设 2026/7/31 2:57:24

函数基础大全

1 函数基础1.1 什么是函数函数可以理解为把一段重复要用的代码打包起来。以后想要执行这段功能,直接调用名字就行,不用反复复制粘贴代码,让代码更加整洁。1.2 函数的定义与调用使用def关键字定义函数,写完函数不会立刻运行&#x…

作者头像 李华
网站建设 2026/7/31 2:57:01

.NET B/S 业务驾驶舱完整架构设计方案

.NET B/S业务驾驶舱完整架构设计方案一、方案概述1.1 项目背景随着企业数字化转型深入,传统分散的业务报表、静态数据统计模式已无法满足管理层实时监控、快速决策、风险预警的需求。业务驾驶舱作为企业数字化可视化核心载体,可整合多业务系统数据&#…

作者头像 李华