基于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配置安装过程就结束了,还是比较简单的,后续再做其他分享。

相关推荐
我科绝伦(Huanhuan Zhou)16 小时前
DM数据库物理存储结构深度解析与理论实践
数据库·oracle
霖霖总总16 小时前
[小技巧23]全面理解 MySQL 的 WAL 机制:原理、影响与可观测性
数据库·mysql
列御寇16 小时前
MongoDB分片集概述
数据库·mongodb
又是忙碌的一天17 小时前
SpringMVC响应
java·服务器·数据库
W001hhh17 小时前
260110
java·数据库
冰暮流星17 小时前
sql语句之select语句的基本使用
数据库·sql·mysql
vyuvyucd18 小时前
插件式开发:C++与C#实战指南
java·前端·数据库
少云清18 小时前
【性能测试】3_性能测试基础 _指标
运维·服务器·数据库·性能测试·性能测试指标
+VX:Fegn089518 小时前
计算机毕业设计|基于springboot + vue物流配送中心信息化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·小程序·课程设计
列御寇18 小时前
MongoDB分片集群——集群组件概述
数据库·mongodb