目录
一、环境准备与DM数据库静默安装(麒麟V10)
二、DM数据库实例初始化与核心配置
三、DM数据库备份与还原策略(全量+增量)
四、DM数据库函数用法详解(内置+自定义)
五、DM SQL程序设计思路与实战
六、常见问题解决技巧
七、总结
前言:随着国产化替代进程的推进,麒麟操作系统与达梦(DM)数据库的组合已成为政企级项目的主流选择。本文聚焦实操落地,从DM数据库的静默安装、实例优化配置,到备份还原策略、函数应用,再到SQL程序设计实战,全程配套完整命令与问题解决技巧,适合数据库运维工程师与开发人员快速上手,助力高效完成国产化环境下的数据库部署与开发工作。
一、环境准备与DM数据库静默安装(麒麟V10)
DM数据库支持图形化与静默安装,服务器环境优先选择静默安装(无GUI依赖),以下是完整步骤与注意事项。
1.1 前置环境检查与配置
- 系统环境要求:麒麟Linux Advanced Server V10(x86/ARM架构均可),内存≥4G,磁盘空间≥10G(含安装文件与数据存储)
- 依赖与端口配置:开放21(FTP)、22(SSH)端口,启动sshd服务;安装依赖库(若缺失):
# 检查并安装依赖
yum install -y libaio-devel glibc-devel
- 文件打开数配置:默认1024过小,需调整为65536以上(避免安装与运行报错):
# 临时生效
ulimit -n 65536
# 永久生效(编辑配置文件)
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
1.2 静默安装步骤(以DM8为例)
- 上传镜像并挂载:使用Xftp将DM8镜像文件(如dm8_20211021_x86_rh6_64_ent_8.1.2.84.iso)上传至/opt目录,执行挂载命令:
cd /opt
mount dm8_20211021_x86_rh6_64_ent_8.1.2.84.iso /mnt # 挂载到/mnt目录
- 执行静默安装:通过./DMInstall.bin -i进入交互式静默安装,按提示完成配置:
cd /mnt
./DMInstall.bin -i
# 后续交互配置示例(关键步骤)
请选择安装语言(C/c:中文 E/e:英文) (C/c):c
是否输入Key文件路径? (Y/y:是 N/n:否) (Y/y):n # 无key文件选n
是否设置时区? (Y/y:是 N/n:否) (Y/y):y
请选择设置时区 (21):21 # 选择GTM+08=中国标准时间
安装类型:1 典型安装2 服务器3 客户端4 自定义
请选择安装类型的数字序号 (1 典型安装):2 # 服务器类型(含核心服务)
请选择安装目录 (/opt/dmdbms): # 直接回车使用默认目录
是否确认安装路径(/opt/dmdbms)? (Y/y:是 N/n:否) (Y/y):y
是否确认安装? (Y/y:是 N/n:否):y # 开始安装
- 安装后权限配置:安装完成后会自动创建dmdba用户,需给安装目录赋权(避免后续初始化报错):
chown -R dmdba:dinstall /opt/dmdbms
二、DM数据库实例初始化与核心配置
安装完成后需初始化实例(生成数据文件、日志文件等),关键参数的合理配置直接影响数据库性能,以下是核心步骤。
2.1 实例初始化(dminit工具)
切换至dmdba用户执行初始化命令,核心参数需根据业务场景调整(如页大小、日志大小):
bash |
2.2 核心参数解读与调整
初始化后可通过dm.ini配置文件或SQL语句调整参数,常用核心参数如下:
参数名 | 功能说明 | 推荐值 | 查询命令 |
PAGE_SIZE | 数据文件页大小,影响元组长度支持 | 32K(生产环境) | cat /dm8/data/DM01/dminit*.log | grep "page size" |
LOG_SIZE | 重做日志大小,影响大事务性能 | 2048M | select PATH,RLOG_SIZE/1024/1024 MB from v$rlogfile; |
CASE_SENSITIVE | 大小写敏感开关(1敏感/0不敏感) | 0(开发友好) | select decode(case_sensitive,1,'敏感','不敏感'); |
LENGTH_IN_CHAR | VARCHAR长度是否按字符计算 | 1(避免中文截断) | select para_name,para_value from v$dm_ini where para_name='LENGTH_IN_CHAR'; |
2.3 实例服务注册与启停
bash |
三、DM数据库备份与还原策略(全量+增量)
数据安全核心是备份还原,DM支持物理备份(冷备/热备)与逻辑备份,生产环境建议采用“全量+增量”的备份策略。
3.1 物理备份(推荐生产环境)
物理备份基于数据文件块级备份,恢复速度快,需依赖DMAP服务(安装后默认启动)。
- 冷备(脱机备份):数据库实例关闭状态下执行,适用于全量备份:
# 1. 关闭实例
systemctl stop DmServiceDM01
# 2. 使用dmrman工具备份
su - dmdba
cd /opt/dmdbms/bin
./dmrman
RMAN> BACKUP DATABASE '/dm8/data/DM01/dm.ini' FULL TO BACKUPSET '/dm8/backup/full_20251220';
- 热备(联机备份):实例运行状态下执行,需先开启归档模式:
# 1. 开启归档模式(disql工具执行)
su - dmdba
cd /opt/dmdbms/bin
./disql sysdba/dameng123@localhost:5236 # 默认用户名/密码sysdba/dameng123
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/archive, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=10240'; # 归档路径与大小限制
SQL> ALTER DATABASE OPEN;
# 2. 执行增量热备
RMAN> BACKUP DATABASE '/dm8/data/DM01/dm.ini' INCREMENTAL FROM BACKUPSET '/dm8/backup/full_20251220' TO BACKUPSET '/dm8/backup/inc_20251221';
3.2 物理还原(整库恢复)
bash |
3.3 逻辑备份与还原(dexp/dimp工具)
逻辑备份基于SQL语句导出(表、视图、存储过程等),适用于数据迁移场景:
bash |
四、DM数据库函数用法详解(内置+自定义)
DM提供丰富的内置函数,同时支持自定义函数,以下是高频用法与实战案例。
4.1 常用内置函数
函数类型 | 函数名 | 功能说明 | 示例 |
数值函数 | ROUND(n,m) | 四舍五入,保留m位小数 | ROUND(3.1415,2) → 3.14 |
字符串函数 | SUBSTR(s,pos,len) | 截取字符串,从pos位置取len长度 | SUBSTR('110101199001011234',17,1) → 3 |
日期函数 | SYSDATE() | 获取当前系统时间 | SELECT SYSDATE() FROM DUAL; → 2025-12-20 16:30:00 |
聚合函数 | SUM(col) | 求和 | SELECT SUM(salary) FROM employee; → 总薪资 |
4.2 自定义函数实战(身份证号解析性别)
需求:根据身份证号第17位(奇数男/偶数女)判断性别,创建自定义函数GET_SEX:
sql |
五、DM SQL程序设计思路与实战
DM SQL程序支持流程控制(IF-ELSE、LOOP)、异常处理等,以下以“员工薪资调整”为例,展示程序设计思路与步骤。
5.1 程序设计核心思路
- 需求分析:给部门为“研发部”的员工薪资上涨10%,薪资上限50000元
- 逻辑拆解:① 查询研发部员工;② 循环调整薪资;③ 处理薪资上限;④ 异常捕获
- 语法选型:使用PL/SQL风格的程序块,包含变量声明、循环、条件判断
5.2 实战代码实现
sql |
六、常见问题解决技巧
- 问题1:安装时提示“可打开文件数过少”解决:执行ulimit -n 65536临时调整,同时修改/etc/security/limits.conf文件永久生效(参考1.1节)。
- 问题2:实例启动失败,提示“create dir failed”解决:安装目录或数据目录权限不足,执行chown -R dmdba:dinstall /opt/dmdbms和chown -R dmdba:dinstall /dm8/data赋权。
- 问题3:热备失败,提示“未开启归档模式”解决:按3.1.2节步骤开启归档模式,注意归档路径需存在且有读写权限。
- 问题4:自定义函数调用时提示“标识符不存在”解决:检查函数名大小写(若CASE_SENSITIVE=1需严格匹配),或在函数名前加用户名(如dmdba.GET_SEX)。
七、总结
本文覆盖麒麟操作系统下DM数据库从部署到开发的全流程实操,重点聚焦静默安装、实例优化配置、备份还原策略、函数应用与SQL程序设计,配套完整命令与问题解决方案。实际应用中需结合业务场景调整参数(如页大小、日志大小),同时养成“定期备份+异常监控”的习惯,保障数据库稳定运行。后续可进一步学习DM数据库的高可用配置(主从复制)、性能调优技巧等进阶内容。
附录:参考资料
- 1. 达梦数据库官方文档:https://eco.dameng.com/document/dm/zh-cn/sql-dev/practice-func
- 2. 麒麟系统DM数据库安装指南:https://blog.csdn.net/qq_36852471/article/details/121915552