达梦数据库 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