1. 产品简介
达梦数据库管理系统(DM8)是基于客户/服务器方式的大型数据库管理系统,支持多种主流操作系统平台。DM8 提供以下产品系列:
| 系列 | 说明 |
|---|---|
| Personal Edition(单机版) | 针对个人用户,提供数据库管理、安全管理、开发支持等基本功能 |
| Standard Edition(标准版) | 面向政府部门、中小型企业及互联网/内部网应用 |
| Enterprise Edition(企业版) | 功能齐全,支持多 CPU、PB 级海量数据存储和大量并发用户,提供数据守护、MPP、共享存储集群等解决方案 |
| Security Edition(安全版) | 拥有企业版所有功能,引入强制访问控制及四权分立安全机制,安全级别达到 EAL4+ 级 |
客户端程序
管理工具:Manager
数据迁移工具:DTS
控制台工具:Console
性能监控工具:Monitor
审计分析工具:Analyzer
ODBC 驱动程序:dodbc
JDBC 驱动程序:DmJdbcDriver.jar
OLEDB 驱动程序:doledb
C Language Tools:一组 C 语言开发的命令行工具
2. 硬件与软件环境需求
2.1 硬件环境需求
| 名称 | 最低要求 |
|---|---|
| CPU | 支持国产与国际主流 CPU 处理器 |
| 内存 | 256MB(建议 512MB 以上) |
| 硬盘 | 5GB 以上可用空间(完全安装需约 1GB) |
| 网卡 | 10M 以上支持 TCP/IP 协议的网卡 |
| 光驱 | 32 倍速以上光驱 |
| 显卡 | 1024×768×256 以上彩色显示 |
| 显示器 | SVGA 显示器 |
2.2 软件环境需求
| 名称 | 要求 |
|---|---|
| 操作系统 | Windows(简体中文服务器版 SP2 以上)/ Linux(glibc 2.3 以上,内核 2.6,已安装 KDE/GNOME 桌面环境,建议预先安装 UnixODBC 组件) |
| 网络协议 | TCP/IP |
| 系统盘 | 至少 1GB 以上剩余空间 |
2.3 支持的操作系统平台
DM for Windows(Windows 2000/2003/XP/Vista/7/8/10/Server 等)
DM for Linux
DM for Solaris
DM for AIX
DM for HP-UNIX
DM for FreeBSD
DM 在代码级全面支持 32 位和 64 位系统。
3. 安装前准备工作
3.1 新建dmdba用户
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
1、创建用户所在得组:
groupadd dinstall -g 2001
2、创建用户:
useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
3、修改用户密码:
passwd dmdba
3.2、修改文件打开最大数
在 Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。
—设置永久生效:
vi /etc/security/limits.conf
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
----登录到dmdba验证:

3.3 目录规划
##实例保存目录
mkdir -p /data/dmdata/data
##归档保存目录
mkdir -p /data/dmdata/arch
##备份保存目录
mkdir -p /data/dmdata/dmbak
修改目录权限
将新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:
chown -R dmdba:dinstall /data/dmdata/data
chown -R dmdba:dinstall /data/dmdata/arch
chown -R dmdba:dinstall /data/dmdata/dmbak
给路径下的文件设置 755 权限:
chmod -R 755 /data/dmdata/data
chmod -R 755 /data/dmdata/arch
chmod -R 755 /data/dmdata/dmbak
3.4 数据库安装
挂载镜像
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置
cd /data/soft
mount dm9_20260509_x86_kylin10_sp1_64.iso /mnt
命令行安装
切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库
su - dmdba
cd /mnt
执行如下命令进行安装。
./DMInstall.bin -i
按需求选择安装语言,没有 key 文件选择 “n”,时区按需求选择一般选择 “21”,
安装类型选择“1”,安装目录按实际情况配置,这里示例使用默认安装位置。
[root@sjtst7 mnt]# ./DMInstall.bin -i
Installer Language:
1) 简体中文
2) English
Please enter an option[2]:1
正在解压安装包...
硬件架构校验通过!
GLIBC VERSION校验通过!
欢迎使用 DM9 安装工具
---------------------------------------------------------------------------------------------------
输入[exit]可退出程序
阅读并同意《DM9许可协议与服务条款》?
1) 阅读
2) 同意并继续
3) 不同意并退出
请输入选项[2]:2
-- 安装配置 ---------------------------------------------------------------------------------------
安装组件 (多选, 逗号分隔):
1) 服务器
2) 客户端工具
请输入选项[1,2]:1,2
所需磁盘空间: 2.23GB
指定安装目录[/opt/dmdbms]:/data/dmsoft
可用磁盘空间: 67.57GB
-- 许可证文件 -------------------------------------------------------------------------------------
未填写许可证文件时,系统将以试用版运行;如需启用安全特性,必须指定有效的许可证文件。
许可证文件路径 (为空使用试用版):
-- 安装小结 ---------------------------------------------------------------------------------------
产品名称: 达梦数据库V9
安装目录: /data/dmsoft
安装内容: 服务器,客户端工具
所需磁盘空间: 2.23GB
可用磁盘空间: 67.57GB
可用内存: 13.79GB
版本信息:
有效日期:
确认安装?[y/n]:y
-- 安装中 -----------------------------------------------------------------------------------------
[*] 正在初始化安装日志...
[✓] 初始化安装日志完成
[*] 正在拷贝文件...
[✓] 拷贝文件完成
[*] 正在修改文件...
[✓] 修改文件完成
[*] 正在修改环境变量...
[✓] 修改环境变量完成
[*] 正在安装服务...
[✓] 安装服务完成
[*] 正在配置...
[✓] 配置完成
-- 安装总结 ---------------------------------------------------------------------------------------
达梦数据库DM9安装完成
安装目录: /data/dmsoft
更多安装信息, 请查看安装日志文件: /data/dmsoft/log/install.log
[root@sjtst7 mnt]#
3.5 配置环境变量
切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入.
export DM_HOME="/data/dmsoft" && export PATH="$PATH:$DM_HOME/bin"
3.6 配置实例
DM 数据库在 Linux 环境支持命令行配置实例以及图形化配置实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中。
[dmdba@sjtst7 ~]$ dminit help
dminit V9
db version: 0x7000d
file dm.key not found, use default license!
License will expire on 2027-04-17
version: 03151060506-20260417-322930-20218
书写格式: ./dminit KEYWORD=<value> {KEYWORD=<value>}
其中{}表示大括号内的关键词可为0~N个,N为正整数,{}本身无需出现在语句中
使用示例: ./dminit PATH=/public/dmdb/dmData PAGE_SIZE=16 SYSDBA_PWD=... SYSAUDITOR_PWD=... [SYSSSO_PWD=...]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
关键词(KEYWORD) 说明 缺省值 是否必选项
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INI_FILE 初始化文件dm.ini存放的路径 无 否
PATH 初始数据库存放的路径 dminit所在目录 否
CTL_PATH 控制文件路径 PATH/DB_NAME/dm.ctl 否
LOG_PATH 日志文件路径 PATH/DB_NAME/DB_NAME01.log 否
PATH/DB_NAME/DB_NAME02.log
EXTENT_SIZE 数据文件使用的簇大小,可选值:16, 32, 64,单位:页 16 否
PAGE_SIZE 数据页大小,可选值:4, 8, 16, 32,单位:K 8 否
LOG_SIZE 日志文件大小,单位为:M,范围为:256M ~ 8G 4096 否
CASE_SENSITIVE 大小写敏感,可选值:Y/N,1/0 Y 否
CHARSET/UNICODE_FLAG 字符集,可选值:0[GB18030],1[UTF-8],2[EUC-KR] 0 否
SEC_PRIV_MODE 权限管理模式,可选值:0[TRADITION],1[BMJ],2[EVAL],3[BAIST],4[ZBMM] 0 否
SYSDBA_PWD 设置SYSDBA密码 无 是
SYSAUDITOR_PWD 设置SYSAUDITOR密码 无 是
DB_NAME 数据库名 DAMENG 否
INSTANCE_NAME 实例名 DMSERVER 否
PORT_NUM 监听端口号 5236 否
BUFFER 系统缓存大小,单位M 8000 否
TIME_ZONE 设置时区 +08:00 否
PAGE_CHECK 页检查模式,可选值:0/1/2/3 3 否
PAGE_HASH_NAME 设置页检查HASH算法 无 否
EXTERNAL_CIPHER_NAME 设置默认加密算法 DES_CFB 否
EXTERNAL_HASH_NAME 设置默认HASH算法 MD5或SHA1 否
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎 无 否
RLOG_ENCRYPT_NAME 设置日志文件加密算法,若未设置,则不加密 无 否
RLOG_POSTFIX_NAME 设置日志文件后缀名,长度不超过10。 log,例如DAMENG01.log 否
USBKEY_PIN 设置USBKEY PIN dm_service.prikey 否
PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、512、4096,单位:Byte 4096 否
ENCRYPT_NAME 设置全库加密算法 无 否
BLANK_PAD_MODE 设置空格填充模式,可选值:0/1 0 否
SYSTEM_MIRROR_PATH SYSTEM数据文件镜像路径 无 否
MAIN_MIRROR_PATH MAIN数据文件镜像 无 否
ROLL_MIRROR_PATH 回滚文件镜像路径 无 否
MAL_FLAG 初始化时设置dm.ini中的MAL_INI 0 否
ARCH_FLAG 初始化时设置dm.ini中的ARCH_INI 0 否
MPP_FLAG Mpp系统内的库初始化时设置dm.ini中的mpp_ini 0 否
CONTROL 初始化配置文件(配置文件格式见系统管理员手册) 无 否
AUTO_OVERWRITE 是否覆盖所有同名文件 0:不覆盖 1:部分覆盖 2:完全覆盖 0 否
USE_NEW_HASH 是否使用改进的字符类型HASH算法 1 否
ELOG_PATH 指定初始化过程中生成的日志文件所在路径 /data/dmsoft/log/ 否
AP_PORT_NUM 分布式环境下协同工作的监听端口 0 否
HUGE_WITH_DELTA 是否仅支持创建事务型HUGE表 1:是 0:否 1 否
RLOG_GEN_FOR_HUGE 是否生成HUGE表REDO日志 1:是 0:否 1 否
PSEG_MGR_FLAG 是否仅使用管理段记录事务信息 1:是 0:否 0 否
CHAR_FIX_STORAGE CHAR是否按定长存储,可选值:Y/N,1/0 N 否
SQL_LOG_FORBID 是否禁止打开SQL日志,可选值:Y/N,1/0 N 否
DPC_MODE 指定DPC集群中的实例角色 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替 0 否
USE_DB_NAME 路径是否拼接DB_NAME 1:是 0:否 1 否
MAIN_DBF_PATH MAIN数据文件存放路径 PATH/DB_NAME 否
SYSTEM_DBF_PATH SYSTEM数据文件存放路径 PATH/DB_NAME 否
ROLL_DBF_PATH ROLL数据文件存放路径 PATH/DB_NAME 否
TEMP_DBF_PATH TEMP数据文件存放路径 PATH/DB_NAME 否
ENC_TYPE 数据库内部加解密使用的加密接口类型, 可选值: 1: 优先使用EVP类型 0: 不启用EVP类型 1 否
RANDOM_CRYPTO 随机数算法所在加密引擎名 无 否
DPC_TENANCY 指定DPC集群是否启用多租户模式 0:不启用 1:启用,取值0/1时也可以用FALSE/TRUE代替 0 否
AUTO_ADJ_PARA 是否开启INI参数自动调优 0:否 1:是 1 否
AUTO_ADJ_CPUS 指定数据库可用CPU核数进行INI参数自动调优,AUTO_ADJ_PARA打开才生效 可选值:0~64,0:默认使用当前机器所有核 0 否
AUTO_ADJ_MEM 指定数据库可用内存大小进行INI参数自动调优,AUTO_ADJ_PARA打开才生效 单位:MB,0:默认使用当前机器80%%的内存 0 否
PAGE_CHKSUM_POLICY 是否对于数据页的每一个4K块生成校验码 0:否 1:是 1 否
DB_ROLE 指定数据库角色,0:NDB; 1:SDB; 2:UDB 0 否
UDB_PATH 设置用户数据库INI文件根路径 无 否
DMLSNR_PORT Windows下指定用户库INI中监听进程端口 0 否
DMLSNR_UXSOCK_PATHNAME 设置用户库INI中监听进程UNIX域协议路径 无 否
NETSVR_SHM_KEY 指定本地网络服务器的共享内存Key 0 否
HELP 打印帮助信息 无 否
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[dmdba@sjtst7 ~]$
需要注意的是 页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 、空格填充模式 (BLANK_PAD_MODE) 、页检查模式(PAGE CHECK) 等部分参数,一旦确定无法修改,在初始化实例时确认需求后谨慎设置。
部分参数解释如下:
•page_size:数据文件使用的页大小。取值范围 4、8、16、32,单位:KB。缺省值为 8。可选参数。选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降。数据库创建成功后无法再修改页大小,可通过系统函数 SF_GET_PAGE_SIZE()获取系统的页大小。
•extent_size:数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值范围 16、32、64。单位:页数。缺省值为 16。可选参数。数据库创建成功后无法再修改簇大小,可通过系统函数 SF_GET_EXTENT_SIZE()获取系统的簇大小。
•case_sensitive: 标识符大小写敏感。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,系统比较函数会将大写字母全部转为小写字母再进行比较。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。缺省值为 Y。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_CASE_SENSITIVE_FLAG()或 CASE_SENSITIVE()查询设置的参数置。
•charset:字符集选项。取值范围 0、1、2。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_UNICODE_FLAG()或 UNICODE()查询设置的参数置。
•BLANK_PAD_MODE:设置字符串比较时,结尾空格填充模式是否兼容 ORACLE。1:兼容;0:不兼容。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过查询 V$PARAMETER 中的 BLANK_PAD_MODE 参数名查看此参数的设置值。
•PAGE_CHECK:PAGE_CHECK 为页检查模式。取值范围 0、1、2、3。0:禁用页校验;1:开启页校验并使用 CRC 校验;2:开启页校验并使用指定的 HASH 算法进行校验;3:开启页校验并使用快速 CRC 校验。缺省值为 3。可选参数。在数据库创建成功后无法修改。
在实际使用中,初始化时建议提前设置好 COMPATIBLE_MODE 的参数值,便于更好的兼容其他数据库。
参数说明:是否兼容其他数据库模式。
0:不兼容,
1:兼容 SQL92 标准,
2:部分兼容 ORACLE,
3:部分兼容 MS SQL SERVER,
4:部分兼容 MYSQL,
5:兼容 DM6,
6:部分兼容 TERADATA,
7:部分兼容 POSTGRES。
建库命令示例:
./dminit path=/data/dmdata/dbdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER BLANK_PAD_MODE=1 PAGE_CHECK=3 PORT_NUM=5237
其他根据实际情况,进行选择参考建库
dminit path=/data/dmdata/data \
PAGE_SIZE=32 \
EXTENT_SIZE=32 \
CASE_SENSITIVE=y \
CHARSET=1 \
DB_NAME=DMTEST \
INSTANCE_NAME=DBSERVER \
BLANK_PAD_MODE=1 \
PAGE_CHECK=3 \
PORT_NUM=5237 \
SYSDBA_PWD=ShanjiaTst123 \
SYSAUDITOR_PWD=ShanjiaAudit567

命令行注册服务
DM 提供了将 DM 服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/script/root”子目录下。
注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务。注册服务需使用 root 用户进行注册,使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:
sh /data/dmsoft/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/data/DMTEST/dm.ini -p DMTEST


进入数据安装目录下 bin 目录中可以看到已经注册好的服务 DmServiceDMTEST。

启停数据库
服务注册成功后,启动数据库。
使用 dmdba 用户进入 DM 安装目录下的 bin 目录下,启动数据库,如下所示:
cd /data/dmsoft/bin

查看数据库状态:

连接数据库
[dmdba@sjtst7 ~]$ disql SYSDBA/ShanjiaTst123@192.168.40.156:5237
服务器[192.168.40.156:5237]:处于普通打开状态
登录使用时间 : 2.403(ms)
disql V9
SQL>
PS:卸载 DM9
Linux 图形化卸载
#进入 DM 安装目录
cd /DM_INSTALL_PATH
# 执行卸载脚本
./uninstall.sh
卸载步骤:
1. 弹出确认对话框,点击"确定";
2. 查看卸载目录信息,点击"卸载";
3. 等待卸载进度完成;
4. 非 root 用户卸载完成后,会提示以 root 身份执行 root_uninstaller.sh 脚本;
5. 点击"完成"结束卸载。
Linux 命令行卸载
./uninstall.sh -i
卸载步骤:
1. 确认是否卸载:输入 y/Y 继续;
2. 显示卸载进度,自动删除服务、快捷方式及目录;
3. 卸载完成后,根据提示手动执行 root 脚本。
至此,DM9安装已经解锁了,




