跳转至

达梦数据库 DM8:Linux(RHEL)入门完整指南

适用读者:DBA、国产数据库评估与实施人员
目标:在一台 Red Hat Linux 服务器上,从 0 完成 DM8 的安装、建库、建用户、建表、查询与备份。


1. DM8 与环境准备

  • 产品:达梦数据库 DM8(64 位)
  • 操作系统:Red Hat Enterprise Linux 7/8/9(x86_64)
  • 角色规划:
  • root:安装软件、配置系统
  • dmdba:达梦数据库运行账户
  • 端口:默认 5236
  • 目录规划示例:
  • 软件目录:/opt/dmdbms
  • 数据目录:/data/dm8/data
  • 备份目录:/backup/dm8

1.1 从官网下载安装包

  1. 访问官网:https://eco.dameng.com 注册/登录账号。
  2. 在【下载中心】选择:
  3. 产品:DM8
  4. 平台:Linux 64 位(x86_64)
  5. 包类型:RPM 或 tar 包(二选一,本指南以 RPM 为例)。
  6. 下载后通过 scp/FTP 上传到目标服务器(例如 /tmp 目录)。

1.2 Linux(RHEL)基础配置

# 1) 创建运行用户
useradd -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba   # 设置一个安全密码

# 2) 创建数据与备份目录
mkdir -p /data/dm8/data /backup/dm8
chown -R dmdba:dmdba /data/dm8 /backup/dm8

# 3) 基本内核与句柄限制(/etc/security/limits.conf)
# 追加:
# dmdba soft nofile 65535
# dmdba hard nofile 65535
# dmdba soft nproc  16384
# dmdba hard nproc  16384

如有 SELinux/防火墙限制,可根据安全规范开放 5236 端口或通过内网访问。


2. 安装 DM8 软件(RPM 示例)

以 root 用户执行:

cd /tmp
rpm -ivh dm8-*.x86_64.rpm
# 安装完成后,默认目录一般为 /opt/dmdbms
ls -l /opt/dmdbms

设置环境变量(给所有用户生效,可写入 /etc/profile.d/dm8.sh):

cat >/etc/profile.d/dm8.sh <<'EOF'
export DM_HOME=/opt/dmdbms
export PATH="$DM_HOME/bin:$PATH"
EOF

source /etc/profile.d/dm8.sh

3. 初始化数据库实例(dminit)

切换到运行用户 dmdba,创建实例数据文件:

su - dmdba
source /etc/profile.d/dm8.sh

/opt/dmdbms/bin/dminit \
  PATH=/data/dm8/data \
  DB_NAME=DM8 \
  INSTANCE_NAME=DM8 \
  PORT_NUM=5236 \
  PAGE_SIZE=32 \
  EXTENT_SIZE=32 \
  LOG_SIZE=1024 \
  CASE_SENSITIVE=0 \
  CHARSET=PG_UTF8

说明: - PATH:数据文件所在目录 - DB_NAME/INSTANCE_NAME:实例名称 - CHARSET:推荐 UTF-8(PG_UTF8),便于多语言字符集

初始化成功后,会生成 dm.ini、数据文件和日志文件。


4. 注册与启动服务

以 root 用户执行服务注册脚本:

/opt/dmdbms/script/root/dm_service_installer.sh -i DM8

systemctl enable DmServiceDM8
systemctl start  DmServiceDM8
systemctl status DmServiceDM8

常见状态: - active (running):服务正常 - 如果启动失败,可查看日志:/opt/dmdbms/log/DmServiceDM8*.log


5. 使用 DISQL 连接数据库

su - dmdba
source /etc/profile.d/dm8.sh

disql SYSDBA/SYSDBA@127.0.0.1:5236
  • 默认管理用户:SYSDBA
  • 默认密码:SYSDBA(生产环境必须尽快修改):
ALTER USER SYSDBA IDENTIFIED BY "NewPwd@2025";

6. 创建表空间、用户与表

6.1 创建表空间

CREATE TABLESPACE TS_DM_DATA
  DATAFILE '/data/dm8/data/TS_DM_DATA01.dbs' SIZE 10240;  -- 单位 MB

6.2 创建业务用户

CREATE USER appuser IDENTIFIED BY "AppUser@123"
  DEFAULT TABLESPACE TS_DM_DATA;

GRANT RESOURCE, PUBLIC TO appuser;

RESOURCE 允许创建表等对象;如需管理权限,可额外授予 DBA(谨慎)。

6.3 连接并创建表

CONNECT appuser/AppUser@123;

CREATE TABLE t_order (
  id        INT PRIMARY KEY,
  order_no  VARCHAR(64),
  amount    NUMERIC(18,2),
  created_at TIMESTAMP
);

INSERT INTO t_order VALUES
  (1, 'ORD001', 100.00, SYSDATE),
  (2, 'ORD002', 200.50, SYSDATE);

SELECT * FROM t_order;

7. DM8 特有常用命令与视图

7.1 常用工具

  • disql:命令行客户端
  • dmrman:物理备份与恢复工具
  • dexp / dimp:逻辑导出/导入
  • dm_svc:服务管理(部分平台)

7.2 常用数据字典视图

-- 查看当前实例参数(INI)
SELECT * FROM V$DM_INI;

-- 会话与连接
SELECT * FROM V$SESSION;

-- 表空间与数据文件
SELECT * FROM DBA_DATA_FILES;

-- 索引与执行计划
SELECT * FROM V$INDEXES;

7.3 参数查询与修改函数

-- 查询参数值
SELECT SF_GET_PARA_VALUE(1, 'MAX_SESSIONS') FROM DUAL;

-- 修改参数(写入 dm.ini,重启后生效或立刻生效视参数类型而定)
CALL SP_SET_PARA_VALUE(2, 'MAX_SESSIONS', 3000);

8. 备份与恢复

8.1 逻辑备份(dexp/dimp)

适合导出单个用户或部分表:

su - dmdba
cd /backup/dm8

dexp appuser/AppUser@123 FILE=appuser.dmp LOG=appuser_dexp.log OWNER=appuser

恢复到同一或其他库:

dimp appuser/AppUser@123 FILE=appuser.dmp LOG=appuser_dimp.log IGNORE=Y

8.2 物理备份(dmrman)

适合整库备份、灾备演练:

su - dmdba
mkdir -p /backup/dm8/full

/opt/dmdbms/bin/dmrman <<'EOF'
backup database full backupset '/backup/dm8/full/full_bak_01';
EOF

恢复时通常步骤为: 1. 停库并挂载备份目录 2. 使用 dmrmanrestore database / recover database 命令 3. 启动数据库并验证业务


9. 小结

通过以上步骤,你已经在 RHEL 上完成:DM8 安装、实例初始化、服务注册、创建用户与表、基本查询以及逻辑/物理备份。后续可结合官方文档与本博客的《达梦 DM8 性能调优与 AI 辅助实践》一文,继续深入参数调优与高可用部署。