注册
达梦同行者征文|DM9单机部署全记录:从环境到连接
专栏/技术分享/ 文章详情 /

达梦同行者征文|DM9单机部署全记录:从环境到连接

jiayou 2026/09/10 38 0 0
摘要

前言

达梦数据库管理系统DM9是武汉达梦数据库股份有限公司于2026年4月正式发布的第9代迭代产品,在DM8基础上完成了450余项新特性升级。DM9采用“集中式+分布式+TP+AP+AI”一体化架构,一套代码支持集中式与分布式两种部署模式,并内置向量引擎与智能体技术。

本文基于Red Hat Enterprise Linux 7.9 x86_64环境,使用dm9_20260514_x86_centos7_64.iso安装介质,通过命令行方式完成DM9单机版的完整安装部署。文章涵盖从环境准备、软件安装、实例初始化、服务注册到连接验证的全流程,适合初次上手DM9的运维人员与开发人员参考。

第一章 安装前准备

1.1 环境规划

规范化部署是生产环境稳定运行的基础,建议提前做好目录与资源规划。

项目 规划内容 说明
操作系统 Red Hat Enterprise Linux 7.9 / CentOS 7 / Kylin V10 x86_64架构,Glibc 2.12及以上版本
主机IP 192.168.126.156 根据实际环境调整
安装用户 dmdba 专属数据库管理用户
用户组 dinstall 专属数据库管理组
软件安装目录 /opt/dm/dmdbms 存放数据库软件
数据目录 /dmdata/data 存放实例数据文件
归档目录 /dmdata/arch 存放归档日志
备份目录 /dmdata/bak 存放备份文件
监听端口 5236 达梦默认端口,取值范围1024~65534

1.2 操作系统要求

  • 架构:x86_64(安装包必须与CPU架构严格匹配,否则会报可执行文件格式错误)
  • 依赖包:Glibc 2.12以上,内核2.6以上,建议安装UnixODBC组件
  • 内存:建议4GB以上
  • 磁盘:建议预留50GB以上(软件约2.2GB,数据及归档视业务量而定)

1.3 介质获取

达梦数据库安装包可通过官方下载页面获取:

  • 官方地址:https://www.dameng.com/list_103.html
  • 本次介质dm9_20260514_x86_centos7_64.iso
  • 版本类型:企业版(试用版有效期约一年)

1.4 DM9产品系列简介

DM9提供多种产品系列,用户可根据实际需求选择:

  • 标准版(Standard Edition):面向政府部门、中小型企业及互联网/内部网应用
  • 企业版(Enterprise Edition):支持多CPU、PB级海量数据存储及大量并发用户,提供数据守护、MPP、数据共享集群、分布计算集群等解决方案
  • 安全版(Security Edition):拥有企业版所有功能,增加强制访问控制、四权分立安全机制,安全级别达ISO/IEC 15408 EAL4+级

第二章 操作系统环境配置

2.1 关闭防火墙与SELinux

测试环境中建议关闭防火墙和SELinux,避免安装过程中的网络和权限问题。

# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭SELinux(临时生效) setenforce 0 # 永久关闭(修改配置文件) sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2.2 创建用户和组

达梦数据库严禁使用root用户安装和运行,必须创建专属用户。

# 创建用户组 groupadd -g 4001 dinstall # 创建用户(指定UID、主组、家目录) useradd -u 4001 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba # 设置密码(请使用强密码) passwd dmdba

参数说明-g指定主组,-m创建家目录,-d指定家目录路径,-s指定登录Shell。

2.3 创建目录并授权

# 创建软件安装目录 mkdir -p /opt/dm/dmdbms # 创建数据、归档、备份目录 mkdir -p /dmdata/data mkdir -p /dmdata/arch mkdir -p /dmdata/bak # 修改目录属主和属组 chown -R dmdba:dinstall /opt/dm chown -R dmdba:dinstall /dmdata # 设置目录权限 chmod -R 755 /opt/dm chmod -R 755 /dmdata

2.4 配置系统资源限制

达梦数据库在高并发场景下需要打开大量文件,需调整系统限制。

编辑/etc/security/limits.conf文件,添加以下内容:

cat >> /etc/security/limits.conf << EOF dmdba soft core unlimited dmdba hard core unlimited dmdba soft nofile 65535 dmdba hard nofile 65535 dmdba soft nproc 65535 dmdba hard nproc 65535 dmdba soft data unlimited dmdba hard data unlimited EOF

注意:修改该文件后需重新登录dmdba用户才能生效。可使用ulimit -n验证,预期输出应为65535。

2.5 配置内核参数

编辑/etc/sysctl.conf,添加数据库相关内核参数:

cat >> /etc/sysctl.conf << EOF kernel.sem = 250 32000 100 128 fs.file-max = 6553500 vm.swappiness = 10 vm.overcommit_memory = 0 fs.aio-max-nr = 1048576 EOF # 使配置生效 sysctl -p

2.6 挂载安装介质

# 使用root用户挂载ISO镜像 mount -o loop /root/dm9_20260514_x86_centos7_64.iso /mnt/ # 查看挂载内容 ls -l /mnt/ # 应能看到 DMInstall.bin 等文件

第三章 软件安装

3.1 命令行方式安装

对于无图形界面的服务器环境,推荐使用命令行方式进行安装。DM9提供了与DM8兼容的命令行安装方式。

# 切换至dmdba用户 su - dmdba # 进入挂载目录 cd /mnt/ # 执行命令行安装 ./DMInstall.bin -i

安装过程交互如下:

步骤1:系统校验与选择安装语言

安装程序会自动检查GLIBC_VERSION和硬件架构,校验通过后继续执行。

安装语言:
  1) 简体中文
  2) English
请输入选项[1]:1

步骤2:许可协议

阅读并同意《DM9许可协议与服务条款》?
  1) 阅读
  2) 同意并继续
  3) 不同意并退出
请输入选项[2]:2

步骤3:选择安装组件

安装组件 (多选, 逗号分隔):
  1) 服务器
  2) 客户端工具
请输入选项[1,2]:1,2

说明:DM客户端程序主要包括管理工具Manager、数据迁移工具DTS、控制台工具Console、性能监控工具Monitor、审计分析工具Analyzer,以及ODBC、JDBC、DPI、Python、PHP等各类驱动程序。

步骤4:指定安装目录

指定安装目录[/home/dmdba/dmdbms]:/opt/dm/dmdbms

步骤5:许可证文件

请输入Key文件的路径地址[dm.key]:
# 直接回车跳过,使用试用版,有效期约一年

步骤6:确认安装

确认安装?[y/n]:y

安装成功后显示:

达梦数据库DM9安装完成
安装目录: /opt/dm/dmdbms
请以root用户执行脚本: /opt/dm/dmdbms/script/root/root_installer.sh

3.2 注册系统服务

# 切换至root用户 su - root # 执行安装脚本 /opt/dm/dmdbms/script/root/root_installer.sh

执行成功后,DM9会注册以下系统服务:

移动 /opt/dm/dmdbms/dm_svc.conf 到/etc目录
创建DmAuditMonitorService服务
创建服务(DmAuditMonitorService)完成
创建DmJobMonitorService服务
创建服务(DmJobMonitorService)完成
创建DmInstanceMonitorService服务
创建服务(DmInstanceMonitorService)完成
创建DmAPService服务
创建服务(DmAPService)完成
启动DmAPService服务

与DM8的差异:DM9新增了3个监控服务——DmAuditMonitor(实时审计监控)、DmJobMonitor(实时作业监控)、DmInstanceMonitor(实例实时监控),这是DM9在可观测性方面的重要增强。这三类服务均为单实例服务,即一个DM系统各只需运行一个。

3.3 环境变量配置

安装程序会自动在/home/dmdba/.bash_profile中配置环境变量:

cat /home/dmdba/.bash_profile | grep DM # 应显示:export DM_HOME="/opt/dm/dmdbms" && export PATH="$PATH:$DM_HOME/bin"

如果未自动配置,可手动添加:

echo 'export DM_HOME=/opt/dm/dmdbms' >> /home/dmdba/.bash_profile echo 'export PATH=$PATH:$DM_HOME/bin' >> /home/dmdba/.bash_profile source /home/dmdba/.bash_profile

第四章 初始化数据库实例

4.1 关键参数说明

以下参数一经设置,在数据库生命周期内无法更改,务必谨慎选择。

参数 含义 推荐值 说明
PAGE_SIZE 数据页大小 32 可选4/8/16/32,单位KB,缺省8。页越大单条记录长度上限越大,但空间利用率可能下降
EXTENT_SIZE 簇大小 32 可选16/32/64,单位页,缺省16。每次分配段空间时连续的页数
CASE_SENSITIVE 大小写敏感 视业务而定 可选Y/N/1/0,缺省Y。Oracle迁移建议Y,MySQL迁移建议N
CHARSET/UNICODE_FLAG 字符集 1(UTF-8)或0(GB18030) 0=GB18030(支持GB18030-2022版本),1=UTF-8(支持UNICODE 12.0版本),2=EUC-KR
LOG_SIZE 单个重做日志大小 2048 64位版取值范围2568192MB,缺省4096MB;32位版2562048MB,缺省2048MB
DB_NAME 数据库名称 DAMENG 仅支持_、$、字母数字组合,不超过128字符,首字符不能是数字
INSTANCE_NAME 实例名称 DMSERVER 仅支持_、$、字母数字组合,不超过16字符,首字符不能是数字
PORT_NUM 监听端口 5236 取值范围1024~65534
SYSDBA_PWD SYSDBA密码 自定义 必须符合口令策略,包含大小写字母和数字,不能与用户名相同
SYSAUDITOR_PWD 审计员密码 自定义 必须符合口令策略,包含大小写字母和数字

4.2 dminit工具简介

dminit是DM数据库的初始化命令行工具,位于安装目录的/bin目录下。系统管理员可通过其提供的各种参数,设置数据库存放路径、页大小、簇大小、大小写敏感、字符集等,创建出满足用户需要的数据库。

语法格式

dminit KEYWORD=value { KEYWORD=value }

注意:参数、等号和值之间不能有空格(例如PAGE_SIZE=16)。不带参数运行dminit时,系统会引导用户进行设置。可使用dminit HELP查看帮助信息。

4.3 命令行方式初始化

# 切换至dmdba用户 su - dmdba cd /opt/dm/dmdbms/bin # 执行初始化(请将密码替换为强密码) ./dminit PATH=/dmdata/data \ PAGE_SIZE=32 \ EXTENT_SIZE=32 \ CASE_SENSITIVE=Y \ CHARSET=1 \ LOG_SIZE=2048 \ DB_NAME=DAMENG \ INSTANCE_NAME=DMSERVER \ PORT_NUM=5236 \ SYSDBA_PWD=Dameng@2026 \ SYSAUDITOR_PWD=Audit@2026

执行成功输出:

initdb V9
db version: 0x7000d          # 0x7000d 标识DM9
file dm.key not found, use default license!
License will expire on 2027-04-17
create dm database success. 2026-09-06 08:19:36

4.4 注册实例服务

使用dm_service_installer.sh脚本将实例注册为操作系统服务。

# 切换至root用户 su - root # 注册实例服务 /opt/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver \ -dm_ini /dmdata/data/DAMENG/dm.ini \ -p DMSERVER

成功输出:

Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
创建服务(DmServiceDMSERVER)完成

4.5 启动数据库实例

# 启动实例 systemctl start DmServiceDMSERVER # 查看状态 systemctl status DmServiceDMSERVER # Active: active (running) # 设置开机自启 systemctl enable DmServiceDMSERVER

第五章 连接验证与服务管理

5.1 连接数据库

# 切换至dmdba用户 su - dmdba cd /opt/dm/dmdbms/bin

密码不含特殊字符的连接方式

密码不含@等特殊字符时,直接使用双引号包裹即可:

./disql SYSDBA/"Sysdba_123"@localhost:5236

密码含特殊字符(如@)的连接方式

密码含@时,必须使用单引号包裹密码,再整体用双引号括起,避免Shell和disql解析器将@误判为连接分隔符:

./disql SYSDBA/'"Dameng@2026"'@127.0.0.1:5236

验证结果(实测通过):

服务器[127.0.0.1:5236]:处于普通打开状态
登录使用时间 : 5.715(ms)
disql V9

省略主机名,使用默认localhost同样可行:

./disql SYSDBA/'"Dameng@2026"':5236 服务器[LOCALHOST:5236]:处于普通打开状态 登录使用时间 : 5.050(ms) disql V9

错误的写法

以下写法会导致 @ 被误解析为连接分隔符,报错提示将密码的一部分当作主机名:

# ❌ 错误写法——密码中的@被当作分隔符 ./disql SYSDBA/"Dameng@2026"@localhost:5236 # 报错: comm_inet_server_connect_port cannot get the address information, servername is 2026@localhost

根本原因:即使外层加了双引号,disql解析器内部仍会将密码中的@识别为&lt;username>/&lt;password>@&lt;host>语法中的分隔符,导致实际解析为SYSDBA/Dameng@2026@localhost:5236,主机名变成2026@localhost

连接方式对比总结

密码情况 命令 说明
不含特殊字符 disql SYSDBA/"Sysdba_123"@localhost:5236 双引号包裹即可
含@ disql SYSDBA/'"Dameng@2026"'@127.0.0.1:5236 单引号+双引号嵌套,推荐
含@(省略主机名) disql SYSDBA/'"Dameng@2026"':5236 默认localhost
含@(交互式,最安全) disql /nologCONN SYSDBA/'"Dameng@2026"'@127.0.0.1:5236 密码不暴露在命令行历史中

关键技术要点'"Dameng@2026"' 中,最外层双引号由Shell解析,用于保护空格等特殊字符不被Shell拆分;内层单引号由disql解析器识别,用于将密码中的@作为普通字符处理,而不是连接分隔符。

5.2 验证SQL

-- 查看实例状态 SELECT INSTANCE_NAME, STATUS$ FROM V$INSTANCE; -- 预期:DMSERVER | OPEN -- 查看版本信息 SELECT * FROM V$VERSION; -- 预期:DM Database Server 64 V9, DB Version: 0x7000d -- 查看数据库信息 SELECT NAME, CREATE_TIME, ARCH_MODE FROM V$DATABASE; -- 预期:DAMENG | 2026-09-06 08:19:36 | N(未开启归档) -- 查看数据页大小(建库后不可修改) SELECT SF_GET_PAGE_SIZE(); -- 查看簇大小(建库后不可修改) SELECT SF_GET_EXTENT_SIZE(); -- 查看大小写敏感标志(建库后不可修改) SELECT SF_GET_CASE_SENSITIVE_FLAG();

5.3 服务管理命令汇总

操作 命令
启动 systemctl start DmServiceDMSERVER
停止 systemctl stop DmServiceDMSERVER
重启 systemctl restart DmServiceDMSERVER
状态 systemctl status DmServiceDMSERVER
开机自启 systemctl enable DmServiceDMSERVER
关闭自启 systemctl disable DmServiceDMSERVER

5.4 DM9服务脚本体系

DM9中的服务脚本分为两类:

第一类(不支持修改模板名称,位于bin目录下):每个DM系统只需运行一个

  • DmAPService — DM辅助进程服务
  • DmAuditMonitorService — 实时审计监控服务(DM9新增)
  • DmJobMonitorService — 实时作业监控服务(DM9新增)
  • DmInstanceMonitorService — 实例实时监控服务(DM9新增)

第二类(支持修改模板名称,位于bin/service_template目录下):可在同一物理机器上运行一个或多个

  • DmServer — 数据库实例服务
  • DmWatchService — 守护进程服务
  • DmMonitorService — 监视器服务
  • DmASMSvrService / DmASMSvrmService — ASM相关服务
  • DmCSService / DmCSSMonitorService — CSS相关服务

第六章 DM9核心特性速览

6.1 DM9与DM8对比

对比维度 DM8 DM9
架构模式 集中式为主 集中式+分布式一体化
版本号标识 0x7000a/b 0x7000d
监控服务 DmAPService 新增AuditMonitor/JobMonitor/InstanceMonitor
安装与建库 分步操作 图形化安装可一步完成
回滚表空间管理 事务独占回滚页 多事务共享,空间利用率提升
性能 单机TPC-C提升100%,TPC-H提升126%
升级路径 DM8用户可平滑升级至DM9

6.2 DM9关键特性

  • 集中式与分布式一体化:一套代码,支持集中式与分布式两种部署模式,业务无需中断、数据无需迁移
  • TP+AP混合负载:一套数据库同时支撑实时交易和数据分析
  • DB+AI融合:原生支持向量数据存储与检索,内置数据库设计智能体和运维智能体
  • 多租户支持:内核级多租户数据库技术,租户数据和负载可在线迁移

结语

DM9作为达梦数据库的里程碑式版本,在架构、性能、智能化等方面实现了全面跃升。其单机部署方式延续了DM8的成熟操作习惯,命令行安装流程高度一致,这使得从DM8向DM9的迁移具备了平滑的技术路径。与此同时,DM9新增的AuditMonitor、JobMonitor、InstanceMonitor三大监控服务,以及集中式与分布式一体化的架构能力,为数据库的可观测性和可扩展性提供了更强支撑,也让技术团队在部署之初就能享受到版本升级带来的长期红利。

本文以一次真实的安装过程为线索,完整呈现了从环境准备到连接验证的各个环节。全文贯穿着两个核心原则:一是关键参数(页大小、字符集、大小写敏感)必须在建库前确定,因为一经设置便无法更改;二是连接环节需注意密码特殊字符的转义处理,这是大量初次使用者容易卡住的地方。掌握了这两点,单机部署便不再是难题。

当数据库成功启动、disql提示符出现的那一刻,您已经完成了DM9单机部署的最关键一步。接下来,无论是开启归档、配置SQL日志,还是进一步探索数据守护集群、读写分离等高级特性,都可以从容推进——达梦官方文档(位于$DM_HOME/doc目录)和社区资源将为您提供持续的技术支撑。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服