达梦数据库共享存储集群搭建(DSC双节点+Openfiler-IP SAN存储)

官方指导手册:共享存储集群安装部署 | 达梦技术文档

目录

一、环境准备

共享存储规划

端口规划(超级无敌重要,决定性作用)

1.1.关闭防火墙

1.2.关闭selinux安全上下文

1.3.关闭透明大页

1.3.1.Centos系统具体命令

1.4.设置环境资源使用限制

[1.4.1.调整 limits.conf 参数](#1.4.1.调整 limits.conf 参数)

1)参数文件介绍

2)调整项介绍

3)具体命令

[1.4.2.调整 system.conf 参数](#1.4.2.调整 system.conf 参数)

[1) 参数文件介绍](#1) 参数文件介绍)

[2) 调整项介绍](#2) 调整项介绍)

3)具体命令

[1.4.3.调整 nproc.conf 参数](#1.4.3.调整 nproc.conf 参数)

[1) 参数文件介绍](#1) 参数文件介绍)

[2) 调整项介绍](#2) 调整项介绍)

3)具体命令

1.5.创建用户、组和目录

1.5.1.用户和组

1.5.2.创建目录并赋权

1.5.3.修改dmdba用户的环境变量

二、安装达梦数据库软件

2.1.上传安装包

2.2.解压zip包,获取iso文件

2.3.使用root用户挂载数据库软件的iso文件

2.4.使用dmdba用户安装软件

2.5.使用root系统用户执行命令

2.6.进行时间同步使用Chrony(RHEL/CentOS7+)

2.6.1.在两节点安装配置chrony

1)安装chrony

2)配置chrony

2.7.2.启动并设置服务为开机自启

2.7.3.立即进行同步并验证

三、DMSCS配置

3.1.创建dmdcr_cfg.ini(DCR配置文件)

3.2.初始化磁盘组(创建ASM磁盘)

3.2.1.初始化DCR和VOTE

3.2.2.验证初始化结果

3.2.3.配置dmasvrmal.ini

3.2.4.配置dmdcr.ini

3.2.5.启动DMCSS、DMASM服务

3.2.6.创建ASM磁盘组

3.2.7.配置dminit.ini

3.3.初始化数据库实例

[3.4.配置 dmarch.ini 文件](#3.4.配置 dmarch.ini 文件)

3.4.启动DMSERCER服务

[3.5.注册 CSS、ASM、DMSERVER 服务](#3.5.注册 CSS、ASM、DMSERVER 服务)

3.6.配置监视器dmcssm.ini

3.7.配置服务名访问DCS集群(可选)

四、登录并验证集群

4.1.归档与日志

4.1.1.查看本地归档状态与归档日志目录

4.1.2.验证归档完整性

4.2.数据库实例

4.2.1.实例运行状态

4.2.2.查看实例的集群状态

4.3.测试

4.3.1.创建一张表并插入数据

4.3.2.在第二个节点查询数据


一、环境准备

注意保持双节点的一致性

使用Openfiler为达梦数据库集群搭建共享存储-CSDN博客

共享存储规划

DMDSC 集群为了实现多实例同时访问和修改数据,需要数据文件、控制文件和日志文件都放到共享存储上。DM 支持两种共享存储,裸设备和 DMASM,裸设备是未经过格式化的特殊字符设备,推荐使用 DMASM 共享存储。

其中,VOTE 是表决磁盘,一个集群一个表决磁盘。DCR 是 DM 集群注册表的简称,用于存储、维护集群配置的详细信息,一个集群一个注册表。生产环境中,共享存储一般由操作系统管理员进行划分。共享存储规划可参照下表:

名称 拟定配置 分区大小 备注
VOTE 磁盘 /dev/dm/asm-dmvote 5 GB 记录集群成员信息,集群通过 Voting Disk 进行心跳检测,确定集群中节点的状态
DCR 盘 /dev/dm/asm-dmdcr 10GB 用于存储、维护集群配置的详细信息,整个集群环境共享 DCR 配置信息
数据盘 /dev/dm/asm-dmdata* 70 GB 用于存放数据
Redo 日志盘 /dev/dm/asm-dmlog 10.4 GB 用于存储数据库集群 Redo log

注意

以上磁盘大小可按照实际业务需要进行调整。Redo 日志盘的空间大小建议最小不少于 4G,否则会引起后面数据库启动失败等问题。

端口规划(超级无敌重要,决定性作用)

注意这里的网卡IP,一个是75,一个是76

数据库服务器名称 db0 db1
业务服务名 [db_service_name]
业务 IP 192.168.75.171 192.168.75.172
内部数据交换网络 IP 192.168.76.171 192.168.76.172
dmdcr_cfg CSS DCR_EP_NAME CSS0 CSS1
dmdcr_cfg CSS DCR_EP_HOST 192.168.76.171 192.168.76.172
dmdcr_cfg CSS DCR_EP_PORT 11286 11286
dmdcr_cfg ASM DCR_EP_NAME ASM0 ASM1
dmdcr_cfg ASM DCR_EP_HOST 192.168.76.171 192.168.76.172
dmdcr_cfg ASM DCR_EP_PORT 11276 11276
dmdcr_cfg DB DCR_EP_NAME DSC0 DSC1
dmdcr_cfg DB DCR_EP_PORT 5236 5236
dmasvrmal MAL_INST_NAME ASM0 ASM1
dmasvrmal MAL_HOST 192.168.76.171 192.168.76.172
dmasvrmal MAL_PORT 11266 11266
dminit 实例名 DSC0 DSC1
dminit PORT_NUM 5236 5236
dminit MAL_HOST 192.168.76.171 192.168.76.172
dminit MAL_PORT 11246 11246
OGUID 210715(自拟)

db0 与 db1 两台机器的端口规划可以根据实际需求设置。

1.1.关闭防火墙

#关闭防火墙

systemctl stop firewalld

#关闭开机自启

systemctl disable firewalld

1.2.关闭selinux安全上下文

SELinux 组件可用来加强系统安全性。在 Linux 中,SELinux 凌驾于 root 权限之上,设置了很多额外的配置项。如果了解这些配置项,可以进行相应设置,但如果不了解,那么 SELinux 可能不仅没有一些实际性的帮助,反而会带来很多不确定因素。

SELinux 有 3 种模式,分别是 Enforcing,Permissive 和 Disabled 状态。

编辑/etc/selinux/config

注意

修改 SELinux 永久关闭,必须重启服务器,才能生效。且永久关闭后,不能通过 setenforce 1 命令临时打开。

1.3.关闭透明大页

Transparent HugePages (透明大页)对系统的性能产生影响的原因:

在 khugepaged 进行扫描进程占用内存,并将 4k Page 交换为 Huge Pages 的这个过程中,对于操作的内存的各种分配活动都需要各种内存锁,直接影响程序的内存访问性能。并且,这个过程对于应用是透明的,在应用层面不可控制,对于专门为 4k page 优化的程序来说,可能会造成随机的性能下降现象。

1.3.1.Centos系统具体命令

##永久修改

##编辑grub文件,在 "GRUB_CMDLINE_LINUX=" 配置参数结尾加入 "transparent_hugepage=never",如下图所示加上:transparent_hugepage=never

root@dcs01 \~\]# vi /etc/default/grub \[root@dcs02 \~\]# vi /etc/default/grub ![](https://i-blog.csdnimg.cn/direct/4d58c7deee694216a046414b3524f990.png) ![](https://i-blog.csdnimg.cn/direct/41ba6dc934e14edcae40c6a8d211c6a6.png) ##重新生成 /etc/grub2.cfg 配置文件: \[root@\~\]# grub2-mkconfig -o /etc/grub2.cfg ![](https://i-blog.csdnimg.cn/direct/c9fe6ef05b8f4daaaee1b5911063585a.png) ![](https://i-blog.csdnimg.cn/direct/c8b5a65abfd54cc287185b7b9c90b5b7.png) ##重启操作系统 \[root@\]# reboot ##再次确认 \[root@\]# cat /sys/kernel/mm/transparent_hugepage/enabled ![](https://i-blog.csdnimg.cn/direct/5fe7a0d39c614a3595cb47a7419d3b54.png) 查看方括号里边的值!!! ### 1.4.设置环境资源使用限制 #### 1.4.1.调整 limits.conf 参数 ##### 1)参数文件介绍 在 Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。 ##### 2)调整项介绍 1. core file size 建议设置为 unlimited。并将 core 文件目录放到大的空间目录存放。 2. data seg size 建议设置为 1048576 以上或 unlimited,此参数过小将导致数据库启动失败。 3. file size 建议设置 unlimited (无限制),此参数过小导致数据库安装或初始化失败。 4. open files 建议设置为 65536 以上或 unlimited。 5. virtual memory 建议设置为 1048576 以上或 unlimited,此参数过小将导致数据库启动失败。 6. max user processes 最大线程数这个参数建议修改为 10240。 ##### 3)具体命令 查询当前的资源限制:ulimit -a ![](https://i-blog.csdnimg.cn/direct/3b4b6b09f26a4f0aac5e73cae5106a8b.png) vi /etc/security/limits.conf > \[root@\~\]# vi /etc/security/limits.conf > > ##在最后面添加以下内容 > > \* soft nproc 65536 > > \* hard nproc 65536 > > \* soft nofile 65536 > > \* hard nofile 65536 > > dmdba soft nice 0 > > dmdba hard nice 0 > > dmdba soft as unlimited > > dmdba hard as unlimited > > dmdba soft fsize unlimited > > dmdba hard fsize unlimited > > dmdba soft nproc 65536 > > dmdba hard nproc 65536 > > dmdba soft nofile 65536 > > dmdba hard nofile 65536 > > dmdba soft core unlimited > > dmdba hard core unlimited > > dmdba soft data unlimited > > dmdba hard data unlimited ![](https://i-blog.csdnimg.cn/direct/8590169ecebe4bf5a80bba785045be35.png) ##重启操作系统 \[root@\]# reboot ##确认是否生效 \[dmdba@\]# ulimit -a #### 1.4.2.调整 system.conf 参数 ##### 1) 参数文件介绍 system.conf为系统和服务管理的配置文件,当运行系统实例时,systemd 将读取这个配置文件system.conf,相反读取 user.conf。 达梦数据库服务注册为系统服务的进程,如通过 systemctl 或者 service 方式设定随机自启动的数据库服务,其能打开的最大文件描述符、proc 数量等不受 limits.conf 控制,需要修改 /etc/systemd/system.conf 文件。 ##### 2) 调整项介绍 (1) DefaultLimitNOFILE:用户默认最大打开文件数。 (2) DefaultLimitNPROC:用户默认最大进程数。 ##### 3)具体命令 vim /etc/systemd/system.conf ![](https://i-blog.csdnimg.cn/direct/ebdf7bc52cbe4f69bc4e2342e73941e7.png) > **注意** > > 保存退出后需要重启服务器才能生效。 #### 1.4.3.调整 nproc.conf 参数 ##### 1) 参数文件介绍 nproc 是操作系统级别对每个用户创建的进程数的限制。文件路径为 /etc/security/limits/nproc。不同操作系统文件名略有不同,其中麒麟 10 中是 nproc.conf;centos6 中是 90-nproccentos,centos7 中是 20-nproc.conf , /etc/security/limits.conf。可配置限制文件打开数,系统进程等资源在该文件配置中写的最大用户进程数是受 /etc/security/limits.d/proc.conf 配置上限影响的。 ##### 2) 调整项介绍 soft 表示软限制,hard 表示硬限制,nproc 进程数,nofile 文件数。 \[root@dcs01 \~\]# cd /etc/security/limits.d \[root@dcs01 limits.d\]# \[root@dcs01 limits.d\]# ls 20-nproc.conf \[root@dcs01 limits.d\]# cat 20-nproc.conf # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. \* soft nproc 4096 root soft nproc unlimited \[root@dcs01 limits.d\]# ##### 3)具体命令 vi /etc/security/limits.d/20-nproc.conf ##添加配置: dmdba soft nproc 65536 dmdba hard nproc 65536 ![](https://i-blog.csdnimg.cn/direct/46c9548d82b041fca81117976ca33e40.png) ![](https://i-blog.csdnimg.cn/direct/0aecdc49c56f40f5bb2c1eb9b2cbac76.png) 重启服务器生效 内核参数设置 ### 1.5.创建用户、组和目录 #### 1.5.1.用户和组 安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。 \[root@\]# groupadd dinstall -g 2001 \[root@\]# useradd -g dinstall dmdba -u 1001 \[root@\]# passwd dmdba \[root@\]# --\<输入密码\> \[root@\~\]# --\<再次输入密码\> 这里由于我之前创建过用户和组,在这里我修改用户ID和组ID与官方手册一致!! usermod -u 1001 dmdba groupmod -g 2001 dinstall ![](https://i-blog.csdnimg.cn/direct/633d4d8f7e7d41568175b92249d02964.png) ![](https://i-blog.csdnimg.cn/direct/86329fd8c8504ceeb8ad75cb7b7914e8.png) #### 1.5.2.创建目录并赋权 \[root@\]# mkdir /opt/dmdbms \[root@\]# chown dmdba:dinstall /opt/dmdbms -R \[root@\]# chmod 777 /opt/dmdbms -R ![](https://i-blog.csdnimg.cn/direct/cf7c6f9fc2564daf87d37922de24bc3f.png) ![](https://i-blog.csdnimg.cn/direct/b8ecd16764c44127b488692054247a3d.png) #### 1.5.3.修改dmdba用户的环境变量 su - dmdba vi /home/dmdba/.bash_profile 或者 vi \~/.bash_profile 追加: export DM_HOME="/dm8" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin" export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool ![](https://i-blog.csdnimg.cn/direct/3b63cf6a732d4352bdd247411cee2d0c.png) > **注意** > > 保存文件后执行 source .bash_profile 生效。 ## 二、安装达梦数据库软件 两节点同步执行操作 ### 2.1.上传安装包 从本地上传软件包 ![](https://i-blog.csdnimg.cn/direct/d1102ddaba71491c85d39ec4dcfe8214.png) ### 2.2.解压zip包,获取iso文件 注意,如果解压失败的,先安装unzip软件,源有问题的执行执行如下操作: **阿里云配置文件(前提情况,具有wget工具,执行命令即可):wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo** [参考:Linux操作系统如何将默认自带的yum源更换为公网源及如何使用yum及rpm包管理工具?_yum换源-CSDN博客](https://blog.csdn.net/qq_57492774/article/details/127762974 "参考:Linux操作系统如何将默认自带的yum源更换为公网源及如何使用yum及rpm包管理工具?_yum换源-CSDN博客") ### 2.3.使用root用户挂载数据库软件的iso文件 su - root mount -o loop /opt/setup/dm8_20240514_x86_rh6_64.iso /mnt eg: \[root@dcs01 soft\]# mount -o loop /opt/soft/dm8_20250122_x86_rh7_64.iso /mnt mount: /dev/loop0 is write-protected, mounting read-only \[root@dcs01 soft\]# ![](https://i-blog.csdnimg.cn/direct/c9f242a4db4c4757910ca2a3d32a759c.png) ### 2.4.使用dmdba用户安装软件 严禁使用 root 用户安装数据库及数据库相关操作。必须使用 dmdba 用户执行安装以及数据库相关操作。 su - dmdba 在终端进入到安装程序所在文件夹,执行以下命令进行命令行安装: \[dmdba@\~\]# /mnt/DMInstall.bin -i ```bash [root@dcs02 soft]# su - dmdba Last login: Wed Apr 15 22:57:45 CST 2026 on pts/0 [dmdba@dcs02 ~]$ echo $HOME /home/dmdba [dmdba@dcs02 ~]$ /mnt/DMInstall.bin -i Installer Language: [1]: 简体中文 [2]: English Please select the installer's language [2]:1 解压安装程序......... 硬件架构校验通过! 欢迎使用达梦数据库安装程序 是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:^C [dmdba@dcs02 ~]$ /mnt/DMInstall.bin -i Installer Language: [1]: 简体中文 [2]: English Please select the installer's language [2]:2 Extract install files......... Hardware architecture verification passed! Welcome to DM DBMS Installer Whether to input the path of Key File? (Y/y:Yes N/n:No) [Y/y]:n Whether to Set The TimeZone? (Y/y:Yes N/n:No) [Y/y]:y TimeZone: [ 1]: (GTM-12:00) West Date Line [ 2]: (GTM-11:00) Samoa [ 3]: (GTM-10:00) Hawaii [ 4]: (GTM-09:00) Alaska [ 5]: (GTM-08:00) Pacific(America and Canada) [ 6]: (GTM-07:00) Arizona [ 7]: (GTM-06:00) Central(America and Canada) [ 8]: (GTM-05:00) East(America and Canada) [ 9]: (GTM-04:00) Atlantic(America and Canada) [10]: (GTM-03:00) Brasilia [11]: (GTM-02:00) Middle Atlantic [12]: (GTM-01:00) Azores [13]: (GTM) Greenwich Mean Time [14]: (GTM+01:00) Sarajevo [15]: (GTM+02:00) Cairo [16]: (GTM+03:00) Moscow [17]: (GTM+04:00) AbuDhabi [18]: (GTM+05:00) Islamabad [19]: (GTM+06:00) Dakar [20]: (GTM+07:00) BangKok,Hanoi [21]: (GTM+08:00) China [22]: (GTM+09:00) Seoul [23]: (GTM+10:00) Guam [24]: (GTM+11:00) Solomon [25]: (GTM+12:00) Fiji [26]: (GTM+13:00) Nukualofa [27]: (GTM+14:00) Kiribati Please Select the TimeZone [21]: Installation Type: 1 Typical 2 Server 3 Client 4 Custom Please Input the number of the Installation Type [1 Typical]: Require Space: 1912M Please Input the install path [/home/dmdba/dmdbms]: Available Space:17G Please Confirm the install path(/home/dmdba/dmdbms)? (Y/y:Yes N/n:No) [Y/y]:y Pre-Installation Summary Installation Location: /home/dmdba/dmdbms Require Space: 1912M Available Space: 17G Version Information: Expire Date: Installation Type: Typical Confirm to Install? (Y/y:Yes N/n:No):y 2026-04-15 23:21:22 [INFO] Installing DM DBMS... 2026-04-15 23:21:22 [INFO] Installing BASE Module... 2026-04-15 23:21:31 [INFO] Installing SERVER Module... 2026-04-15 23:21:34 [INFO] Installing CLIENT Module... 2026-04-15 23:21:41 [INFO] Installing DRIVERS Module... 2026-04-15 23:21:43 [INFO] Installing MANUAL Module... 2026-04-15 23:21:44 [INFO] Installing SERVICE Module... 2026-04-15 23:21:45 [INFO] Move log file to log directory. 2026-04-15 23:21:46 [INFO] Installed DM DBMS completely. Please execute the commands by root: /home/dmdba/dmdbms/script/root/root_installer.sh End [root@dcs02 soft]# ``` ### 2.5.使用root系统用户执行命令 当安装进度完成时将会弹出对话框,提示使用 root 系统用户执行相关命令。 \[dmdba@\~\]# su - root 密码:\<输入密码\> \[root@\~\]# /opt/dmdbms/script/root/root_installer.sh 移动 /opt/dmdbms/bin/dm_svc.conf 到/etc目录 创建DmAPService服务 Created symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service → /usr/lib/systemd/system/DmAPService.service. 创建服务(DmAPService)完成 启动DmAPService服务 安装完成 ![](https://i-blog.csdnimg.cn/direct/629ddb4819e74678a0b3923fffc29e1f.png) ### 2.6.进行时间同步使用Chrony(RHEL/CentOS7+) #### 2.6.1.在两节点安装配置chrony ##### 1)安装chrony yum -y install chrony ![](https://i-blog.csdnimg.cn/direct/0a2b73bf6c934d6ea07f80a569da0063.png) ##### 2)配置chrony 使用阿里云NTP服务器 |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | cat \> /etc/chrony.conf \<\< 'EOF' # 使用阿里云NTP服务器 server ntp.aliyun.com iburst server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst # 精确允许两个网段 allow 192.168.75.0/24 allow 192.168.76.0/24 # 记录时间漂移 driftfile /var/lib/chrony/drift # 启用实时时钟(RTC) rtcsync # 允许更快同步 makestep 1.0 3 EOF | #### 2.7.2.启动并设置服务为开机自启 systemctl start chronyd systemctl enable chronyd ![](https://i-blog.csdnimg.cn/direct/7a0810c40293415e98f6ca0c452a499c.png) #### 2.7.3.立即进行同步并验证 强制立即同步 chronyc -a makestep ![](https://i-blog.csdnimg.cn/direct/a85e4212f704488ea6bfa45a821e203f.png) 查看时间源状态 chronyc sources -v ![](https://i-blog.csdnimg.cn/direct/653b7e73668b4e3eb210827a95eb0fcf.png) 查看同步状态 chronyc tracking ![](https://i-blog.csdnimg.cn/direct/8731e86656294b7da4a6b0cfe0daaab3.png) 查看当前时间 ![](https://i-blog.csdnimg.cn/direct/2643efc30f1945af87e1b8a2b22fe7c1.png) ## 三、DMSCS配置 ### 3.1.创建dmdcr_cfg.ini(DCR配置文件) su - dmdba find /home/dmdba -name dmdcf\* 只需在集群的一个节点配置该文件(一节点):vim /home/dmdba/conf/dmdcr_cfg.ini |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | \[root@dcs01 conf\]# cat dmdcr_cfg.ini # ============================================================================ # 达梦共享存储集群 (DSC) DCR 配置文件 # 生成时间: $(date) # 环境: 双节点DSC (dsc01 \& dsc02) # 存储: Openfiler + Multipath (rczy_\*) # ============================================================================ # ==================== DCR 磁盘配置 ==================== DCR_N_GRP = 3 # DCR组数,固定为3 DCR_VTD_PATH = /dev/mapper/rczy_vote # VOTE磁盘路径 (5G) DCR_OGUID = 63635 # 集群唯一标识 # ==================== CSS 集群服务 ==================== # CSS - 集群同步服务,负责节点间心跳和脑裂防护 \[GRP\] DCR_GRP_TYPE = CSS DCR_GRP_NAME = GRP_CSS DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 # 磁盘检查超时(秒) \[GRP_CSS\] DCR_EP_NAME = CSS0 # CSS实例0 DCR_EP_HOST = 192.168.76.171 # 心跳 IP DCR_EP_PORT = 11286 # CSS监听端口 \[GRP_CSS\] DCR_EP_NAME = CSS1 # CSS实例1 DCR_EP_HOST = 192.168.76.172 # 心跳 IP DCR_EP_PORT = 11286 # CSS监听端口 # ==================== ASM 存储服务 ==================== # ASM - 自动存储管理,管理共享磁盘 \[GRP\] DCR_GRP_TYPE = ASM DCR_GRP_NAME = GRP_ASM DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 \[GRP_ASM\] DCR_EP_NAME = ASM0 # ASM实例0 DCR_EP_SHM_KEY = 93360 # 共享内存键值 DCR_EP_SHM_SIZE = 1000 # 共享内存大小(M) DCR_EP_HOST = 192.168.75.171 # dsc01 IP DCR_EP_PORT = 11276 # ASM监听端口 DCR_EP_ASM_LOAD_PATH = /dev/mapper # ASM磁盘扫描路径 \[GRP_ASM\] DCR_EP_NAME = ASM1 # ASM实例1 DCR_EP_SHM_KEY = 93361 DCR_EP_SHM_SIZE = 1000 DCR_EP_HOST = 192.168.75.172 # dsc02 IP DCR_EP_PORT = 11276 # ASM监听端口 DCR_EP_ASM_LOAD_PATH = /dev/mapper # ==================== DB 数据库实例 ==================== \[GRP\] DCR_GRP_TYPE = DB DCR_GRP_NAME = GRP_DSC DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 \[GRP_DSC\] DCR_EP_NAME = DSC01 # 数据库实例名 DCR_EP_SEQNO = 0 # 实例序号 DCR_EP_PORT = 5236 # 数据库监听端口 DCR_CHECK_PORT = 9741 # 健康检查端口 \[GRP_DSC\] DCR_EP_NAME = DSC02 # 数据库实例名 DCR_EP_SEQNO = 1 DCR_EP_PORT = 5236 # 数据库监听端口 DCR_CHECK_PORT = 9741 # 健康检查端口 | ![](https://i-blog.csdnimg.cn/direct/14f1989e14a74c55af97e47d686bf6df.png) ### 3.2.初始化磁盘组(创建ASM磁盘) 在 db0 机器上进行如下操作。 **参考官方手册:** > \[dmdba@\~\]#/dm/dmdbms/bin/dmasmcmd > > #asm script file > > ASM\>create dcrdisk '/dev/dm/asm-dmdcr' 'dcr' > > ASM\>create votedisk '/dev/dm/asm-dmvote' 'vote' > > ASM\>init dcrdisk '/dev/dm/asm-dmdcr' from '/dm/dmdbms/dsc_config/init/dmdcr_cfg.ini' identified by '\*\*\*\*' > > ASM\>init votedisk '/dev/dm/asm-dmvote' from '/dm/dmdbms/dsc_config/init/dmdcr_cfg.ini' > > ASM\>create asmdisk '/dev/dm/asm-dmdata' 'DATA0' > > ASM\>create asmdisk '/dev/dm/asm-dmlog' 'LOG0' ASM\>create asmdisk '/dev/dm/asm-dmarch' 'ARCH0' #### 3.2.1.初始化DCR和VOTE 只在集群的一个节点操作(一节点): 使用dmasmcmd初始化 |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | cd $DM_HOME/bin ./dmasmcmd # 在dmasmcmd交互界面中执行: create dcrdisk '/dev/mapper/rczy_dcr' 'DCR' create votedisk '/dev/mapper/rczy_vote' 'VOTE' create asmdisk '/dev/mapper/rczy_data' 'DMDATA' create asmdisk '/dev/mapper/rczy_log' 'DMLOG' init dcrdisk '/dev/mapper/rczy_dcr' from '/home/dmdba/conf/dmdcr_cfg.ini' identified by 'Dm123456@' init votedisk '/dev/mapper/rczy_vote' from '/home/dmdba/conf/dmdcr_cfg.ini' # 退出 exit | ![](https://i-blog.csdnimg.cn/direct/205844af60db4b81b55efbf1ced0766b.png) 注意,忽略/dev/mapper/centos\*的相关告警! #### 3.2.2.验证初始化结果 |----------------------------------------------------------------------------------------------------| | # 检查磁盘头信息(在两个节点都可以执行) ./dmasmcmd check dcrdisk '/dev/mapper/rczy_dcr' listdisks '/dev/mapper' exit | ![](https://i-blog.csdnimg.cn/direct/2b2e9191f145401c9544bf331298ee58.png) 带/dev/mapper/centos\*这些不用管! #### 3.2.3.配置dmasvrmal.ini 集群的所有节点都需要配置,并且保持内容一致:vi /home/dmdba/conf/dmasvrmal.ini > \[dmdba@dcs01 conf\]$ > > \[root@dcs01 conf\]# cat dmasvrmal.ini > > \[MAL_INST0

MAL_INST_NAME = ASM0

MAL_HOST = 192.168.76.171

MAL_PORT = 11266

MAL_INST1

MAL_INST_NAME = ASM1

MAL_HOST = 192.168.76.172

MAL_PORT = 11266

root@dcs01 conf\]#

3.2.4.配置dmdcr.ini

DMASM的两个节点分别配置,dmdcr.ini,dmdcr_path 相同,dmasvrmal.ini 文件内容也相同,dmdcr_seqo 分别为0 和1。

参考官方手册:

bash 复制代码
[dmdba@~]# vi /dm/dmdbms/dsc_config/dmdcr.ini
DMDCR_PATH                   = /dev/dm/asm-dmdcr
DMDCR_MAL_PATH               = /dm/dmdbms/dsc_config/DSC0/dmasvrmal.ini
DMDCR_SEQNO                  = 0
DMDCR_AUTO_OPEN_CHECK        = 111
DMDCR_ASM_TRACE_LEVEL        = 2

##DMDCR_ASM_RESTART_INTERVAL   = 60  #CSS 认定 ASM 故障重启的时间
##DMDCR_ASM_STARTUP_CMD        = /dm/dmdbms/dsc_config/DmAsmService_DSC0 start
##DMDCR_DB_RESTART_INTERVAL    = 60   ##CSS 认定 DSC 故障重启的时间,设置为 0 不自动拉起
##DMDCR_DB_STARTUP_CMD         = /dm/dmdbms/dsc_config/DmService_DSC0 start

vi /home/dmdba/conf/dmdcr.ini

dcs01:

bash 复制代码
DMDCR_PATH                   = /dev/mapper/rczy_dcr
DMDCR_MAL_PATH               = /home/dmdba/conf/dmasvrmal.ini
DMDCR_SEQNO                  = 0
#DMDCR_ASM_TRACE_LEVEL        = 2

# ASM重启参数,命令行方式启动
DMDCR_AUTO_OPEN_CHECK        = 30
DMDCR_ASM_RESTART_INTERVAL   = 0  #CSS 认定 ASM 故障重启的时间
DMDCR_ASM_STARTUP_CMD        = /home/dmdba/dmdbms/bin/DmASMSvrService_DMDB1 start

# DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL    = 0   ##CSS 认定 DSC 故障重启的时间,设置为 0 不自动拉起
DMDCR_DB_STARTUP_CMD         = /home/dmdba/dmdbms/bin/DmService_DMDB1 start

dcs02:

bash 复制代码
DMDCR_PATH                   = /dev/mapper/rczy_dcr
DMDCR_MAL_PATH               = /home/dmdba/conf/dmasvrmal.ini
DMDCR_SEQNO                  = 1
#DMDCR_ASM_TRACE_LEVEL        = 2

# ASM重启参数,命令行方式启动
DMDCR_AUTO_OPEN_CHECK        = 30
DMDCR_ASM_RESTART_INTERVAL   = 0  #CSS 认定 ASM 故障重启的时间
DMDCR_ASM_STARTUP_CMD        = /home/dmdba/dmdbms/bin/DmASMSvrService_DMDB2 start

# DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL    = 0   ##CSS 认定 DSC 故障重启的时间,设置为 0 不自动拉起
DMDCR_DB_STARTUP_CMD         = /home/dmdba/dmdbms/bin/DmService_DMDB2 start

注意

当前为手动拉起 db0 机器和 db1 机器的 ASM 和 DMSERVER 服务。待集群配置完成后,再修改为自动拉起(删除 dmdcr.ini 中的"##"号即可)。在实际项目中集群出现异常时需排查诱因,故在生产环境上一般不建议配置自动拉起。

3.2.5.启动DMCSS、DMASM服务

集群各节点分别以前台方式启动css和asm服务

在 2 个节点分别启动 dmcss 命令:

su - dmdba

cd dmdbms/bin

./dmcss DCR_INI=/home/dmdba/conf/dmdcr.ini

./dmasmsvr DCR_INI=/home/dmdba/conf/dmdcr.ini

在 2 个节点分别启动 dmasmsvr 命令:

su - dmdba

cd dmdbms/bin

./dmasmsvr DCR_INI=/home/dmdba/conf/dmdcr.ini

说明:如果 DMCSS 配置有自动拉起 dmasmsvr 的功能,可以等待 DMCSS 自动拉起 dmasmsvr 程序,不需要手动启动。

3.2.6.创建ASM磁盘组

在集群一节点启动 dmasmtool 工具操作:

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| su - dmdba cd dmdbms/bin ./dmasmtool DCR_INI=/home/dmdba/conf/dmdcr.ini create diskgroup 'DMLOG' asmdisk '/dev/mapper/rczy_log' create diskgroup 'DMDATA' asmdisk '/dev/mapper/rczy_data' |

3.2.7.配置dminit.ini

db0 和 db1 机器配置相同。

dminit.ini是设置数据库初始化参数的文件,要根据实际情况设置,尤其是页大小、字符集、大小写是否敏感的参数要和应用确认。

##创建 dminit.ini 文件

dmdba@\~\]# vi /home/dmdba/conf/dminit.ini |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | DB_NAME = DSC SYSDBA_PWD = DMdba_123 SYSAUDITOR_PWD = DMauditor_123 SYSTEM_PATH = +DMDATA/data SYSTEM = +DMDATA/data/SYSTEM.dbf SYSTEM_SIZE = 1024 ROLL = +DMDATA/data/ROLL.dbf ROLL_SIZE = 1024 MAIN = +DMDATA/data/MAIN.dbf MAIN_SIZE = 1024 CTL_PATH = +DMDATA/data/dm.ctl CTL_SIZE = 8 LOG_SIZE = 2048 DCR_PATH = /dev/mapper/rczy_dcr DCR_SEQNO = 0 AUTO_OVERWRITE = 0 PAGE_SIZE = 16 EXTENT_SIZE = 16 BLANK_PAD_MODE = 1 \[DSC01\] CONFIG_PATH = /home/dmdba/conf/dsc01_config PORT_NUM = 5236 MAL_HOST = 192.168.76.171 MAL_PORT = 11246 LOG_PATH = +DMLOG/log/DSC0_LOG01.log LOG_PATH = +DMLOG/log/DSC0_LOG02.log \[DSC02\] CONFIG_PATH = /home/dmdba/conf/dsc02_config PORT_NUM = 5236 MAL_HOST = 192.168.76.172 MAL_PORT = 11246 LOG_PATH = +DMLOG/log/DSC1_LOG01.log LOG_PATH = +DMLOG/log/DSC1_LOG02.log | ![](https://i-blog.csdnimg.cn/direct/17c6658a11014fb08c6e47e7e61ca25b.png) ### 3.3.初始化数据库实例 在集群的1个节点启动dminit工具初始化数据库。dminit 执行完成后,会在config_path目录(/home/dmdba/conf/dsc01_config 和/home/dmdba/conf/ dsc02_config)下生成配置文件dm.ini和dmmal.ini(DSS和ASM服务要打开) 在db0 节点执行初始化 db 命令 su - dmdba cd dmdbms/bin \[dmdba@\~\]# ./dminit control=/home/dmdba/conf/dminit.ini ![](https://i-blog.csdnimg.cn/direct/82ad7dd06ed54e88a78460d86c7b60a7.png) 将节点1机器/home/dmdba/conf/dsc02_config目录拷贝到节点2机器相同目录下 ```bash scp -r /home/dmdba/conf/dsc02_config dmdba@192.168.76.172:/home/dmdba/conf/dsc02_config/ ``` ![](https://i-blog.csdnimg.cn/direct/d60443f594e841f0be1d619fe80e3022.png) ### 3.4.配置 dmarch.ini 文件 dcs01节点 ```bash ##修改 dm.ini 节点1和节点2: vi /home/dmdba/conf/dsc01_config/dm.ini vi /home/dmdba/conf/dsc02_config/dm.ini [dmdba@~]# vi /home/dmdba/conf/dsc01_config/dm.ini ARCH_INI = 1 ##创建 dmarch.ini [dmdba@~]# vi /home/dmdba/conf/dmdb1_config/dmarch.ini ARCH_WAIT_APPLY = 1 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = +DMARCH/dmarch/arch_dmdb1 ARCH_FILE_SIZE = 256 ARCH_SPACE_LIMIT = 5120 [ARCHIVE_REMOTE1] ARCH_TYPE = REMOTE ARCH_DEST = dcs02 ARCH_INCOMING_PATH = +DMARCH/dmarch/arch_dsc02 ARCH_FILE_SIZE = 256 ARCH_SPACE_LIMIT = 5120 ``` ![](https://i-blog.csdnimg.cn/direct/72e2bec196a24fbaac0dfe73a0f57707.png) ![](https://i-blog.csdnimg.cn/direct/9c918cf2348940d582d7c783413ee683.png) dcs02节点 ```bash ##修改 dm.ini [dmdba@~]# vi /home/dmdba/conf/dsc02_config/dm.ini ARCH_INI = 1 ##创建 dmarch.ini [dmdba@~]# vi /home/dmdba/conf/dmdb2_config/dmarch.ini ARCH_WAIT_APPLY = 1 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = +DMARCH/dmarch/arch_dmdb2 ARCH_FILE_SIZE = 256 ARCH_SPACE_LIMIT = 5120 [ARCHIVE_REMOTE1] ARCH_TYPE = REMOTE ARCH_DEST = dcs01 ARCH_INCOMING_PATH = +DMARCH/dmarch/arch_dsc01 ARCH_FILE_SIZE = 256 ARCH_SPACE_LIMIT = 5120 ``` ![](https://i-blog.csdnimg.cn/direct/ab1587061e294bdc916973ae60fcb52c.png) ![](https://i-blog.csdnimg.cn/direct/6bdc602d2cb54252810273d4b1e7c8bc.png) 注意:归档开启后,需要重启数据库服务。归档路径需要提前建好,权限要是dmdba。归档最大空间限制要根据实际环境来灵活设置。(两台都需要重启) ### 3.4.启动DMSERCER服务 分别启动dmserver即可完成DMDSC集群搭建。 如果DMCSS配置有自动拉起 dmserver 的功能,可以等待DMCSS自动拉起实例,不需要手动启动。 下面是手动前台方式启动集群各节点的数据库服务: |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 节点1: su - dmdba cd dmdbms/bin ./dmserver /home/dmdba/conf/dsc01_config/dm.ini dcr_ini=/home/dmdba/conf/dmdcr.ini 节点2: su - dmdba cd dmdbms/bin ./dmserver /home/dmdba/conf/dsc02_config/dm.ini dcr_ini=/home/dmdba/conf/dmdcr.ini | 一节点: ![](https://i-blog.csdnimg.cn/direct/33ed169bb71e4182b8e53b4a3c6ef7fe.png) 二节点: ![](https://i-blog.csdnimg.cn/direct/1ea8e50244b84ab0a1efc93e83a0bdd2.png) ### 3.5.注册 CSS、ASM、DMSERVER 服务 前面启动的命令都是前台启动的服务,当窗口关闭,服务也自动退出了,所以需要注册服务,以服务方式来启动数据库的服务。注册的服务主要有:DMCSS、DMASM、DMSERVER这3个关键服务。 ```bash 官网: ##db0 机器 [root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -p CSS [root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM [root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/dsc_config/DSC0/dm.ini -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC ##db1 机器 [root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -p CSS [root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM [root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/dsc_config/DSC1/dm.ini -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -p CSS ``` |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 节点1: su - root cd /home/dmdba/dmdbms/script/root ./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/conf/dmdcr.ini -p _DSC ./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/conf/dmdcr.ini -p _DSC01 -y DmCSSService_DSC.service ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/conf/dsc01_config/dm.ini -dcr_ini /home/dmdba/conf/dmdcr.ini -p _DMDB1 -y DmASMSvrService_DSC01.service 节点2: su - root cd /home/dmdba/dmdbms/script/root ./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/conf/dmdcr.ini -p _DSC ./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/conf/dmdcr.ini -p _DSC02 -y DmCSSService_DSC.service ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/conf/dsc02_config/dm.ini -dcr_ini /home/dmdba/conf/dmdcr.ini -p _DMDB2 -y DmASMSvrService_DSC02.service | ![](https://i-blog.csdnimg.cn/direct/0c31791767d746f1a76f2e0bf063c497.png) ![](https://i-blog.csdnimg.cn/direct/0dd17284e70b453a9da96803277e1411.png) > **备注**:db0 机器、db1 机器删除自启可参考以下命令。 > > \[root@\~\]# cd /home/dmdba/dmdbms/script/root > > \[root@\~\]# dm_service_uninstaller.sh -n DmCSSService_DSC > > \[root@\~\]# dm_service_uninstaller.sh -n DmASMSvrService_DSC02 > > \[root@\~\]# dm_service_uninstaller.sh -n DmService_DMDB2 > 生成路径:/home/dmdba/dmdbms/bin路径下 > > The service script file(/home/dmdba/dmdbms/bin/DmService_DMDB1) exist! ### 3.6.配置监视器dmcssm.ini 监视器可以用来监控集群的整个状态,启停服务等(在一节点配置即可)。 |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | su - dmdba vi /home/dmdba/conf/dmcssm.ini CSSM_OGUID = 63635 CSSM_CSS_IP = 192.168.76.171:11286 CSSM_CSS_IP = 192.168.76.172:11286 CSSM_LOG_PATH = /home/dmdba/dmdbms/log CSSM_LOG_FILE_SIZE = 32 CSSM_LOG_SPACE_LIMIT = 0 | ![](https://i-blog.csdnimg.cn/direct/70c2b91d6d2442f5b2428d9ffdb58273.png) 启动监视器查看集群: ./dmcssm /home/dmdba/conf/dmcssm.ini ![](https://i-blog.csdnimg.cn/direct/f0a33888997f4ed097c6268ea3623ef8.png) 输入show命令查看 ```bash show monitor current time:2026-04-16 12:52:58, n_group:3 =================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ======================================== [CSS0] auto check = TRUE, global info: [ASM0] auto restart = FALSE [DSC01] auto restart = FALSE [CSS1] auto check = TRUE, global info: [ASM1] auto restart = FALSE [DSC02] auto restart = FALSE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2026-04-16 12:52:57 CSS0 0 11286 Control Node OPEN WORKING OK TRUE 1061826 11311 1065246 2026-04-16 12:52:57 CSS1 1 11286 Normal Node OPEN WORKING OK TRUE 1066296 8251 1069728 =================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ======================================== n_ok_ep = 2 ok_ep_arr(index, seqno): (0, 0) (1, 1) sta = OPEN, sub_sta = STARTUP break ep = NULL recover ep = NULL crash process over flag is TRUE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2026-04-16 12:52:57 ASM0 0 11276 Control Node OPEN WORKING OK TRUE 1094523 11612 1097871 2026-04-16 12:52:57 ASM1 1 11276 Normal Node OPEN WORKING OK TRUE 1098461 8629 1101821 =================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 0] ======================================== n_ok_ep = 2 ok_ep_arr(index, seqno): (0, 0) (1, 1) sta = OPEN, sub_sta = STARTUP break ep = NULL recover ep = NULL crash process over flag is TRUE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2026-04-16 12:52:57 DSC01 0 5236 Control Node OPEN WORKING OK TRUE 906718 25866 907819 2026-04-16 12:52:57 DSC02 1 5236 Normal Node OPEN WORKING OK TRUE 1128491 10074 1128505 ================================================================================================================== ``` 输入help,可以看到支持的命令。 ![](https://i-blog.csdnimg.cn/direct/672cc92f4a0c499aac8a960c99eb24dc.png) **启停集群** > ##启动:A/B 机器 CSS > > A/B 机器:\[dmdba@\~\]#/dm/dmdbms/bin/DmCSSServiceCSS start > > ##说明:CSS 启动后 30 秒自动拉起 ASM,60 秒自动拉起 DMSERVER。 > > ##停止: A/B 机器 DMSERVER→A/B 机器 ASM→A/B 机器 CSS > > A/B 机器:\[dmdba@\~\]# /dm/dmdbms/bin/DmServiceDSC stop > > A/B 机器:\[dmdba@\~\]# /dm/dmdbms/bin/DmASMSvrServiceASM stop > > A/B 机器:\[dmdba@\~\]# /dm/dmdbms/bin/DmCSSServiceCSS stop 启动: ![](https://i-blog.csdnimg.cn/direct/0adadbf422b84976972a6a4c94c20ca7.png) ![](https://i-blog.csdnimg.cn/direct/3600071391bf4f108ddc5e958012a953.png) > **说明**: > > DSC 正常停库必须 2 节点同时停止,根据目前脚本配置,CSS 启动后 60 秒自动拉起 ASM,60 秒自动拉起 DMSERVER,所以停止 DMSERVER 和 ASM 后,要尽快停止 CSS,避免被自动拉起。 ### 3.7.配置服务名访问DCS集群(可选) 在应用及中间件服务上创建dm_svc.conf文件: 两个节点都配置 vi /etc/dm_svc.conf |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | DMDSC=(192.168.76.171:5236,192.168.76.172:5237) TIME_ZONE=(+480) #表示+8:00 时区 LOGIN_ENCRYPT=(0) DIRECT=(Y) # 服务配置区 \[DMDSC\] CLUSTER=(DSC) #表示集群为DSC集群 EP_SELECTOR=(1) #表示第一节点正常时只连第一个节点 AUTO_RECONNECT=(2) #第一个节点故障恢复后自动重连第一个节点 | 注:DMDSC为服务名,可以自定义,如果数据库用的是默认端口5236,则上面文件的端口号也可以省略。chmod 777 /etc/dm_svc.conf ## 四、登录并验证集群 ### 4.1.归档与日志 #### 4.1.1.查看本地归档状态与归档日志目录 登录达梦数据库 su - dmdba cd /home/dmdba/dmdbs/bin disql sysdba/DMdba_123@192.168.75.171:5236 ![](https://i-blog.csdnimg.cn/direct/bc9bcf00088c424897e05ab3237f900f.png) #### 4.1.2.验证归档完整性 ### 4.2.数据库实例 #### 4.2.1.实例运行状态 ![](https://i-blog.csdnimg.cn/direct/c22514234caa442aacb6a45b2a1f9826.png) #### 4.2.2.查看实例的集群状态 select \* from v$instance; ![](https://i-blog.csdnimg.cn/direct/36e4b8c0817e48da96101139a72ed429.png) ### 4.3.测试 #### 4.3.1.创建一张表并插入数据 create table cluster_test_simple( id number primary key; date_time timestamp, content varchar2(100), ); insert into cluster_test_simple values(1,systimestamp,'来自dsc01的测试数据'); select \* from cluster_test_simple; 节点dsc02: ```bash [dmdba@dcs02 bin]$ ./disql disql V8 username:sysdba password: Server[LOCALHOST:5236]:mode is normal, state is open login used time : 18.730(ms) SQL> SQL> insert into cluster_test_simple values(1,systimestamp,'测试dsc01节点插入数据'); affect rows 1 used time: 12.041(ms). Execute id is 202. SQL> select * from cluster_test_simple; LINEID ID DATE_TIME CONTENT ---------- -- -------------------------- ----------------------------- 1 1 2026-04-16 14:20:27.610332 测试dsc01节点插入数据 used time: 0.262(ms). Execute id is 203. SQL> select * from cluster_test_simple; LINEID ID DATE_TIME CONTENT ---------- -- -------------------------- ----------------------------- 1 1 2026-04-16 14:20:27.610332 测试dsc01节点插入数据 used time: 0.636(ms). Execute id is 204. SQL> commit; executed successfully used time: 4.585(ms). Execute id is 205. SQL> ``` 这里需要commit提交事务,只有提交过的事务,其他节点才能查询到! #### 4.3.2.在第二个节点查询数据 节点dsc01: ```bash dmdba@dcs01 bin]$ ./disql disql V8 username:sysdba password: Server[LOCALHOST:5236]:mode is normal, state is open login used time : 18.129(ms) SQL> select * from cluster_test_simple; no rows used time: 10.236(ms). Execute id is 601. SQL> select * from cluster_test_simple; LINEID ID DATE_TIME CONTENT ---------- -- -------------------------- ----------------------------- 1 1 2026-04-16 14:20:27.610332 测试dsc01节点插入数据 used time: 0.495(ms). Execute id is 604. SQL> ``` 安装完毕!!!

相关推荐
Rooting++21 小时前
mysql 算一堆经纬度的距离总长
数据库·mysql
y = xⁿ21 小时前
MySQL:count(1)与count(*)有什么区别,深分页问题
android·数据库·mysql
苏渡苇21 小时前
5 分钟跑起 Redis(Docker 版)
数据库·redis·缓存·docker·redis入门
m0_493934531 天前
Go语言中 & 与 - 的本质区别及指针使用详解
jvm·数据库·python
gjc5921 天前
踩坑案例:容器方式部署的MySQL无法访问?
数据库·mysql
Greyson11 天前
Redis如何解决哨兵通知延迟问题_优化客户端连接池动态刷新拓扑的订阅监听机制
jvm·数据库·python
bekote1 天前
笔记|数据库
数据库·笔记
Dream of maid1 天前
Mysql(8)约束
数据库·mysql
程序边界1 天前
KingbaseES 表空间目录自动创建特性深度解析(下篇)
数据库·oracle
Jul1en_1 天前
【Redis】Zset类型、命令及应用场景
数据库·redis·缓存