news 2026/8/12 12:36:39

基于CentOS7 DM8单机部署配置记录-20251216

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于CentOS7 DM8单机部署配置记录-20251216

前言

学习动力,源于兴趣和需求,最近接到内部需求,说要本地部署一个DM8给开发同学进行做开发适配,然后就开始了进行部署之旅。

下载地址如下:

DM官方下载地址

选择对应版本,进行下载安装包。

一、安装前准备

1、新建用户

安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。

groupadd dinstall -g 2001 useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba passwd dmdba

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、目录规划、创建及授权

mkdir -p /data/dm8/Server mkdir -p /data/dm8/data mkdir -p /data/dm8/arch chown -R dmdba:dinstall /data/dm8 chmod -R 755 /data/dm8

二、开始进行数据库安装

1、挂载镜像

切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置

cd /data/soft/dm8 mount -o loop dm8_20251016_x86_CentOS7_64.iso /mnt

2、命令行安装

切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库
su - dmdba
cd /mnt

3、执行命令安装

./DMInstall.bin -i

按需求选择安装语言,没有 key 文件选择 "n",时区按需求选择一般选择 “21”,安装类型选择“1”,安装目录按实际情况配置。

。。。。。

安装过程比较简单,不做介绍,根据提示选择即可。
以普通用户执行安装,需要使用root用户单独执行:
/data/dm8/Server/script/root/root _installer.sh

4、配置环境变量

切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入.

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/data/dm8/Server/bin" export DM_HOME="/data/dm8/Server" export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

5、配置实例

DM 数据库在 Linux 环境支持命令行配置实例以及图形化配置实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中。

需要注意的是 页大小 (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 的参数值,便于更好的兼容其他数据库。

./dminit path=/data/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=N CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237 SYSDBA_PWD=********* SYSAUDITOR_PWD=**********

6、命令行注册服务

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

[root@dbtest root]# ./dm_service_installer.sh -t dmserver -dm_ini /data/dm8/data/DMTEST/dm.ini -p DMTEST Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMTEST.service to /usr/lib/systemd/system/DmServiceDMTEST.service. 创建服务(DmServiceDMTEST)完成 ###启动数据库 [root@dbtest root]# systemctl start DmServiceDMTEST [root@dbtest root]# systemctl status DmServiceDMTEST ● DmServiceDMTEST.service - DM Instance Service(DmServiceDMTEST). Loaded: loaded (/usr/lib/systemd/system/DmServiceDMTEST.service; enabled; vendor preset: disabled) Active: active (running) since 一 2025-12-15 17:28:37 CST; 9s ago Process: 1890 ExecStart=/data/dm8/Server/bin/DmServiceDMTEST start (code=exited, status=0/SUCCESS) Main PID: 1913 (dmserver) CGroup: /system.slice/DmServiceDMTEST.service └─1913 /data/dm8/Server/bin/dmserver path=/data/dm8/data/DMTEST/dm.ini -noconsole

7、验证和连接数据库

8、兼容性参数设置

--开启MySQL语法兼容模式(核心参数) SP_SET_PARA_VALUE(2, 'COMPATIBLE_MODE', 4); -- 参数值说明: 0:不兼容, 1:兼容 SQL92 标准 2:兼容 ORACLE 3:兼容 MS SQL SERVER 4:兼容 MYSQL 5:兼容 DM6 6:兼容 TERADATA。 -- 设置JSON语法解析兼容MySQL模式 SP_SET_PARA_VALUE(2, 'JSON_MODE', 2); -- 兼容MySQL模式下大字段比较处理 SP_SET_PARA_VALUE(1, 'ENABLE_BLOB_CMP_FLAG', 2); -- 开启存储过程同义词 sp_set_para_value(1,'ENABLE_PL_SYNONYM',1); --兼容MySQL的GROUP BY宽松模式 SP_SET_PARA_VALUE(1, 'GROUP_OPT_FLAG', 0); -- 0:宽松模式(匹配MySQL) -- 1:严格模式(达梦默认,遵循SQL标准)

执行设置之后需要重启数据库生效,重启之后验证:

好了,本次DM8配置安装过程就结束了,还是比较简单的,后续再做其他分享。

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

修改Dify默认80端口的完整配置方法

修改Dify默认80端口的完整配置方法 在部署像 Dify 这样的现代化 AI 应用开发平台时,我们常常会遇到一个看似简单却极易出错的问题:端口冲突。尤其是当服务器上已有 Nginx、Apache 或其他 Web 服务正在运行时,默认监听 80/443 端口的服务根本…

作者头像 李华
网站建设 2026/8/11 5:49:08

LobeChat能否用于编写Prometheus监控规则?SRE运维提效

LobeChat能否用于编写Prometheus监控规则?SRE运维提效 在现代云原生环境中,服务的稳定性依赖于强大的可观测性体系。作为这一生态中的核心组件,Prometheus 承担着指标采集、存储与告警的关键职责。然而对于许多SRE工程师来说,真正…

作者头像 李华
网站建设 2026/8/11 12:59:39

AnythingLLM Windows安装指南

AnythingLLM Windows 安装与配置实战指南 在本地部署一个能理解你所有文档的 AI 助手,听起来像未来科技?其实只需要一台普通电脑、一点耐心,再跟着这份实操手册走一遍——你就能拥有一个完全私有、数据不出内网的智能知识库系统。 Anything…

作者头像 李华
网站建设 2026/8/12 7:37:38

互联网大厂Java面试故事:谢飞机的奇妙旅程

互联网大厂Java面试故事:谢飞机的奇妙旅程 第一轮面试:基础知识考察 面试官(严肃):请你讲一下Java中JVM的内存结构是怎样的? 谢飞机(搞笑):JVM的内存结构嘛,就…

作者头像 李华
网站建设 2026/8/12 8:22:29

本地部署LLaMA-Factory并微调大模型

本地部署LLaMA-Factory并微调大模型 在如今人人都能接触大语言模型的时代,真正的问题已经不再是“能不能用”,而是“怎么让它听我的”。我们不再满足于通用模型泛泛的回答——企业需要懂行业术语的客服助手,教育机构想要会讲题的AI老师&…

作者头像 李华