达梦数据库一键安装脚本
一条命令完成 DM8 数据库全自动部署,支持单实例、DataWatch 主备、DSC 集群
开源免费 · 支持 x86/ARM · 1400+ commits 持续维护 · 118+ Stars
核心特性
一键安装
一条命令完成操作系统配置、数据库安装、初始化全流程
DataWatch 主备
支持 1 主 8 备,实时/异步/同步备机灵活组合,自动/手动切换
DSC 集群部署
分布式共享存储集群,支持 2~8 节点,ASM 磁盘管理与镜像冗余
多操作系统
支持 RHEL、CentOS、麒麟等主流 Linux 发行版
双架构支持
同时支持 x86_64 和 ARM (aarch64) 处理器架构
自动调优
内置 AutoParaAdj 参数调优,根据物理内存和负载类型自动优化
备份配置
自动配置全量/增量备份计划,支持 SFTP 远程备份
Oracle 兼容
通过 -cm 参数配置 Oracle 兼容模式(0~7 级别)
四种部署模式
覆盖开发测试到生产环境的全场景需求
单实例部署
最简单的部署方式,只需指定 ISO 镜像文件即可完成安装。支持自定义数据目录、端口、字符集、页大小等参数。
DataWatch 主备
高可用主备配置,支持 1 主 + 最多 8 备。实时、异步、同步备机灵活组合,支持手动和自动故障切换。
读写分离
基于 DataWatch 架构的读写分离方案,主库处理写请求,备库分担读请求,通过代理自动路由实现负载均衡。
DSC 集群
分布式共享存储集群,支持 2~8 节点。ASM 存储管理,DCR/VOTE/DATA/ARCH/LOG 磁盘分区,镜像冗余选项。
兼容性矩阵
支持的操作系统和处理器架构
| 类别 | 操作系统 | 支持版本 |
|---|---|---|
| 企业级 Linux | RHEL | 678 |
| CentOS | 678 | |
| 国产操作系统 | Kylin (麒麟) | V10 |
| 处理器架构 | x86_64 | Linux 6Linux 7Linux 8 |
| ARM (aarch64) | Linux 7Linux 8 |
安装示例
按场景选择最接近你环境的命令,确认前置条件后复制使用
最简安装(仅需 ISO 文件名)
新手约 5 分钟已有 DM8 ISO,只想快速拉起一套测试库
1./DMShellInstall -di dm8_20241011_x86_rh6_64.iso前置准备 (2)
- DM8 ISO 文件已放入 soft 目录
- 当前用户可执行安装脚本
生产环境部署(自定义参数)
推荐标准约 15 分钟生产单实例,目录、归档、备份和内存参数都需要明确规划
1./DMShellInstall -hn dmdb -dp Dameng@123 \2 -d /dm -dd /dmdata -ad /dmarch -bd /dmbak \3 -dn DAMENG -in DMSERVER \4 -es 32 -ps 32 -cs Y -c 1 \5 -sl 10240 -pn 5236 \6 -sp Dm@SYSDBA1234 -bm 2 \7 -opd Y -mp 80 \8 -di dm8_20241011_x86_rh6_64.iso前置准备 (3)
- 系统目录和数据目录已有足够空间
- 主机名、端口、实例名已确认
- SYSDBA 与实例密码已按生产策略生成
安装完成后 (2)
- 确认实例端口监听正常
- 检查归档、备份目录权限和容量
参数命令速查
DMShellInstall 脚本支持的全部参数,共覆盖单机、DataWatch 主备、读写分离、DSC 共享存储集群四大场景
| 参数 | 说明 | 默认值 | 适用范围 |
|---|---|---|---|
| -di | ISO 镜像文件名(必填) | - | 单机 |
| -kp | 达梦 Key 文件路径 | - | 单机 |
| -hn | 主机名 | dmdb | 单机 |
| -dp | dmdba 用户密码 | Dameng@123 | 单机 |
| -sp | SYSDBA 密码 | - | 单机 |
| -pn | 监听端口号 | 5236 | 单机 |
| -dn | 数据库名 | DAMENG | 单机 |
| -in | 实例名 | DMSERVER | 单机 |
| -d | 软件安装目录 | /dm | 单机 |
| -dd | 数据文件目录 | /dmdata | 单机 |
| -ad | 归档日志目录 | /dmarch | 单机 |
| -bd | 备份目录 | /dmbak | 单机 |
| -es | 簇大小 (KB) | 32 | 单机 |
| -ps | 页大小 (KB) | 32 | 单机 |
| -cs | 大小写敏感 (Y/N) | Y | 单机 |
| -c | 字符集 (0=GB18030, 1=UTF-8, 2=EUC-KR) | 1 | 单机 |
| -cm | 兼容模式 (0~7) | 0 | 单机 |
| -bpm | 尾部空格填充模式 | 0 | 单机 |
| -ls | 日志文件大小 (MB) | 1024 | 单机 |
| -er | 是否启用归档模式 (Y/N) | Y | 单机 |
| -sl | 归档空间大小 (MB) | 102400 | 单机 |
| -opd | 启用 AutoParaAdj 自动调优 (Y/N) | Y | 单机 |
| -mp | 物理内存使用百分比 (%) | 80 | 单机 |
| -bm | 备份模式 (0=不备份, 1=全量, 2=全量+增量) | 2 | 单机 |
| -sm | 并发模式 (0=OLTP, 1=OLAP) | 0 | 单机 |
| -m | 仅配置操作系统 (Y/N) | N | 单机 |
| -ud | 仅安装数据库软件 (Y/N) | N | 单机 |
| -oid | 仅初始化数据库 (Y/N) | N | 单机 |
| -oopd | 仅执行数据库调优 (Y/N) | N | 单机 |
| -iso | 是否挂载 ISO (Y/N) | Y | 单机 |
| -ti | 时间服务器 IP 地址 | - | 单机 |
| -osp | 服务器 SSH 端口 | 22 | DataWatch |
| -rp | 远程 root 密码(必填) | - | DataWatch |
| -dpi | 业务 IP 列表(逗号分隔,必填) | - | DataWatch |
| -dmi | 心跳 IP 列表(逗号分隔,必填) | - | DataWatch |
| -api | 异步备库业务 IP 列表 | - | DataWatch |
| -ami | 异步备库心跳 IP 列表 | - | DataWatch |
| -spi | 同步备库业务 IP 列表 | - | DataWatch |
| -smi | 同步备库心跳 IP 列表 | - | DataWatch |
| -dmoi | 监视器主机 IP | - | DataWatch |
| -dgn | 守护组名称 | GRP1 | DataWatch |
| -mpn | 内部监听端口 | 5336 | DataWatch |
| -mdpn | 守护进程端口 | 5436 | DataWatch |
| -midpn | 实例监听守护端口 | 5536 | DataWatch |
| -at | 归档模式 (0=实时, 1=定时) | 0 | DataWatch |
| -awa | 性能模式 (0=高性能, 1=一致性) | 1 | DataWatch |
| -ri | 归档发送间隔 (秒) | 60 | DataWatch |
| -art | 异步恢复间隔 (秒) | 1 | DataWatch |
| -sfi | SFTP 服务器 IP | - | DataWatch |
| -sfo | SFTP 服务器端口 | 22 | DataWatch |
| -sfu | SFTP 服务器用户名 | - | DataWatch |
| -sfp | SFTP 服务器密码 | - | DataWatch |
| -sfd | SFTP 服务器根目录 | - | DataWatch |
| -ddn | DSC 数据库 DB_NAME | DSC | DSC 集群 |
| -den | DSC 实例名前缀 | DSC | DSC 集群 |
| -apd | ASM 实例密码 | Dameng1 | DSC 集群 |
| -lci | 第三方确认服务公网 IP | - | DSC 集群 |
| -cdp | CSS 公共通信端口 | 9341 | DSC 集群 |
| -adp | ASM 公共通信端口 | 9351 | DSC 集群 |
| -ddp | DB 公共通信端口 | 9361 | DSC 集群 |
| -amp | ASM 内部通信端口 | 9451 | DSC 集群 |
| -dmp | DB 内部通信端口 | 9461 | DSC 集群 |
| -dcd | DCR 磁盘列表(必填) | - | DSC 集群 |
| -vod | VOTE 磁盘列表 | - | DSC 集群 |
| -lod | REDO 磁盘列表 | - | DSC 集群 |
| -ard | ARCH 磁盘列表 | - | DSC 集群 |
| -dad | DATA 磁盘列表(必填) | - | DSC 集群 |
| -rr | REDO 冗余模式 (1-3) | 1 | DSC 集群 |
| -ar | ARCH 冗余模式 (1-3) | 1 | DSC 集群 |
| -dr | DATA 冗余模式 (1-3) | 1 | DSC 集群 |
| -lgm | 联机日志副本数 (1-3) | 1 | DSC 集群 |
| -aam | 归档日志副本数 (1-3) | 1 | DSC 集群 |
| -dtm | 表空间数据副本数 (1-3) | 1 | DSC 集群 |
| -ctm | 控制文件副本数 (1-3) | 1 | DSC 集群 |
| -lst | 联机日志条带大小 (KB) | 64 | DSC 集群 |
| -aas | 归档日志条带大小 (KB) | 64 | DSC 集群 |
| -dst | 数据文件条带大小 (KB) | 32 | DSC 集群 |
| -as | ASM 分配单元大小 | 4 | DSC 集群 |
| -rs | ASM 日志文件大小 (MB) | 128 | DSC 集群 |
| -ila | 是否配置本地归档 (Y/N) | N | DSC 集群 |
| -fld | 是否过滤重复磁盘 (Y/N) | N | DSC 集群 |
| -fmd | 是否格式化共享磁盘 (Y/N) | Y | DSC 集群 |
| -mtp | 是否配置多路径 (Y/N) | N | DSC 集群 |
| -dpi | 业务 IP 列表(逗号分隔,必填) | - | 读写分离 |
| -dmi | 心跳 IP 列表(逗号分隔,必填) | - | 读写分离 |
| -rp | 远程 root 密码(必填) | - | 读写分离 |
| -osp | 服务器 SSH 端口 | 22 | 读写分离 |
| -dgn | 守护组名称 | GRP1 | 读写分离 |
| -spi | 同步备库业务 IP 列表 | - | 读写分离 |
| -smi | 同步备库心跳 IP 列表 | - | 读写分离 |
| -rwp | 读写分离代理监听端口 | 5237 | 读写分离 |
| -rwm | 读写分流模式 (weight/random/least) | weight | 读写分离 |
| -rww | 读写权重比 (主:备) | 1:3 | 读写分离 |
| -mpn | 内部监听端口 | 5336 | 读写分离 |
| -mdpn | 守护进程端口 | 5436 | 读写分离 |
| -midpn | 实例监听守护端口 | 5536 | 读写分离 |
| -at | 归档模式 (0=实时, 1=定时) | 0 | 读写分离 |
| -awa | 性能模式 (0=高性能, 1=一致性) | 1 | 读写分离 |
| -ri | 归档发送间隔 (秒) | 60 | 读写分离 |
显示 99 / 99 个参数
验证覆盖场景
以下场景来自达梦课程与安装流程 VM 实测记录,覆盖 Linux 静默安装、响应文件、容器部署和单机多实例。
| ID | 验证场景 | 证据 | 模式 | 版本 | 安装方式 | 节点 | 耗时 | 状态 |
|---|---|---|---|---|---|---|---|---|
| D-1 | Linux 静默安装、初始化、服务注册与 disql 验证 | 课程实测 | 单机 | DM8 20260427 | silent XML | 1 | — | |
| D-2 | XML 响应文件静默安装与 dminit 参数验证 | 课程实测 | 单机 | DM8 20260427 | silent XML | 1 | — | |
| D-3 | Oracle Linux 8 容器镜像构建与 DM8 运行验证 | 课程实测 | 容器 | DM8 20260414 | Docker | 1 | — | |
| D-4 | 单机多实例部署与独立服务管理验证 | 课程实测 | 多实例 | DM8 20260427 | dminit | 1 | — | |
| D-P1 | DMShellInstall DataWatch 主备脚本实测 | 规划中 | 高可用 | DM8 | DMShellInstall | 2 | — | 规划中 |
| D-P2 | DMShellInstall DSC 集群脚本实测 | 规划中 | 集群 | DM8 | DMShellInstall | 3 | — | 规划中 |
证据来自 Oracle Linux 8.10 VM 上的 DM8 安装、dminit、systemd、disql 与容器实测记录;DataWatch/DSC 脚本实测会继续补充。
常见问题
这个脚本是免费的吗?
是的,DMShellInstall 是完全免费的开源项目,采用 GPL-3.0 协议,可以自由使用、修改和分发。
支持哪些版本的达梦数据库?
脚本专为 DM8(达梦数据库 8)设计,支持各个发行版本的 ISO 镜像文件。
脚本需要什么前置条件?
需要一台干净的 Linux 系统(RHEL/CentOS/麒麟等),配置好网络,并准备好 DM8 的 ISO 安装文件。脚本会自动完成用户创建、内核参数配置等操作。
DataWatch 最多支持多少个备机?
支持 1 主 + 最多 8 个备机,可以灵活组合实时备机、异步备机和同步备机。同时支持手动和自动故障切换模式。
和 Oracle 一键安装脚本有什么关系?
达梦一键安装脚本由 Oracle 一键安装脚本的作者参与编写,两者采用相同的设计理念——用一条命令简化数据库部署。达梦脚本是免费开源项目,托管在 Gitee 上。
需要安装 Oracle 数据库?
Oracle 一键安装脚本,支持单机 / RAC / Data Guard 三种部署模式