大家好,这里是公众号 DBA学习之路,致力于分享数据库领域相关知识。
社群交流
为了给大家提供一些技术交流的平台,目前已成立的技术交流群:
- Oracle 数据库交流群
- 国产数据库交流群
- Linux 技术交流群
- ChatGPT 4o 免费体验群
需要进群可以添加号主微信:Lucifer-0622,备注对应的群名即可。
目录
前言
最近一直在测各个国产数据库的共享集群架构,前几年研究过达梦的共享集群架构(DMDSC),但是时间长了,有点不太熟悉了,这次正好再安装一套研究一下。
记得之前有和达梦袁总一起写过达梦一键安装脚本,这次正好就先用脚本安装一套玩玩。之前已经演示过一次达梦单机数据库的一键安装教程了,感兴趣的同学可以参考:
本文演示一下一键安装达梦 DMDSC 架构的过程。
脚本下载
达梦一键安装脚本是托管于 Gitee 代码平台,可以看到作者更新十分活跃,累计提交 945 次,上次更新 2 天前 👍🏻:
脚本下载地址:https://gitee.com/hnyuanzj/DMShellInstall
作者微信:hi_yuanzj

直接点击克隆下载,选择 <下载ZIP> 进行下载即可:

下载解压之后的脚本目录结构如下:
$ tree -N
.
├── LICENSE
├── README.md
├── soft
│ ├── DMShellInstall
│ ├── create_lvm.sh
│ └── create_parted.sh
├── 一主三备手动切换.log
├── 一主两备自动切换.log
├── 三节点单链路单盘DSC集群(ASM镜像).log
├── 两节点多链路聚合DSC集群(ASM镜像).log
├── 一主一备一异备自动切换.log
└── 一主两备一异备手动切换.log
2 directories, 11 files
这里最重要的就是脚本文件:DMShellInstall,使用这个脚本就可以一键安装达梦数据库了。
安装包下载
DMDSC 需要在所有节点上都安装达梦数据库,安装包可以直接从达梦官网下载:
DM8 安装包下载地址:https://eco.dameng.com/download/

下载完成后的安装包大概 400 多 M,查看 md5 值:
╭─lucifer@Lucifer-7 ~/Downloads ╰─$ md5sum dm8_20240920_x86_rh7_64.zip 64d3eb0bf65d0886c5e8e6e9de00290c dm8_20240920_x86_rh7_64.zip
将安装包上传到所有主机节点上即可。
环境准备
本文演示环境为银河麒麟 V10,主机配置为单节点 8G 内存,100G 硬盘,双网卡(物理+心跳):
| 主机名 | 服务IP | 心跳IP | 版本 | CPU | 内存 | 系统盘 | dcr | vote | data |
|---|---|---|---|---|---|---|---|---|---|
| dsc01 | 192.168.6.90 | 5.5.5.1 | 银河麒麟 Kylin V10 | x86 | 8G | 100G | 5G | 5G | 20G |
| dsc02 | 192.168.6.91 | 5.5.5.2 | 银河麒麟 Kylin V10 | x86 | 8G | 100G | 5G | 5G | 20G |
共享存储盘我划了 3 块,分别用于存放 dcr、vote 和 data:
[root@dsc01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─klas-root 253:0 0 91.1G 0 lvm /
└─klas-swap 253:1 0 7.9G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sdd 8:48 0 20G 0 disk
sr0 11:0 1 4.4G 0 rom /mnt
dcr 和 vote 盘一般生产环境 5G 足够,data 盘需要根据实际情况进行划分。
一键安装
安装前准备
使用达梦一键安装脚本前:
- 安装好干净的 Linux 操作系统(redhat/linux/centos/麒麟)
- 配置好网络,至少需要一组公网 IP 地址和一组心跳 IP 地址(规划 IP 地址)
- 配置好共享存储,至少需要一组 DCR、VOTE 和 DATA 磁盘组,虚拟化环境需要确保已开启磁盘的 UUID(规划存储)
- 挂载操作系统 ISO 镜像源,用于脚本自动配置软件源
- 上传达梦一键安装脚本
- 阅读脚本安装说明:
./DMShellInstall -h - 解压达梦安装包,将 ISO 移动到与脚本一个目录下,并指定参数
-di iso镜像名称
这里我们已经安装好操作系统部分,查看脚本使用参数:
[root@dsc01 ~]# cd /soft/
[root@dsc01 soft]# chmod +x DMShellInstall
[root@dsc01 soft]# ./DMShellInstall -h
███████ ████ ████ ████████ ██ ██ ██ ██ ██ ██ ██
░██░░░░██ ░██░██ ██░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
░██ ░██░██░░██ ██ ░██░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░██ ░░███ ░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██░██ ░░█ ░██░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░██ ██ ░██ ░ ░██ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░███████ ░██ ░██ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░ ░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
用途: 一键部署达梦数据库[单机/数据守护/DMDSC集群]
用法: DMShellInstall [选项] 选项值 { COMMAND | help }
单机(Single):
-di 达梦数据库安装镜像名称
-kp 达梦数据库密钥路径
-hn 主机名
-dp 系统用户dmdba密码,默认值:[Dameng@123]
-d 数据库软件安装目录,默认值:[/home/dmdba/dmdbms]
-dd 数据库文件目录,默认值:[/dmdata]
-ad 数据库归档目录,默认值:[/dmarch]
-bd 数据库备份目录,默认值:[/dmbak]
-cd 数据库CORE目录,默认值:[/dmbak/dmcore]
-dn 数据库名称,默认值:[DAMENG]
-in 数据库实例名称,默认值:[DMSERVER]
-es 数据文件簇大小,默认值:[32]
-ps 数据页大小,默认值:[32]
-cs 字符串大小写敏感,默认值:[Y]
-c 数据库字符集,默认值:[1]
-cm 是否兼容其他数据库模式,取值:0~7,默认值:[0]
-bpm 设置结尾空格填充模式,当等于1时,默认兼容ORACLE,即[-cm 2],默认值:[0]
-ls 日志文件大小,单位M,默认值:[1024]
-er 是否开启归档模式,默认值:[Y]
-sl 归档空间大小,单位M,默认值:[102400]
-pn 监听端口号,默认值:[5236]
-sp 数据库SYSDBA用户密码,默认值:[SYSDBA]
-bm 数据库备份模式,模式[1]:每天全备,模式[2]:周六全备,周日到周五增备[2],默认值:[2]
-mp 优化数据库时物理内存占比,默认值:[80]
-om 并发量较高的OLTP数据库参数 [1],并发量不高的一般业务和OLAP类的数据库参数参数值 [0],默认值:[0]
-m 仅配置操作系统,默认值:[N]
-ud 仅安装达梦数据库软件,默认值:[N]
-oid 仅初始化数据库,默认值:[N]
-opd 自动优化数据库,默认值:[Y]
-oopd 仅优化数据库,默认值:[N]
-iso 部署集群或时间服务器,需要挂载ISO镜像,脚本自动配置 YUM 源,默认值:[Y]
-ti 时间服务器IP地址[需要配置YUM源]
数据守护(DataWatch):
-osp ssh端口,默认值:[22]
-ois 仅安装sshpass,默认值:[N]
-isp 是否使用sshpass模式,默认值:[N]
-rp 执行脚本的用户密码,当前用户是:root
-skp 使用现有的互信(互信必须是双向免密),指定互信配置文件所在目录,例如:/root/.ssh
-hn 主机名前缀,配置每个节点主机名为dw01,dw02...,例如:-hn dw
-dpi DW 实[即]时主备公网IP,异[同]步主库公网IP,如果是实[即]时主备公网IP,以逗号隔开,例如:-dpi 192.168.31.181,192.168.31.182
-dmi DW 实[即]时主备私网IP,异[同]步主库私网IP,如果是实[即]时主备公网IP,以逗号隔开,例如:-dmi 1.1.1.181,1.1.1.182
-api DW 异步备库公网IP,以逗号隔开,例如:-api 192.168.31.183
-ami DW 异步备库私网IP,以逗号隔开,例如:-dmi 1.1.1.183
-spi DW 同步备库公网IP,以逗号隔开,例如:-spi 192.168.31.184
-smi DW 同步备库私网IP,以逗号隔开,例如:-dmi 1.1.1.184
-dmoi 监视器主机IP,例如:-dmoi 192.168.31.185
-dgn 数据守护组名,默认值:[GRP1]
-mpn 私网监听端口号,取值:1024~65535,默认值:[5336]
-mdpn 守护进程端口号,取值:1024~65535,默认值:[5436]
-midpn 实例监听守护进程端口号,取值:1024~65535,默认值:[5536]
-at 数据守护归档模式,取值:0、1,其中REALTIME[0],TIMELY[1],默认值:[0]
-awa 数据守护性能模式,取值:0、1,其中高性能模式[0],事务一致性模式[1],默认值:[1]
-ri 主库向异步备库发送归档时间间隔,取值:0~60秒,默认值:[60]
-art 同步备库异步恢复的时间间隔,单位秒,取值范围:1~86400,默认值:[1]
-sfi sftp服务器IP,例如:-dmi 192.168.31.186
-sfo sftp服务器端口,默认值:[22]
-sfu sftp服务器用户名
-sfp sftp服务器密码
-sfd sftp服务器根目录,例如:/home/sftpuser/uploads
DSC集群(DMDSC):
-osp ssh端口,默认值:[22]
-ois 仅安装sshpass,默认值:[N]
-isp 是否使用sshpass模式,默认值:[N]
-rp 执行脚本的用户密码,当前用户是:root
-skp 使用现有的互信(互信必须是双向免密),指定互信配置文件所在目录,例如:/root/.ssh
-hn 主机名前缀,配置每个节点主机名为dsc01,dsc02...,例如:-hn dsc
-dpi DSC所有节点公网IP,以逗号隔开,例如:-dpi 192.168.31.181,192.168.31.182
-dmi DSC所有节点私网IP,以逗号隔开,例如:-dmi 1.1.1.181,1.1.1.182
-lci DSC第三方确认公网IP,例如:-lci 192.168.31.185
-cdp CSS公网通信端口,取值:1024~65534,默认值:[9341]
-adp ASM公网通信端口,取值:1024~65534,默认值:[9351]
-ddp DB 公网通信端口,取值:1024~65534,默认值:[9361]
-amp ASM私网通信端口,取值:1024~65534,默认值:[9451]
-dmp DB 私网通信端口,取值:1024~65534,默认值:[9461]
-dcd DCR[V]磁盘列表,DSC集群只能传入一块磁盘,例如:/dev/sdb,DSCM集群时,可以传1,3,5块磁盘,例如:/dev/sdb,/dev/sdc,/dev/sdd
-vod VOTE磁盘列表,DSC集群只能传入一块磁盘,例如:/dev/sdc,DSCM集群时,不用传此参数
-lod REDO磁盘列表,可以是一块盘,也可以是多块盘,如果没有redo磁盘,可以不写,例如:/dev/sdd,/dev/sde
-ard ARCH磁盘列表,可以是一块盘,也可以是多块盘,如果没有arch磁盘,可以不写,例如:/dev/sdf,/dev/sdg
-dad DATA磁盘列表,可以是一块盘,也可以是多块盘,盘数必须大于等于 1 ,例如:/dev/sdh,/dev/sdi
-rr REDO镜像文件冗余模式(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-ar ARCH镜像文件冗余模式(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-dr DATA镜像文件冗余模式(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-lgm REDO文件副本数(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-aam ARCH文件副本数(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-dtm SYSTEM/MAIN/ROLL 表空间数据文件副本数(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-ctm dm.ctl 和 dm_service.prikey文件副本数(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-lst REDO日志条带化粒度(ASM镜像独有参数),取值:0、32、64、128、256,单位 KB。默认值:[64]
-aas ARCH日志条带化粒度(ASM镜像独有参数),取值:0、32、64、128、256,单位 KB。默认值:[64]
-dst DATA文件条带化粒度(ASM镜像独有参数),取值:0、32、64、128、256,单位 KB。默认值:[32]
-as 数据分配单元(ASM镜像独有参数),取值: 1、2、4、8、16、32、64,单位 BYTES。默认值:[4]
-rs ASM磁盘组日志文件大小(ASM镜像独有参数),取值 0、32、64、128、256,单位 MB。默认值:[128]
-ila 是否配置本地归档,如果配置,默认数据库归档目录 [/dmarch],可以由参数-ad指定具体目录,默认值:[N]
-fld 过滤重复磁盘,保留输出唯一盘符,参数值为非ASM盘符(系统盘等),例如:-fld sda,多个盘符用逗号拼接:-fld sda,sdb
-fmd 是否需要格式化共享存储盘,默认值:[Y]
-mtp 是否需要配置multipath多链路聚合,默认值:[N]
-ddn 数据库DB_NAME,默认值:[DSC]
-den 数据库每个节点的实例名前缀,默认值:[DSC]
-apd ASM实例密码,默认值:[Dameng1]
注意:本脚本仅用于新服务器上实施部署数据使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!
确保了解各个参数的作用之后,只需要上传达梦一键安装脚本和达梦安装包,即可进行安装。
安装命令
解压达梦安装包(这里不让脚本自动解压安装包,是因为有些朋友是直接保存的 ISO 文件):
## 注意,最小化安装不会安装 unzip 命令,所以还是不建议安装最小化系统,或者在有 unzip 命令的主机上进行解压后再拷贝过来
[root@dm8 soft]# unzip -q dm8_20240712_x86_rh7_64.zip
-bash: unzip: command not found
## 解压后的 ISO 镜像,安装命令中需要指定这个文件的位置
[root@dsc01 soft]# unzip dm8_20240920_x86_rh7_64.zip
Archive: dm8_20240920_x86_rh7_64.zip
inflating: dm8_20240920_x86_rh7_64.iso
inflating: dm8_20240920_x86_rh7_64.iso_SHA256.txt
inflating: dm8_20240920_x86_rh7_64.README
这里我使用 README 说明中提供的生产环境安装部署命令:
## 根据实际环境调整以下参数值,执行一键安装即可
[root@dm8 ~]# cd /soft/
[root@dm8 ~]# ./DMShellInstall -hn dsc `# dsc 主机名前缀`\
-dpi 192.168.6.90,192.168.6.91 `# dsc 业务 IP`\
-dmi 5.5.5.1,5.5.5.2 `# 各节点 MAL IP`\
-dcd /dev/sdb `# dcr 磁盘`\
-vod /dev/sdc `# vote 磁盘`\
-dad /dev/sdd ` # 数据盘,此时默认 redo 日志和归档与数据文件在一起`\
-cdp 12345 `# css 通信端口号`\
-adp 12346 `# asm 通信端口号`\
-ddp 12347 `# 实例通信端口号`\
-amp 8888 `# mal 系统通信端口`\
-rp P@ssw0rdPST `# 服务器 root 用户密码`\
-dp Dameng@123 `# dmdba 用户密码`\
-d /dm `# 软件安装目录`\
-dd /dmdata `# 数据库文件目录`\
-bd /dmbak `# 数据库备份目录`\
-apd Dameng1 `# asm 实例密码`\
-es 32 `# 数据文件簇大小`\
-ps 32 `# 数据页大小`\
-cs Y `# 字符串大小写敏感`\
-c 1 `# 数据库字符集`\
-cm 2 `# 是否兼容其他数据库模式,2 是兼容 oracle`\
-sl 102400 `# 归档空间大小,这里是最大可用值`\
-pn 5236 `# 监听端口号`\
-sp SYSDBA `# 数据库 SYSDBA 用户密码`\
-bm 2 `# 数据库备份模式 1 全备 2 增量`\
-opd Y `# 优化数据库参数`\
-mp 80 `# 优化数据库物理内存占比`\
-di dm8_20240920_x86_rh7_64.iso `# 达梦 ISO 镜像名称`
安装过程日志如下:
███████ ████ ████ ████████ ██ ██ ██ ██ ██ ██ ██
░██░░░░██ ░██░██ ██░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
░██ ░██░██░░██ ██ ░██░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░██ ░░███ ░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██░██ ░░█ ░██░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░██ ██ ░██ ░ ░██ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░███████ ░██ ░██ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░ ░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
请选择达梦数据库部署类型:单机[si]/数据守护[dw]/dsc集群[dsc]/dsc集群(ASM镜像)[dscm]: dsc
达梦数据库安装部署类型: dsc
#==============================================================#
校验IP地址和磁盘
#==============================================================#
校验 192.168.6.90 192.168.6.91 地址,请等待!!!
校验 5.5.5.1 5.5.5.2 地址,请等待!!!
校验 /dev/sdb 磁盘,请等待!!!
校验 /dev/sdc 磁盘,请等待!!!
校验 /dev/sdd 磁盘,请等待!!!
#==============================================================#
打印 yum 配置文件内容
#==============================================================#
镜像仓库配置成功!
[BaseOS]
name=BaseOS
baseurl=file:///mnt
enabled=1
gpgcheck=0
#==============================================================#
配置 root 用户互信
#==============================================================#
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:QIHXP/IyAYZdtxgtfADc8oESYE9u5IuD7osKEsdfE/A root@dsc01
The key's randomart image is:
+---[RSA 3072]----+
| o.=*+O+o. |
| . *++O *+o. |
| =+E+.=. |
| o o . o+ o |
|o = . o S+ . |
|.o o . .o . |
|o. . o |
|= |
|+o. |
+----[SHA256]-----+
#==============================================================#
拷贝脚本以及安装包到部署节点
#==============================================================#
拷贝脚本以及安装包到节点:192.168.6.91
#==============================================================#
配置节点: 192.168.6.90
#==============================================================#
节点 192.168.6.90 开始配置:
#==============================================================#
打印系统信息
#==============================================================#
服务器时间:
2024年 12月 16日 星期一 11:36:48 CST
操作系统版本:
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Halberd)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
ANSI_COLOR="0;31"
内核信息:
Linux version 4.19.90-89.11.v2401.ky10.x86_64 (root@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Tue May 7 18:33:01 CST 2024
服务器属性:
vmware
cpu信息:
型号名称 :Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
物理 CPU 个数 :4
每个物理 CPU 的逻辑核数 :2
系统的 CPU 线程数 :8
内存信息:
total used free shared buff/cache available
Mem: 6683 719 3124 31 2839 5655
Swap: 8091 0 8091
total used free shared buff/cache available
Mem: 6.5Gi 719Mi 3.1Gi 31Mi 2.8Gi 5.5Gi
Swap: 7.9Gi 0B 7.9Gi
挂载信息:
/dev/mapper/klas-root / xfs defaults 0 0
UUID=1b3d56ab-6b5a-496b-b3db-264bce58da29 /boot xfs defaults 0 0
/dev/mapper/klas-swap none swap defaults 0 0
目录信息:
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.3G 0 3.3G 0% /dev
tmpfs 3.3G 4.0K 3.3G 1% /dev/shm
tmpfs 3.3G 26M 3.3G 1% /run
tmpfs 3.3G 0 3.3G 0% /sys/fs/cgroup
/dev/mapper/klas-root 92G 11G 82G 11% /
tmpfs 3.3G 16K 3.3G 1% /tmp
/dev/sda1 1014M 212M 803M 21% /boot
tmpfs 669M 48K 669M 1% /run/user/0
/dev/sr0 4.4G 4.4G 0 100% /mnt
#==============================================================#
添加端口并禁用防火墙
#==============================================================#
端口 5236 已成功添加到防火墙.
端口 12345 已成功添加到防火墙.
端口 12346 已成功添加到防火墙.
端口 12347 已成功添加到防火墙.
端口 8888 已成功添加到防火墙.
端口 9461 已成功添加到防火墙.
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
12月 13 16:06:30 dsc01 systemd[1]: Starting firewalld - dynamic firewall daemon...
12月 13 16:06:34 dsc01 systemd[1]: Started firewalld - dynamic firewall daemon.
12月 16 11:36:52 dsc01 systemd[1]: Stopping firewalld - dynamic firewall daemon...
12月 16 11:36:53 dsc01 systemd[1]: firewalld.service: Succeeded.
12月 16 11:36:53 dsc01 systemd[1]: Stopped firewalld - dynamic firewall daemon.
#==============================================================#
禁用 SELinux
#==============================================================#
SELinux 已经被禁用
#==============================================================#
调整 SWAP 分区
#==============================================================#
total used free shared buff/cache available
Mem: 6683 697 3145 31 2839 5677
Swap: 8091 0 8091
/dev/mapper/klas-swap none swap defaults 0 0
#==============================================================#
禁用透明大页 & 禁用NUMA & 开启 I/0 schedule
#==============================================================#
args="ro resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high audit=0 transparent_hugepage=never elevator=deadline numa=off"
-resume=/dev/mapper/klas-swap
-args="ro
args="ro resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high audit=0 transparent_hugepage=never elevator=deadline numa=off"
-audit=0
-crashkernel=1024M,high
#==============================================================#
配置内核参数和资源
#==============================================================#
kernel.sysrq = 0
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.dmesg_restrict = 1
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
fs.aio-max-nr = 1048576
fs.file-max = 6815744
fs.nr_open = 20480000
kernel.core_pattern = /dmbak/dmcore/core.%e.%p.%t
kernel.panic_on_oops = 1
kernel.numa_balancing = 0
kernel.randomize_va_space = 2
kernel.shmall = 2097152
kernel.shmmax = 7008067583
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_retries2 = 3
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_wmem = 8192 65536 16777216
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.swappiness = 10
vm.min_free_kbytes = 34219
vm.numa_stat = 0
vm.overcommit_memory = 0
vm.zone_reclaim_mode = 0
#==============================================================#
配置系统资源
#==============================================================#
# DMBegin
* hard core 0
* soft core 0
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba hard data unlimited
dmdba soft data unlimited
dmdba hard fsize unlimited
dmdba soft fsize unlimited
dmdba soft stack 65536
dmdba hard stack 65536
# DMEnd
# DMBegin
session required pam_limits.so
session required /lib64/security/pam_limits.so
# DMEnd
#==============================================================#
配置文件数和进程数限制
#==============================================================#
DefaultLimitCORE=infinity
DefaultLimitNOFILE=65536
DefaultLimitNPROC=10240
# DMBegin
dmdba soft nproc 65536
dmdba hard nproc 65536
# DMEnd
#==============================================================#
配置与用户会话和系统登录管理相关的参数
#==============================================================#
# DMBegin
HandleSuspendKey=ignore
HandleHibernateKey=ignore
IdleAction=ignore
KillUserProcesses=no
RemoveIPC=no
# DMEnd
#==============================================================#
配置cache脚本
#==============================================================#
no crontab for root
#!/bin/bash
# DMBegin
sync
echo 1 > /proc/sys/vm/drop_caches
* 6 * * * root /root/drop_cache.sh
#==============================================================#
配置/etc/profile
#==============================================================#
export LANG=zh_CN.UTF-8
export MALLOC_ARENA_MAX=4
#==============================================================#
配置主机名
#==============================================================#
当前主机名:dsc01
#==============================================================#
创建 dmdba 用户,密码是:Dameng@123
#==============================================================#
dmdba:x:56781:56781::/home/dmdba:/bin/bash
用户id=56781(dmdba) 组id=56781(dinstall) 组=56781(dinstall),56782(dmdba),56783(dmsso),56784(dmauditor)
#==============================================================#
配置用户环境变量
#==============================================================#
[ -f ~/.bashrc ] && . ~/.bashrc
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm/bin"
export DM_HOME="/dm"
export JAVA_HOME="${DM_HOME}/jdk"
export JRE_HOME="${JAVA_HOME}/jre"
export CLASSPATH="${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH"
export PATH="$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$DM_HOME/bin:$DM_HOME/tool"
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
alias dmbin="cd $DM_HOME/bin"
alias dmlog="cd $DM_HOME/log"
alias dmdata="cd /dmdata/DSC"
alias ds="disql -L /:5236 as sysdba"
alias dsql="disql -L -S /:5236 as sysdba -C \"set linesize 999 pagesize 999 long 1000 feed off\" -E"
alias dssql="disql -L -S /:5236 as sysdba \\\`"
alias sqllog="cd /dmdata/DSC/dsc0_config/sqllog"
alias dc="dmcssm /dmdata/DSC/dmcssm.ini"
#==============================================================#
挂载DMISO
#==============================================================#
总用量 969M
-r-xr-xr-x 1 root root 2.8M 9月 18 15:05 DM8 Install.pdf
-r-xr-xr-x 1 root root 967M 9月 20 09:30 DMInstall.bin
#==============================================================#
开始安装达梦数据库软件
#==============================================================#
解压安装程序..........
硬件架构校验通过!
2024-12-16 11:37:16
[INFO] 安装达梦数据库...
2024-12-16 11:37:16
[INFO] 安装 基础 模块...
2024-12-16 11:37:22
[INFO] 安装 服务器 模块...
2024-12-16 11:37:36
[INFO] 安装 客户端 模块...
2024-12-16 11:37:45
[INFO] 安装 驱动 模块...
2024-12-16 11:37:53
[INFO] 安装 手册 模块...
2024-12-16 11:37:55
[INFO] 安装 服务 模块...
2024-12-16 11:37:56
[INFO] 移动日志文件。
2024-12-16 11:37:58
[INFO] 正在启动DmAPService服务...
2024-12-16 11:37:58
[INFO] 启动DmAPService服务成功。
2024-12-16 11:37:58
[INFO] 安装达梦数据库完成。
#==============================================================#
配置 glogin.sql
#==============================================================#
column expired_date new_value _edate
select to_char(expired_date,'yyyy-mm-dd') expired_date from v$license;
host echo "密钥过期时间:&_edate"
set serveroutput on size 1000000
set long 200
set linesize 500
set pagesize 5000
set trimspool on
set lineshow off
col name new_value _dname
select name from v$database;
col port_num new_value _port
select para_value port_num from v$dm_ini where para_name='PORT_NUM';
set SQLPROMPT "_USER'@'_dname':'_port SQL> "
set time on
#==============================================================#
创建UDEV规则文件,并启动UDEV
#==============================================================#
文件 /etc/udev/rules.d/99-dm-asmdevices.rules 的内容为:
KERNEL=="sd*|vd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="2c006234236caf670", SYMLINK+="asmdisk/dmdcr01", OWNER="dmdba", GROUP="dinstall", MODE="0660"
KERNEL=="sd*|vd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="2310e9d5ada795544", SYMLINK+="asmdisk/dmvote01", OWNER="dmdba", GROUP="dinstall", MODE="0660"
KERNEL=="sd*|vd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="2c7db3f720421cda3", SYMLINK+="asmdisk/dmdata01", OWNER="dmdba", GROUP="dinstall", MODE="0660"
#==============================================================#
查看udev磁盘
#==============================================================#
总用量 0
lrwxrwxrwx 1 root root 6 12月 16 11:38 dmdata01 -> ../sdd
lrwxrwxrwx 1 root root 6 12月 16 11:38 dmdcr01 -> ../sdb
lrwxrwxrwx 1 root root 6 12月 16 11:38 dmvote01 -> ../sdc
#==============================================================#
正在创建用于DSC的参数文件 DSC
#==============================================================#
总用量 16K
-rw------- 1 dmdba dinstall 160 12月 16 11:38 dmasvrmal.ini
-rw------- 1 dmdba dinstall 149 12月 16 11:38 dmcssm.ini
-rw------- 1 dmdba dinstall 1006 12月 16 11:38 dmdcr_cfg.ini
-rw------- 1 dmdba dinstall 383 12月 16 11:38 dmdcr.ini
#==============================================================#
注册css和asm服务
#==============================================================#
Created symlink /etc/systemd/system/multi-user.target.wants/DmCSSServiceCss.service → /usr/lib/systemd/system/DmCSSServiceCss.service.
创建服务(DmCSSServiceCss)完成
Created symlink /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceAsmsvr.service → /usr/lib/systemd/system/DmASMSvrServiceAsmsvr.service.
创建服务(DmASMSvrServiceAsmsvr)完成
#==============================================================#
创建归档和备份脚本
#==============================================================#
创建数据库归档脚本:
-rw------- 1 dmdba dinstall 340 12月 16 11:38 /home/dmdba/scripts/conf_arch.sql
创建数据库备份脚本:
-rw------- 1 dmdba dinstall 1.5K 12月 16 11:38 /home/dmdba/scripts/conf_fullbackup.sql
-rw------- 1 dmdba dinstall 2.3K 12月 16 11:38 /home/dmdba/scripts/conf_incrbackup.sql
-rw------- 1 dmdba dinstall 1.5K 12月 16 11:38 /home/dmdba/scripts/check_backup.sql
创建 DMDBA 用户脚本,密码 SYSDBA :
-rw------- 1 dmdba dinstall 553 12月 16 11:38 /home/dmdba/scripts/create_user.sql
#==============================================================#
创建达梦数据库优化脚本
#==============================================================#
创建数据库参数配置脚本:
-rw------- 1 dmdba dinstall 25K 12月 16 11:38 /home/dmdba/scripts/conf_dmini.sql
创建兼容其他数据库脚本:
-rw------- 1 dmdba dinstall 1.7K 12月 16 11:38 /home/dmdba/scripts/conf_com_mod.sql
创建数据库优化结果查询脚本:
-rw------- 1 dmdba dinstall 4.9K 12月 16 11:38 /home/dmdba/scripts/query_dmini.sql
创建数据库搜集统计信息脚本:
-rw------- 1 dmdba dinstall 1.8K 12月 16 11:38 /home/dmdba/scripts/conf_statistics.sql
#==============================================================#
配置节点: 192.168.6.91
#==============================================================#
节点 192.168.6.91 开始配置:
███████ ████ ████ ████████ ██ ██ ██ ██ ██ ██ ██
░██░░░░██ ░██░██ ██░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
░██ ░██░██░░██ ██ ░██░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░██ ░░███ ░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██░██ ░░█ ░██░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░██ ██ ░██ ░ ░██ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░███████ ░██ ░██ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░ ░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
#==============================================================#
打印系统信息
#==============================================================#
服务器时间:
2024年 12月 16日 星期一 11:38:11 CST
操作系统版本:
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Halberd)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
ANSI_COLOR="0;31"
内核信息:
Linux version 4.19.90-89.11.v2401.ky10.x86_64 (root@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Tue May 7 18:33:01 CST 2024
服务器属性:
vmware
cpu信息:
型号名称 :Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
物理 CPU 个数 :4
每个物理 CPU 的逻辑核数 :2
系统的 CPU 线程数 :8
内存信息:
total used free shared buff/cache available
Mem: 6683 380 4557 28 1745 6001
Swap: 8091 0 8091
total used free shared buff/cache available
Mem: 6.5Gi 380Mi 4.5Gi 28Mi 1.7Gi 5.9Gi
Swap: 7.9Gi 0B 7.9Gi
挂载信息:
/dev/mapper/klas-root / xfs defaults 0 0
UUID=e0520306-e2b2-4b9e-8659-179bc3d78fcb /boot xfs defaults 0 0
/dev/mapper/klas-swap none swap defaults 0 0
目录信息:
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.3G 0 3.3G 0% /dev
tmpfs 3.3G 0 3.3G 0% /dev/shm
tmpfs 3.3G 26M 3.3G 1% /run
tmpfs 3.3G 0 3.3G 0% /sys/fs/cgroup
/dev/mapper/klas-root 92G 9.1G 82G 10% /
tmpfs 3.3G 16K 3.3G 1% /tmp
/dev/sda1 1014M 212M 803M 21% /boot
tmpfs 669M 0 669M 0% /run/user/992
tmpfs 669M 0 669M 0% /run/user/0
/dev/sr0 4.4G 4.4G 0 100% /mnt
#==============================================================#
添加端口并禁用防火墙
#==============================================================#
端口 5236 已成功添加到防火墙.
端口 12345 已成功添加到防火墙.
端口 12346 已成功添加到防火墙.
端口 12347 已成功添加到防火墙.
端口 8888 已成功添加到防火墙.
端口 9461 已成功添加到防火墙.
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
12月 13 16:06:31 dsc02 systemd[1]: Starting firewalld - dynamic firewall daemon...
12月 13 16:06:35 dsc02 systemd[1]: Started firewalld - dynamic firewall daemon.
12月 16 11:38:14 dsc02 systemd[1]: Stopping firewalld - dynamic firewall daemon...
12月 16 11:38:15 dsc02 systemd[1]: firewalld.service: Succeeded.
12月 16 11:38:15 dsc02 systemd[1]: Stopped firewalld - dynamic firewall daemon.
#==============================================================#
禁用 SELinux
#==============================================================#
SELinux 已经被禁用
#==============================================================#
调整 SWAP 分区
#==============================================================#
total used free shared buff/cache available
Mem: 6683 365 4572 28 1745 6016
Swap: 8091 0 8091
/dev/mapper/klas-swap none swap defaults 0 0
#==============================================================#
禁用透明大页 & 禁用NUMA & 开启 I/0 schedule
#==============================================================#
args="ro resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high audit=0 transparent_hugepage=never elevator=deadline numa=off"
-resume=/dev/mapper/klas-swap
-args="ro
args="ro resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high audit=0 transparent_hugepage=never elevator=deadline numa=off"
-audit=0
-crashkernel=1024M,high
#==============================================================#
配置内核参数和资源
#==============================================================#
kernel.sysrq = 0
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.dmesg_restrict = 1
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
fs.aio-max-nr = 1048576
fs.file-max = 6815744
fs.nr_open = 20480000
kernel.core_pattern = /dmbak/dmcore/core.%e.%p.%t
kernel.panic_on_oops = 1
kernel.numa_balancing = 0
kernel.randomize_va_space = 2
kernel.shmall = 2097152
kernel.shmmax = 7008067583
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_retries2 = 3
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_wmem = 8192 65536 16777216
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.swappiness = 10
vm.min_free_kbytes = 34219
vm.numa_stat = 0
vm.overcommit_memory = 0
vm.zone_reclaim_mode = 0
#==============================================================#
配置系统资源
#==============================================================#
# DMBegin
* hard core 0
* soft core 0
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba hard data unlimited
dmdba soft data unlimited
dmdba hard fsize unlimited
dmdba soft fsize unlimited
dmdba soft stack 65536
dmdba hard stack 65536
# DMEnd
# DMBegin
session required pam_limits.so
session required /lib64/security/pam_limits.so
# DMEnd
#==============================================================#
配置文件数和进程数限制
#==============================================================#
DefaultLimitCORE=infinity
DefaultLimitNOFILE=65536
DefaultLimitNPROC=10240
# DMBegin
dmdba soft nproc 65536
dmdba hard nproc 65536
# DMEnd
#==============================================================#
配置与用户会话和系统登录管理相关的参数
#==============================================================#
# DMBegin
HandleSuspendKey=ignore
HandleHibernateKey=ignore
IdleAction=ignore
KillUserProcesses=no
RemoveIPC=no
# DMEnd
#==============================================================#
配置cache脚本
#==============================================================#
no crontab for root
#!/bin/bash
# DMBegin
sync
echo 1 > /proc/sys/vm/drop_caches
* 6 * * * root /root/drop_cache.sh
#==============================================================#
配置/etc/profile
#==============================================================#
export LANG=zh_CN.UTF-8
export MALLOC_ARENA_MAX=4
#==============================================================#
配置主机名
#==============================================================#
当前主机名:dsc02
#==============================================================#
创建 dmdba 用户,密码是:Dameng@123
#==============================================================#
dmdba:x:56781:56781::/home/dmdba:/bin/bash
用户id=56781(dmdba) 组id=56781(dinstall) 组=56781(dinstall),56782(dmdba),56783(dmsso),56784(dmauditor)
#==============================================================#
配置用户环境变量
#==============================================================#
[ -f ~/.bashrc ] && . ~/.bashrc
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm/bin"
export DM_HOME="/dm"
export JAVA_HOME="${DM_HOME}/jdk"
export JRE_HOME="${JAVA_HOME}/jre"
export CLASSPATH="${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH"
export PATH="$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$DM_HOME/bin:$DM_HOME/tool"
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
alias dmbin="cd $DM_HOME/bin"
alias dmlog="cd $DM_HOME/log"
alias dmdata="cd /dmdata/DSC"
alias ds="disql -L /:5236 as sysdba"
alias dsql="disql -L -S /:5236 as sysdba -C \"set linesize 999 pagesize 999 long 1000 feed off\" -E"
alias dssql="disql -L -S /:5236 as sysdba \\\`"
alias sqllog="cd /dmdata/DSC/dsc1_config/sqllog"
alias dc="dmcssm /dmdata/DSC/dmcssm.ini"
#==============================================================#
挂载DMISO
#==============================================================#
总用量 969M
-r-xr-xr-x 1 root root 2.8M 9月 18 15:05 DM8 Install.pdf
-r-xr-xr-x 1 root root 967M 9月 20 09:30 DMInstall.bin
#==============================================================#
开始安装达梦数据库软件
#==============================================================#
解压安装程序..........
硬件架构校验通过!
2024-12-16 11:38:38
[INFO] 安装达梦数据库...
2024-12-16 11:38:38
[INFO] 安装 基础 模块...
2024-12-16 11:38:47
[INFO] 安装 服务器 模块...
2024-12-16 11:38:55
[INFO] 安装 客户端 模块...
2024-12-16 11:39:04
[INFO] 安装 驱动 模块...
2024-12-16 11:39:05
[INFO] 安装 手册 模块...
2024-12-16 11:39:05
[INFO] 安装 服务 模块...
2024-12-16 11:39:07
[INFO] 移动日志文件。
2024-12-16 11:39:08
[INFO] 正在启动DmAPService服务...
2024-12-16 11:39:09
[INFO] 启动DmAPService服务成功。
2024-12-16 11:39:09
[INFO] 安装达梦数据库完成。
#==============================================================#
配置 glogin.sql
#==============================================================#
column expired_date new_value _edate
select to_char(expired_date,'yyyy-mm-dd') expired_date from v$license;
host echo "密钥过期时间:&_edate"
set serveroutput on size 1000000
set long 200
set linesize 500
set pagesize 5000
set trimspool on
set lineshow off
col name new_value _dname
select name from v$database;
col port_num new_value _port
select para_value port_num from v$dm_ini where para_name='PORT_NUM';
set SQLPROMPT "_USER'@'_dname':'_port SQL> "
set time on
#==============================================================#
拷贝UDEV规则文件,并启动UDEV
#==============================================================#
文件 /etc/udev/rules.d/99-dm-asmdevices.rules 的内容为:
KERNEL=="sd*|vd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="2c006234236caf670", SYMLINK+="asmdisk/dmdcr01", OWNER="dmdba", GROUP="dinstall", MODE="0660"
KERNEL=="sd*|vd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="2310e9d5ada795544", SYMLINK+="asmdisk/dmvote01", OWNER="dmdba", GROUP="dinstall", MODE="0660"
KERNEL=="sd*|vd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name", RESULT=="2c7db3f720421cda3", SYMLINK+="asmdisk/dmdata01", OWNER="dmdba", GROUP="dinstall", MODE="0660"
#==============================================================#
查看udev磁盘
#==============================================================#
总用量 0
lrwxrwxrwx 1 root root 6 12月 16 11:39 dmdata01 -> ../sdd
lrwxrwxrwx 1 root root 6 12月 16 11:39 dmdcr01 -> ../sdb
lrwxrwxrwx 1 root root 6 12月 16 11:39 dmvote01 -> ../sdc
#==============================================================#
正在复制用于DSC的参数文件 DSC
#==============================================================#
总用量 16K
-rw------- 1 dmdba dinstall 160 12月 16 11:38 dmasvrmal.ini
-rw-r--r-- 1 dmdba dinstall 149 12月 16 11:39 dmcssm.ini
-rw------- 1 dmdba dinstall 1006 12月 16 11:38 dmdcr_cfg.ini
-rw-r--r-- 1 dmdba dinstall 383 12月 16 11:39 dmdcr.ini
#==============================================================#
注册css和asm服务
#==============================================================#
Created symlink /etc/systemd/system/multi-user.target.wants/DmCSSServiceCss.service → /usr/lib/systemd/system/DmCSSServiceCss.service.
创建服务(DmCSSServiceCss)完成
Created symlink /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceAsmsvr.service → /usr/lib/systemd/system/DmASMSvrServiceAsmsvr.service.
创建服务(DmASMSvrServiceAsmsvr)完成
#==============================================================#
创建归档和备份脚本
#==============================================================#
创建数据库归档脚本:
-rw-r--r-- 1 dmdba dinstall 340 12月 16 11:39 /home/dmdba/scripts/conf_arch.sql
创建数据库备份脚本:
-rw-r--r-- 1 dmdba dinstall 1.5K 12月 16 11:39 /home/dmdba/scripts/conf_fullbackup.sql
-rw-r--r-- 1 dmdba dinstall 2.3K 12月 16 11:39 /home/dmdba/scripts/conf_incrbackup.sql
-rw-r--r-- 1 dmdba dinstall 1.5K 12月 16 11:39 /home/dmdba/scripts/check_backup.sql
创建 DMDBA 用户脚本,密码 SYSDBA :
-rw-r--r-- 1 dmdba dinstall 553 12月 16 11:39 /home/dmdba/scripts/create_user.sql
#==============================================================#
创建达梦数据库优化脚本
#==============================================================#
创建数据库参数配置脚本:
-rw-r--r-- 1 dmdba dinstall 25K 12月 16 11:39 /home/dmdba/scripts/conf_dmini.sql
创建兼容其他数据库脚本:
-rw-r--r-- 1 dmdba dinstall 1.7K 12月 16 11:39 /home/dmdba/scripts/conf_com_mod.sql
创建数据库优化结果查询脚本:
-rw-r--r-- 1 dmdba dinstall 4.9K 12月 16 11:39 /home/dmdba/scripts/query_dmini.sql
创建数据库搜集统计信息脚本:
-rw-r--r-- 1 dmdba dinstall 1.8K 12月 16 11:39 /home/dmdba/scripts/conf_statistics.sql
节点 192.168.6.91 配置完成.
#==============================================================#
初始化 ASM 磁盘
#==============================================================#
dmasmcmd V8
ASM>create dcrdisk '/dev/asmdisk/dmdcr01' 'dmdcr01'
[TRACE]The ASM initialize dcrdisk /dev/asmdisk/dmdcr01 to name DMASMdmdcr01
Used time: 123.944(ms).
ASM>create votedisk '/dev/asmdisk/dmvote01' 'dmvote01'
[TRACE]The ASM initialize votedisk /dev/asmdisk/dmvote01 to name DMASMdmvote01
Used time: 118.082(ms).
ASM>create asmdisk '/dev/asmdisk/dmdata01' 'dmdata01'
[TRACE]The ASM initialize asmdisk /dev/asmdisk/dmdata01 to name DMASMdmdata01
Used time: 91.007(ms).
ASM>init dcrdisk '/dev/asmdisk/dmdcr01' from '/dmdata/DSC/dmdcr_cfg.ini' identified by 'Dameng1'
[TRACE]DG 126 alloc extent for inode (0, 0, 1)
[TRACE]DG 126 alloc 4 extents for 0xfe000002 (0, 0, 2)->(0, 0, 5)
Used time: 00:00:01.517.
ASM>init votedisk '/dev/asmdisk/dmvote01' from '/dmdata/DSC/dmdcr_cfg.ini'
[TRACE]DG 125 alloc extent for inode (0, 0, 1)
[TRACE]DG 125 alloc 4 extents for 0xfd000002 (0, 0, 2)->(0, 0, 5)
Used time: 763.982(ms).
#==============================================================#
启动css和asm服务
#==============================================================#
Starting DmCSSServiceCss: [ OK ]
节点 192.168.6.90 启动成功
Starting DmCSSServiceCss: [ OK ]
节点 192.168.6.91 启动成功
Starting DmASMSvrServiceAsmsvr: [ OK ]
节点 192.168.6.90 启动成功
Starting DmASMSvrServiceAsmsvr: [ OK ]
节点 192.168.6.91 启动成功
#==============================================================#
创建ASM磁盘组
#==============================================================#
Used time: 632.307(ms).
DMASMTOOL V8
ASM>ASM>
#==============================================================#
初始化数据库实例
#==============================================================#
file dm.key not found, use default license!
License will expire on 2025-09-19
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: +DMDATA/dmdata/DSC/dsc01_log01.log
log file path: +DMDATA/dmdata/DSC/dsc01_log02.log
log file path: +DMDATA/dmdata/DSC/dsc02_log01.log
log file path: +DMDATA/dmdata/DSC/dsc02_log02.log
write to dir [+DMDATA/dmdata/DSC].
create dm database success. 2024-12-16 11:41:01
initdb V8
db version: 0x7000c
数据库初始化完成
#==============================================================#
注册服务并启动数据库
#==============================================================#
在节点 192.168.6.90 注册服务并启动数据库
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDSC.service → /usr/lib/systemd/system/DmServiceDSC.service.
创建服务(DmServiceDSC)完成
Starting DmServiceDSC: connnect dmasmtool(dmasmtoolm) successfully.
[ OK ]
节点 192.168.6.90 启动成功
在节点 192.168.6.91 注册服务并启动数据库
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDSC.service → /usr/lib/systemd/system/DmServiceDSC.service.
创建服务(DmServiceDSC)完成
Starting DmServiceDSC: connnect dmasmtool(dmasmtoolm) successfully.
[ OK ]
节点 192.168.6.91 启动成功
#==============================================================#
配置数据库归档
#==============================================================#
在节点 192.168.6.90 创建归档
密钥过期时间:2025-09-19
操作已执行
已用时间: 4.852(毫秒). 执行号:0.
操作已执行
已用时间: 34.215(毫秒). 执行号:0.
操作已执行
已用时间: 63.956(毫秒). 执行号:0.
操作已执行
已用时间: 50.692(毫秒). 执行号:0.
操作已执行
已用时间: 35.989(毫秒). 执行号:0.
在节点 192.168.6.91 创建归档
密钥过期时间:2025-09-19
操作已执行
已用时间: 24.989(毫秒). 执行号:0.
操作已执行
已用时间: 33.889(毫秒). 执行号:0.
操作已执行
已用时间: 50.762(毫秒). 执行号:0.
操作已执行
已用时间: 47.345(毫秒). 执行号:0.
操作已执行
已用时间: 23.198(毫秒). 执行号:0.
#==============================================================#
在 192.168.6.91 创建备份
#==============================================================#
密钥过期时间:2025-09-19
NAME DESCRIBE
-------- -------------------------------------------------------------------------------
bak_arch 每天备份归档,删除30天之前的备份
bak_full 周六全量备份,并删除30天之前的备份。
bak_inc 周日到周五做增量备份,如果失败,清除8天前备份,做全量备份
NAME COMMAND
-------- ------------------
bak_full 01000000/dmbak/DSC
#==============================================================#
配置搜集统计信息作业
#==============================================================#
密钥过期时间:2025-09-19
NAME DESCRIBE
---------- ----------------------------------------------------
statistics 每周六凌晨2点开始收集所有列统计信息
#==============================================================#
优化数据库基础参数
#==============================================================#
密钥过期时间:2025-09-19
MEMORY_TARGET+BUFFER+RECYCLE+HJ_BUF_GLOBAL_SIZE+HAGR_BUF_GLOBAL_SIZE+CACHE_POOL_SIZE+DICT_BUF_SIZE+SORT_BUF_GLOBAL_SIZE+RLOG_POO
--------------------------------------------------------------------------------------------------------------------------------
6384
#==============================================================#
打开兼容 2 参数
#==============================================================#
sp_set_para_value(2,'COMPATIBLE_MODE',2);
密钥过期时间:2025-09-19
请查看脚本 /home/dmdba/scripts/conf_com_mod.sql ,自行判断是否需要执行此脚本
#==============================================================#
开启操作系统认证
#==============================================================#
sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',1);
密钥过期时间:2025-09-19
#==============================================================#
开启SQLLOG日志
#==============================================================#
sp_set_para_value(2,'SVR_LOG',1);
密钥过期时间:2025-09-19
#==============================================================#
修改整数计算方式
#==============================================================#
sp_set_para_value(2,'CALC_AS_DECIMAL',1);
密钥过期时间:2025-09-19
#==============================================================#
重启数据库,优化参数生效
#==============================================================#
关闭数据库
[monitor] [2024-12-16 11:42:12:927] CSS MONITOR V8
[monitor] [2024-12-16 11:42:13:237] CSS MONITOR SYSTEM IS READY.
[monitor] [2024-12-16 11:42:13:243] Wait CSS Control Node choosed...
[monitor] [2024-12-16 11:42:14:546] Wait CSS Control Node choosed succeed.
[monitor] [2024-12-16 11:42:14:854] 组(GRP_DSC)中节点对应的CSS自动拉起标记已经处于关闭状态
[monitor] [2024-12-16 11:42:14:855] 通知CSS(seqno:0)执行EP STOP(GRP_DSC)
[monitor] [2024-12-16 11:42:22:865] 通知当前活动的CSS执行清理操作
[monitor] [2024-12-16 11:42:24:789] 清理CSS(0)请求成功
[monitor] [2024-12-16 11:42:24:840] 清理CSS(1)请求成功
[monitor] [2024-12-16 11:42:24:843] 命令EP STOP GRP_DSC执行成功
启动数据库
[monitor] [2024-12-16 11:42:30:971] CSS MONITOR V8
[monitor] [2024-12-16 11:42:30:986] CSS MONITOR SYSTEM IS READY.
[monitor] [2024-12-16 11:42:30:990] Wait CSS Control Node choosed...
[monitor] [2024-12-16 11:42:32:293] Wait CSS Control Node choosed succeed.
[monitor] [2024-12-16 11:42:32:600] 通知CSS(seqno:0)执行EP STARTUP(DSC01)
[monitor] [2024-12-16 11:42:45:618] 通知CSS(seqno:0)执行EP STARTUP(DSC01)成功
[monitor] [2024-12-16 11:42:45:621] 通知CSS(seqno:1)执行EP STARTUP(DSC02)
[monitor] [2024-12-16 11:42:59:390] 通知CSS(seqno:1)执行EP STARTUP(DSC02)成功
[monitor] [2024-12-16 11:42:59:393] 当前不存在活动的CSS或者活动CSS不符合执行条件
[monitor] [2024-12-16 11:42:59:396] 通知当前活动的CSS执行清理操作
[monitor] [2024-12-16 11:42:59:697] 清理CSS(0)请求成功
[monitor] [2024-12-16 11:42:59:849] 清理CSS(1)请求成功
[monitor] [2024-12-16 11:42:59:851] 组(GRP_DSC)中的节点启动成功,但打开CSS的自动拉起功能失败
#==============================================================#
测试作业备份数据库
#==============================================================#
密钥过期时间:2025-09-19
备份集: /dmbak/DSC/DB_DSC_FULL_2024_12_16_11_43_06.
DMSQL 过程已成功完成
已用时间: 00:00:32.621. 执行号:605.
#==============================================================#
创建DMDBA用户,密码:SYSDBA
#==============================================================#
密钥过期时间:2025-09-19
USERNAME
----------
SYS
DMDBA
SYSSSO
SYSAUDITOR
SYSDBA
#==============================================================#
查询数据库优化结果:
#==============================================================#
密钥过期时间:2025-09-19
NAME PARA_VALUE FILE_VALUE
---------------------- ----------- ------------------------
MAX_OS_MEMORY 100 100
MEMORY_POOL 300 300
MEMORY_N_POOLS 2 2
MEMORY_TARGET 500 500
MEMORY_MAGIC_CHECK 1 1
BUFFER 2000 2000
BUFFER_POOLS 7 7
FAST_POOL_PAGES 10000 10000
FAST_ROLL_PAGES 3000 3000
RECYCLE 200 200
RECYCLE_POOLS 2 2
MULTI_PAGE_GET_NUM 16 16
PRELOAD_SCAN_NUM 4 4
PRELOAD_EXTENT_NUM 5 5
SORT_BUF_SIZE 10 10
SORT_BLK_SIZE 1 1
SORT_BUF_GLOBAL_SIZE 500 500
SORT_FLAG 0 0
HJ_BUF_GLOBAL_SIZE 1000 1000
HJ_BUF_SIZE 100 100
HAGR_BUF_GLOBAL_SIZE 1000 1000
HAGR_BUF_SIZE 100 100
DICT_BUF_SIZE 128 128
VM_POOL_TARGET 8192 8192
SESS_POOL_TARGET 8192 8192
WORKER_THREADS 8 8
TASK_THREADS 16 16
USE_PLN_POOL 1 1
ENABLE_INJECT_HINT 1 1
VIEW_PULLUP_FLAG 1 1
OPTIMIZER_MODE 1 1
ADAPTIVE_NPLN_FLAG 0 0
DIRECT_IO 1 1
IO_THR_GROUPS 8 8
MAX_SESSIONS 100 100
MAX_SESSION_STATEMENT 20000 20000
FAST_LOGIN 1 1
PK_WITH_CLUSTER 0 0
OLAP_FLAG 2 2
TEMP_SIZE 1024 1024
TEMP_SPACE_LIMIT 102400 102400
CACHE_POOL_SIZE 200 200
PARALLEL_POLICY 2 2
BTR_SPLIT_MODE 1 1
RLOG_POOL_SIZE 256 256
UNDO_EXTENT_NUM 16 16
PARALLEL_PURGE_FLAG 1 1
TRX_DICT_LOCK_NUM 5 5
ENABLE_ENCRYPT 0 0
SVR_LOG 1 1
ENABLE_MONITOR 1 1
ENABLE_FREQROOTS 0 0
ENABLE_MONITOR_BP 0 0
DSC_N_CTLS 50000 50000
DSC_N_POOLS 2 2
DSC_ENABLE_MONITOR 0 0
DSC_HALT_SYNC 0 0
MAL_CHECK_INTERVAL placeholder 30
MAL_CONN_FAIL_INTERVAL placeholder 10
MAL_BUF_SIZE placeholder 100
MAL_SYS_BUF_SIZE placeholder 0
MAL_COMPRESS_LEVEL placeholder 0
MAL_TEMP_PATH placeholder
MAL_VPOOL_SIZE placeholder 128
MAL_INST_NAME placeholder DSC01,DSC02
MAL_HOST placeholder 5.5.5.1,5.5.5.2
MAL_PORT placeholder 9461,9461
MAL_INST_HOST placeholder NULL
MAL_INST_PORT placeholder 0,0
MAL_DW_PORT placeholder 0,0
ARCH_DEST placeholder +DMDATA/dmarch/DSC/dsc01
恭喜!DSC集群安装成功,现在是否重启主机:[Y/N] Y
正在重启 ......
正在关闭 DB 实例......
[monitor] [2024-12-16 11:47:48:524] CSS MONITOR V8
[monitor] [2024-12-16 11:47:48:597] CSS MONITOR SYSTEM IS READY.
[monitor] [2024-12-16 11:47:48:603] Wait CSS Control Node choosed...
[monitor] [2024-12-16 11:47:49:805] Wait CSS Control Node choosed succeed.
[monitor] [2024-12-16 11:47:50:112] 组(GRP_DSC)中节点对应的CSS自动拉起标记已经处于关闭状态
[monitor] [2024-12-16 11:47:50:114] 通知CSS(seqno:0)执行EP STOP(GRP_DSC)
[monitor] [2024-12-16 11:47:57:574] 通知当前活动的CSS执行清理操作
[monitor] [2024-12-16 11:47:58:879] 清理CSS(0)请求成功
[monitor] [2024-12-16 11:47:58:932] 清理CSS(1)请求成功
[monitor] [2024-12-16 11:47:58:943] 命令EP STOP GRP_DSC执行成功
正在关闭 ASM 实例......
[monitor] [2024-12-16 11:48:00:036] CSS MONITOR V8
[monitor] [2024-12-16 11:48:00:050] CSS MONITOR SYSTEM IS READY.
[monitor] [2024-12-16 11:48:00:052] Wait CSS Control Node choosed...
[monitor] [2024-12-16 11:48:01:356] Wait CSS Control Node choosed succeed.
[monitor] [2024-12-16 11:48:01:664] 组(GRP_ASM)中节点对应的CSS自动拉起标记已经处于关闭状态
[monitor] [2024-12-16 11:48:01:665] 通知CSS(seqno:0)执行EP STOP(GRP_ASM)
[monitor] [2024-12-16 11:48:06:524] 通知当前活动的CSS执行清理操作
[monitor] [2024-12-16 11:48:07:829] 清理CSS(0)请求成功
[monitor] [2024-12-16 11:48:07:882] 清理CSS(1)请求成功
[monitor] [2024-12-16 11:48:07:893] 命令EP STOP GRP_ASM执行成功
正在关闭 192.168.6.90 节点数据库服务......
Stopping DmCSSServiceCss: [ OK ]
正在关闭 192.168.6.91 节点数据库服务......
Stopping DmCSSServiceCss: [ OK ]
Connection to 192.168.6.91 closed by remote host.
错误:命令 'shutdown -r now' 在主机 '192.168.6.91' 上执行失败,退出码为 255。
整个安装过程只要十几分钟,大写的 NIUBILITY。
重启完成后,尝试连接达梦数据库:
[root@dsc01:/root]# sd
[dmdba@dsc01:/home/dmdba]$ ds
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.905(ms)
密钥过期时间:2025-09-19
disql V8
-- 查看集群状态
11:56:24 dmdba@DSC:5236 SQL> select * from V$DSC_EP_INFO;
EP_NAME EP_SEQNO EP_GUID EP_TIMESTAMP EP_MODE EP_STATUS
------- ----------- -------------------- -------------------- ------------ ---------
DSC01 0 13930 14203 Control Node OK
DSC02 1 14091 14366 Normal Node OK
-- 查看实例状态
12:02:20 dmdba@DSC:5236 SQL> select name,instance_name,host_name from gv$instance;
NAME INSTANCE_NAME HOST_NAME
----- ------------- ---------
DSC01 DSC01 dsc01
DSC02 DSC02 dsc02
-- 查看 ASM 磁盘组
12:02:25 dmdba@DSC:5236 SQL> select group_id,group_name,TOTAL_SIZE from v$asmgroup;
GROUP_ID GROUP_NAME TOTAL_SIZE
----------- ---------- -----------
0 DMDATA 20447
125 VOTE 5120
126 DCR 5120
-- 查看 ASM 磁盘路径
12:02:48 dmdba@DSC:5236 SQL> select disk_name,disk_path from v$asmdisk;
DISK_NAME DISK_PATH
------------- ---------------------
DMASMdmdata01 /dev/asmdisk/dmdata01
DMASMdmvote01 /dev/asmdisk/dmvote01
DMASMdmdcr01 /dev/asmdisk/dmdcr01
数据库访问正常。
写在最后
本文简单演示了如何一键安装达梦 DSC 集群,熟悉达梦 DSC 的朋友可以省不少事,不熟悉的朋友看完肯定一脸懵哈哈,没关系,后面我后写一篇一步步实战安装达梦 DSC 的文章!
如果有遗漏或者不足的地方,欢迎评论区补充或者投稿,感谢阅读!
往期精彩文章
达梦数据库安装最详细教程
一招教你学会达梦数据库的免密登录
一文讲透达梦数据库的大小写敏感
效率翻倍!达梦数据库 disql 使用技巧全攻略
达梦数据库参数配置与一键优化指南
达梦 AWR 报告快速上手指南




