跳转至

达梦数据库 DM8:入门与安装实践

适用读者:DBA、国产数据库迁移/替代评估人员 目标:完成 DM8 基础安装、创建库表、备份恢复与常见问题处理。


1. DM8 概述

  • 类型:国产自研关系型数据库,支持 SQL/PL,兼容 Oracle/MySQL 语法与驱动的迁移
  • 版本:DM8(当前主流),支持国产化 OS/CPU
  • 典型场景:政企、金融、能源、电信

2. 安装(Linux RPM 示例)

依赖:内存 ≥ 8GB,磁盘 ≥ 100GB,端口默认 5236

# 1) 安装
rpm -ivh dm8-2023-x86_64.rpm
/opt/dmdbms/script/root/dm_service_installer.sh -i  # 注册服务

# 2) 初始化库
/opt/dmdbms/bin/dminit PATH=/data/dm/data DB_NAME=DM8 \
  PORT_NUM=5236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=1024 \
  CASE_SENSITIVE=0 CHARSET=PG_UTF8

# 3) 启动服务
systemctl enable DmServiceDM8 && systemctl start DmServiceDM8
systemctl status DmServiceDM8

3. 基础使用

# 命令行客户端 DISQL
disql SYSDBA/SYSDBA@127.0.0.1:5236
-- 创建用户与表空间
CREATE TABLESPACE TS_DATA DATAFILE '/data/dm/data/TS_DATA.dbs' SIZE 10240;
CREATE USER demo IDENTIFIED BY "Demo@123" DEFAULT TABLESPACE TS_DATA;
GRANT RESOURCE, PUBLIC, DBA TO demo;

-- 创建表与数据
CONNECT demo/Demo@123;
CREATE TABLE t1(id INT PRIMARY KEY, name VARCHAR(50));
INSERT INTO t1 VALUES(1,'hello'),(2,'dm8');
SELECT * FROM t1;

4. 备份与恢复

-- 逻辑备份
dexp demo/Demo@123 FILE '/backup/demo.dmp' LOG '/backup/dexp.log' OWNER=demo
-- 逻辑恢复
DIMP demo/Demo@123 FILE '/backup/demo.dmp' LOG '/backup/dimp.log' IGNORE=Y
# 物理备份(dmrman)
/opt/dmdbms/bin/dmrman <<'EOF'
backup database full backupset '/backup/full_bak';
EOF

5. 兼容与迁移提示

  • Oracle 迁移:函数/包/序列存在差异,使用官方迁移工具评估与改写
  • MySQL 迁移:日期/字符集、大小写敏感、事务隔离注意
  • 字符集:推荐 UTF-8(PG_UTF8)

6. 常见问题

  • 启动失败:查看 /opt/dmdbms/log/DmService* 日志
  • 连接错误 -700:用户/密码,或权限不足
  • 编码乱码:初始化选择合适字符集,客户端一致

7. 最佳实践

1) 独立数据/日志盘;2) 定期全量+增量备份;3) 审计开启与日志留存;4) 监控与告警;5) 变更审批与版本管理


参考: - DM8 文档 https://eco.dameng.com