达梦数据库 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 从官网下载安装包
- 访问官网:https://eco.dameng.com 注册/登录账号。
- 在【下载中心】选择:
- 产品:DM8
- 平台:Linux 64 位(x86_64)
- 包类型:RPM 或 tar 包(二选一,本指南以 RPM 为例)。
- 下载后通过
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. 使用 dmrman 的 restore database / recover database 命令
3. 启动数据库并验证业务
9. 小结
通过以上步骤,你已经在 RHEL 上完成:DM8 安装、实例初始化、服务注册、创建用户与表、基本查询以及逻辑/物理备份。后续可结合官方文档与本博客的《达梦 DM8 性能调优与 AI 辅助实践》一文,继续深入参数调优与高可用部署。