1. 达梦数据库服务器版安装全指南
作为国产数据库的领军产品,达梦数据库在企业级应用中扮演着越来越重要的角色。最近在金融行业某核心系统迁移项目中,我完整实施了达梦数据库服务器版的部署,这里将实战经验整理成保姆级教程。不同于简单的安装步骤罗列,本文会重点解析安装过程中的技术选型依据和常见避坑要点。
达梦数据库服务器版专为生产环境设计,支持高可用集群、分布式部署等企业级特性。其安装过程涉及操作系统适配、参数调优、权限配置等多个技术维度,需要DBA具备系统级的视角。下面就以最常见的CentOS 7.x环境为例,详解从准备到验证的完整流程。
2. 环境准备与前置检查
2.1 硬件资源规划建议
在生产环境中,建议服务器配置不低于:
- CPU:8核以上(ARM或x86架构)
- 内存:32GB起步(OLTP场景建议64GB+)
- 存储:RAID10配置的SSD,容量根据数据规模确定
- 网络:万兆网卡(集群部署时必须)
特别注意:达梦对NUMA架构支持良好,但需要在BIOS中关闭内存交错(Interleaving)模式以获得最佳性能。
2.2 操作系统适配方案
官方支持的主流Linux发行版包括:
- CentOS/RHEL 7.3+
- 麒麟V10
- 欧拉20.03 LTS
- Ubuntu Server 18.04+
这里以CentOS 7.9为例,需确保已安装以下基础依赖:
yum install -y glibc-devel libaio libnsl kernel-devel numactl2.3 用户与权限配置
创建专用用户组和用户(不要使用root直接运行):
groupadd dinstall useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba echo "dmdba:Dameng123" | chpasswd设置系统参数限制(/etc/security/limits.conf追加):
dmdba soft nofile 65536 dmdba hard nofile 65536 dmdba soft nproc 16384 dmdba hard nproc 163843. 安装包获取与校验
3.1 官方渠道下载
从达梦官网下载对应版本的安装包,命名规则通常为:
dmdbms_<版本>_<平台>_<打包时间>.iso例如:dmdbms_v8.1.2.128_rh7_64_ent.iso
3.2 完整性校验
下载后务必进行校验:
# 校验MD5 md5sum dmdbms_v8.1.2.128_rh7_64_ent.iso 对比官方提供的校验值 # 挂载ISO mkdir -p /mnt/dmiso mount -o loop dmdbms_v8.1.2.128_rh7_64_ent.iso /mnt/dmiso4. 图形化安装全流程
4.1 启动安装程序
切换到dmdba用户执行:
su - dmdba cd /mnt/dmiso ./DMInstall.bin安装界面关键步骤解析:
- 选择语言(建议英文避免乱码)
- 接受许可协议
- 选择安装类型:
- Typical(典型安装)
- Custom(自定义,可调整组件)
- 指定安装目录(如/home/dmdba/dmdbms)
- 配置数据库参数:
- 实例名(建议包含环境标识如PROD、TEST)
- 端口号(默认5236)
- 字符集(ZHS16GBK或UTF-8根据应用选择)
4.2 关键参数配置技巧
内存分配规则:
- 单实例建议分配物理内存的70-80%
- 集群环境下单个节点不超过50%
表空间规划:
- SYSTEM表空间:至少5GB
- MAIN表空间:按数据量预估
- TEMP表空间:OLAP场景需加大
字符集选择原则:
- 纯中文环境:ZHS16GBK
- 多语言支持:UTF-8
- 金融行业建议与旧系统保持一致
5. 静默安装方案(适用于自动化部署)
创建响应文件silent_install.xml:
<?xml version="1.0"?> <DATABASE> <INSTALL_PATH>/home/dmdba/dmdbms</INSTALL_PATH> <INSTALL_TYPE>Custom</INSTALL_TYPE> <DB_NAME>DMSERVER</DB_NAME> <PORT_NUM>5236</PORT_NUM> <BUFFER_POOL_SIZE>8000</BUFFER_POOL_SIZE> <CHARSET>1</CHARSET> <CASE_SENSITIVE>Y</CASE_SENSITIVE> </DATABASE>执行静默安装:
./DMInstall.bin -q silent_install.xml6. 安装后配置要点
6.1 服务注册与启动
注册系统服务(root权限执行):
cd /home/dmdba/dmdbms/script/root ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -p DMSERVER服务管理命令:
systemctl start DmServiceDMSERVER systemctl enable DmServiceDMSERVER6.2 防火墙配置
开放数据库端口:
firewall-cmd --zone=public --add-port=5236/tcp --permanent firewall-cmd --reload6.3 环境变量配置
在dmdba用户的.bashrc中添加:
export DM_HOME=/home/dmdba/dmdbms export PATH=$DM_HOME/bin:$PATH export LD_LIBRARY_PATH=$DM_HOME/bin:$LD_LIBRARY_PATH7. 验证安装与基础测试
7.1 连接测试
使用disql工具验证:
disql SYSDBA/SYSDBA@localhost:5236 SQL> select * from v$version; SQL> create table test(id int); SQL> insert into test values(1); SQL> select * from test;7.2 性能基准测试
执行TPC-C基准测试:
cd $DM_HOME/bin ./dminit path=/home/dmdba/dmdbms/data count=10 ./dts tpcc_benchmark8. 常见问题排查指南
8.1 安装失败问题集
libaio缺失错误:
yum install -y libaio图形界面无法启动:
export DISPLAY=:0 xhost +端口冲突处理:
netstat -tulnp | grep 5236 kill -9 <PID>
8.2 运行时报错处理
内存不足错误: 修改dm.ini中的MEMORY_TARGET参数
表空间不足:
ALTER TABLESPACE MAIN ADD DATAFILE '/path/to/file.dbf' SIZE 2048;连接数超限:
-- 查看当前连接数 SELECT COUNT(*) FROM V$SESSIONS; -- 修改最大连接数 ALTER SYSTEM SET MAX_SESSIONS=500 SCOPE=BOTH;
9. 生产环境优化建议
9.1 关键参数调整
编辑$DM_HOME/data/DAMENG/dm.ini:
# 缓冲池大小(单位MB) BUFFER_POOL_SIZE = 8000 # 最大会话数 MAX_SESSIONS = 500 # 检查点间隔 CKPT_INTERVAL = 18009.2 监控方案实施
配置达梦自带的DM Monitor:
cd $DM_HOME/tool ./monitor_console或集成Prometheus监控:
# prometheus.yml配置示例 scrape_configs: - job_name: 'dm' static_configs: - targets: ['localhost:5236'] metrics_path: '/metrics'10. 后续维护建议
定期备份策略:
# 全量备份 ./dmrman CTLSTMT="BACKUP DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FULL" # 增量备份 ./dmrman CTLSTMT="BACKUP DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' INCREMENTAL"日志轮转配置:
# 编辑dm.ini LOG_FILE_SIZE = 1024 # 单个日志文件大小(MB) LOG_SPACE_LIMIT = 0 # 0表示不限制补丁升级流程:
# 停止服务 systemctl stop DmServiceDMSERVER # 执行升级包 ./DMUpdate.bin -i # 重启服务 systemctl start DmServiceDMSERVER
在实际生产部署中,我发现达梦对国产化环境的适配度很高,但在某些特殊场景下(如ARM架构+欧拉系统组合),需要特别注意glibc版本的兼容性问题。建议在正式部署前,先在测试环境完成至少72小时的压力测试。