注册
【与达梦同行】达梦数据库主备集群搭建
技术分享/ 文章详情 /

【与达梦同行】达梦数据库主备集群搭建

童蒙 2022/12/13 2355 3 1

达梦数据库主备集群----高性能模式—搭建

环境描述

操作系统信息及服务器信息

image.png

image.png

服务器IP:10.4.33.2,10.4.33.3

达梦数据库版本:测试环境使用的DM8开发版

image.png

image.png

达梦服务相关路径

安装目录:/dm/dmdbms

数据目录:/dm/dmdata/

归档目录:/dm/dmarch/

备份目录:/dm/dmbak/

挂载目录:/mnt/dm/

达梦服务使用的用户及组名:dmdba:dinstall

服务分布情况:

主库ip:10.4.33.2

备库ip:10.4.33.3

监视器IP:暂无

单实例安装

操作系统

以Linux系统安装为例,glibc 2.3 以上,内核 2.6,预先安装 UnixODBC,系统性能监控等组件。

服务器硬件要求

按实际业务需求,选择合适的服务器,参考如下:

硬件 要求
物理内存 >= 16 GB
交换区 Swap 空间>=物理内存
/tmp大小 > 1000 MB
网络 物理机器需要 2 个网卡,2 个网卡做 band(实际安装过程只使用一个网卡)
磁盘 根据实际应用系统需要挂载合适大小磁盘
时间服务器 按机房要求配置连接时间服务器

用户与组

DM 数据库不应该使用 root 用户安装和维护。需要在安装之前为 DM 数据库创建一个专用的系统用户 (dmdba) 和用户组 (dinstall)。

执行以下命令,新建用户组 dinstall:

groupadd dinstall

执行以下命令,新建用户 dmdba:

useradd  -g dinstall -m -d /home/dmdba -s /bin/bash  dmdba

执行以下命令,修改 dmdba 用户密码:

passwd dmdba

输入密码并确认,由于环境限制,本次搭建过程的dmdba没有密码。

系统参数设置

1.1.1 调整 sysctl.conf
[root@~]# vi /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.overcommit_memory = 0
vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
[root@~]# sysctl -p
[root@~]# sysctl -p /etc/sysctl.conf
[root@~]# sysctl -q vm.swappiness
1.1.2 调整 limits.conf
  • [root@~]# ulimit -n65536
    [root@~]# vi /etc/security/limits.conf
    
    * soft nice 0
    * hard nice 0
    * soft as unlimited
    * hard as unlimited
    * soft fsize unlimited
    * hard fsize unlimited
    * soft nproc 65536
    * hard nproc 65536
    * soft nofile 65536
    * hard nofile 65536
    * soft core unlimited
    * hard core unlimited
    * soft data unlimited
    * hard data unlimited
    
      [root@~]# vi /etc/security/limits.d/90-nproc.conf
    * soft nproc 65536
    
      [root@~]# vi /etc/profile
      ulimit -SHn 65536
    
    1.1.3 调整 login
    [root@~]# vi /etc/pam.d/login
    session required /lib64/security/pam_limits.so
    session required pam_limits.so
    
    1.1.4 关闭 selinux
    [root@~]# vi /etc/sysconfig/selinux
    SELINUX = disabled
    
1.1.5 磁盘调度
cat /sys/block/sdb/queue/scheduler --查看当前的调度方法
lsbl --查看实际挂载盘 k
dmesg | grep -i scheduler --查看支持的调度方法
echo deadline > /sys/block/sda/queue/scheduler --临时更改调度方法
永久修改:
CentOS7:
grubby --update-kernel=ALL --args="elevator=deadline"
reboot
cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
CentOS6:

vim /boot/grub/menu.lst

更改到如下内容: ## 在 rhgb quiet 前添加 elevator=deadline
kernel /boot/vmlinuz-2.6.32-504.el6 ro root=LABEL=/ elevator=deadline
rhgb quiet
1.1.6 numa 检查
dmesg | grep -i numa
grep -i numa /var/log/dmesg
cat /proc/cmdline
vi /etc/default/grub --关闭 numa和透明大页
在 GRUB_CMDLINE_LINUX后添加
numa=off transparent_hugepage=never
重新引导:
grub2-mkconfig -o /etc/grub2.cfg --重启生效
1.1.7 透明大页检查
cat /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled --临时
关闭
vi /etc/default/grub --关闭 numa和透明大页
在 GRUB_CMDLINE_LINUX后添加
numa=off transparent_hugepage=never
重新引导:
grub2-mkconfig -o /etc/grub2.cfg --重启生效
统信系统关闭大页和NUMA

系统版本:UnionTech OS SERVER 20 1050 e

关闭参数添加位置在1.1.6与1.1.7中相同
在引导这步不同
find / -name grub.cfg
---find 找到的文件:/boot/efi/EFI/uos/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/uos/grub.cfg
reboot
生效

image.png

image.png

1.1.8 RemoveIPC 参数设置
使用麒麟 v10 SP1版本时,需要检查 RemoveIPC参数设置,要求为 no,否则将
会出现数据库信号量丢失的情况。
--------检查 RemoveIPC 参数设置 要求为 no
systemctl show systemd-logind | grep -i removeipc
--------如果不是 no,用以下方法调整,
修改/etc/systemd/logind.conf配置文件中的 RemoveIPC参数,将#注释去
掉,并修改 yes为 no,
重启服务 systemctl daemon-reload;systemctl restart systemd-logind
1.1.9 ARENA 参数
请大家注意关于上线规范里的 ARENA参数未来要按 4进行配置,方法在数据库
服务启动目录中加入如下内容:
vi DmServiceDW1_01
export MALLOC_ARENA_MAX=4

用户环境变量设置

执行以下命令,修改 dmdba 用户环境变量:

vi /home/dmdba/.bash_profile

文件末尾添加如下内容:

export DM_HOME=/dm/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

防火墙设置

生产环境应该对特定客户端开放数据库监听端口,并修改 DM 数据库默认的 5236 监听端口。

上传安装包,安装数据库软件

将安装包上传到服务器后使用 root 用户挂载 iso 安装包文件到 /mnt 或者其他可挂载目录下:

mount -oloop dm8_20211026_FTarm_kylin10_64_sp1_ent_8.1.2.84.iso /mnt

切换至dmdba用户下,使用su 命令或者使用dmdba用户登录服务器

采用su方式

su - dmdba

切换至/mnt目录下

cd /mnt/dm

image.png

执行安装脚本

./DMInstall.bin -i
  1. 选择安装程序的语言 c/C 为中文,e/E 为英文。

  2. 提示是否安装 key 文件,输入 N 跳过。

  3. 选择时区,21 即东 8 区。

  4. 选择安装类型,默认典型安装(包含所有内容)。

  5. 选择软件安装目录,为之前规划的目录 /dm/dmdbms

  6. 确认安装目录。

  7. 确认安装概要。

  8. 开始安装。

  9. 安装完成后,会提示使用root用户执行以下脚本

    /dm/dmdbms/script/root/root_installer.sh
    

image.png

提示“启动DmAPServicee服务”,则安装完成

使用dminit工具初始化实例

初始化需求:大小写不敏感、兼容oracle、字符集UTF-8(兼容参数后期可以手动改,也可以直接修改dm.ini再重启)

切换至dmdba用户下,并切换至DM8的bin目录下

--10.4.33.2
cd /dm/dmdbms/bin
./dminit path=/dm/dmdata/ CHARSET=1 CASE_SENSITIVE=0 PAGE_SIZE=32  DB_NAME=dmms INSTANCE_NAME=dmms01 PORT_NUM=5236 log_size=2048

--10.4.33.2
cd /dm/dmdbms/bin
./dminit path=/dm/dmdata/ CHARSET=1 CASE_SENSITIVE=0 PAGE_SIZE=32  DB_NAME=dmms INSTANCE_NAME=dmms02 PORT_NUM=5236 log_size=2048
初始参数说明
初始化参数中除了 path 参数必须指定,其它参数都有默认值,如果需求与默认值不同,初始化的时候请指定需要的值。因为部分参数初始化后是无法修改的例如:page_size(页大小),charset(字符集),case_sensitive(大小写敏感)等。更多参数./dminit help 查看,是否无法修改的参数可以查询 v$dm_ini 视图,para_type=’READ ONLY’ 表示无法修改。

注册服务

root用户下,切换至/dm/dmdbms/script/root/

cd /dm/dmdbms/script/root/

执行以下命令注册服务

--10.4.33.2
 ./dm_service_installer.sh -t dmserver -p climb -dm_ini /dm/dmdata/climb/dm.ini
 
 
--10.4.33.3
 ./dm_service_installer.sh -t dmserver -p climb -dm_ini /dm/dmdata/climb/dm.ini

#说明:-t 指服务类型是 dmserver;-p 为服务名的后缀;-dm_ini 为实例的 dm.ini 文件的绝对路径。

服务名为 DmService+-p 参数后的内容,即 DmServicedmserver

启动、关闭实例

su - dmdba 
cd /dm/dmdbms/bin
--启
./DmServiceclimb start
--停
./DmServiceclimb stop

主备集群搭建

基本安装信息可参考官网中单实例安装,以下为主备的端口配置

防火墙设置

端口规划

搭建 2 节点主备集群,端口规划如下:(实际中可以按需要修改端口号)

主机名 public ip private ip 实例名 端口 用途
dmdsc1 10.4.33.2 10.4.33.2 CLIMB01 5236 数据库实例 CLIMB01 监听端口
dmdsc1 10.4.33.2 10.4.33.2 CLIMB01 61141 MAL 系统监听 TCP 连接的端口
dmdsc1 10.4.33.2 10.4.33.2 CLIMB01 52141 实例本地的守护进程监听 TCP 连接的端口
dmdsc1 10.4.33.2 10.4.33.2 CLIMB01 33141 实例监听守护进程 TCP 连接的端口
dmdsc2 10.4.33.3 10.4.33.3 CLIMB02 5236 数据库实例 CLIMB02 监听端口
dmdsc2 10.4.33.3 10.4.33.3 CLIMB02 61141 MAL 系统监听 TCP 连接的端口
dmdsc2 10.4.33.3 10.4.33.3 CLIMB02 52141 实例本地的守护进程监听 TCP 连接的端口
dmdsc2 10.4.33.3 10.4.33.3 CLIMB02 33141 实例监听守护进程 TCP 连接的端口

**防火墙集群之间需开放以上所有端口,**集群对客户端只需要开通数据库实例监听端口。

注意:

正常环境中,public ip和private ip 应该是两块网卡,其中Public ip负责连接外部应用,private ip 负责集群内部的mal通信。

一块网卡的话也不影响部署使用

主库备份

注意
初始化实例必须先启动一次,才能脱机备份
确认主库DMAP服务已启动
ps -ef | grep dmap

image.png

如果服务未启动,使用dmdba用户到安装目录的bin下执行以下命令:

./DmAPService start
启动数据库实例
/dm/dmdbms/bin/dmserver /dm/dmdata/climb/dm.ini
开启归档
[dmdba@~]$ /dm/dmdbms/bin/disql SYSDBA/SYSDBA

SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL>  ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
SQL> ALTER DATABASE OPEN;
备份全库
SQL> BACKUP DATABASE BACKUPSET '/dm/dmbak/FULL_BAK_20221109';
修改 dm.ini
SP_SET_PARA_VALUE (2,'PORT_NUM',5236);
SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SP_SET_PARA_VALUE (2,'MAL_INI',1);
SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);
关闭前台实例服务
CTRL+C停止前台启动的服务

修改主库配置文件

配置归档文件dmarch.ini

主库添加以下内容

vi /dm/dmdata/climb/dmarch.ini
ARCH_WAIT_APPLY            = 0  #0:高性能(故障手切) 1:事务一致(故障自切)
[ARCHIVE_LOCAL]
ARCH_TYPE                = LOCAL  #本地归档类型
ARCH_DEST                = /dm/dmarch/  #本地归档存放路径
ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB
ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]
ARCH_TYPE                = REALTIME  #实时归档类型
ARCH_DEST                = CLIMB02  #实时归档目标实例名
配置MAL系统配置文件 dmmal.ini

在实例目录下新建文件 dmmal.ini,执行以下命令:

vi /dm/dmdata/climb/dmmal.ini
MAL_CHECK_INTERVAL   = 5  #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL  = 5  #判定 MAL 链路断开的时间
[MAL_INST1]
  MAL_INST_NAME = CLIMB01 #与 dm.ini 中的 INSTANCE_NAME 一致
  MAL_HOST     = 10.4.33.2  #MAL 系统监听 TCP 内部网络 IP
  MAL_PORT     = 61141 #MAL 系统监听 TCP 连接的端口
  MAL_INST_HOST   = 10.4.33.2  #实例的对外服务 IP 地址
  MAL_INST_PORT   = 5236 #与 dm.ini 中的 PORT_NUM 一致
  MAL_DW_PORT   = 52141 #实例对应的守护进程监听 TCP 端口
  MAL_INST_DW_PORT = 33141
[MAL_INST2]
  MAL_INST_NAME = CLIMB02 #与 dm.ini 中的 INSTANCE_NAME 一致
  MAL_HOST      = 10.4.33.3  # MAL 系统监听 TCP 内部网络 IP
  MAL_PORT          = 61141 #MAL 系统监听 TCP 连接的端口
  MAL_INST_HOST         = 10.4.33.3  #实例的对外服务 IP 地址
  MAL_INST_PORT         = 5236 #与 dm.ini 中的 PORT_NUM 一致
  MAL_DW_PORT  = 52141 #实例对应的守护进程监听 TCP 端口
  MAL_INST_DW_PORT = 33141

注意:

MAL_HOST 对应 private ip
MAL_INST_HOST  对应 public ip 
配置守护进程配置文件 dmwatcher.ini

在实例目录下新建文件 dmwatcher.ini,执行以下命令:

vi /dm/dmdata/climb/dmwatcher.ini
[GRP1]
DW_TYPE                  = GLOBAL  #全局守护类型
DW_MODE                  = MANUAL  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #远程守护进程故障认定时间
INST_ERROR_TIME          = 20  #本地实例故障认定时间
INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
INST_OGUID               = 45331  #守护系统唯一 OGUID 值
INST_INI                 = /dm/dmdata/CLIMB/dm.ini  #dm.ini 文件路径
INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
INST_STARTUP_CMD         = /dm/dmdbms/bin/dmserver  #命令行方式启动
RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

备库还原操作

拷贝备份文件夹至备库/app/dm/dmbak/下

可以使用scp命令、sftp传输,或者其他方便使用的命令

正常关闭数据库后,使用dmrman工具进行脱机还原
./dmrman
执行restore
[dmdba@~]$/dm/dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/dm/dmdata/CLIMB/dm.ini' FROM BACKUPSET '/dm/dmbak/FULL_BAK_20221109'"
执行recover
[dmdba@~]$/dm/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm/dmdata/CLIMB/dm.ini' FROM BACKUPSET '/dm/dmbak/FULL_BAK_20221109'"
执行执行 recover update db_magic
[dmdba@~]$/dm/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm/dmdata/CLIMB/dm.ini' UPDATE DB_MAGIC"

修改备库配置文件

修改实例的配置文件dm.ini

主库主要修改以下参数

vi /dm/dmdata/climb/dm.ini

INSTANCE_NAME  = CLIMB02
PORT_NUM = 5236                               #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60              #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0                     #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS  = 2                      #不允许备库 OFFLINE 表空间
MAL_INI = 1                                           #打开 MAL 系统
ARCH_INI = 1                                         #打开归档配置
RLOG_SEND_APPLY_MON = 64             #统计最近 64 次的日志重演信息
配置归档文件dmarch.ini

备库添加以下内容

vi /dm/dmdata/climb/dmarch.ini
ARCH_WAIT_APPLY            = 0  #0:高性能(故障手切) 1:事务一致(故障自切)
[ARCHIVE_LOCAL]
ARCH_TYPE                = LOCAL  #本地归档类型
ARCH_DEST                = /dm/dmarch/  #本地归档存放路径
ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB
ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]
ARCH_TYPE                = REALTIME  #实时归档类型
ARCH_DEST                = CLIMB01  #实时归档目标实例名
配置MAL系统配置文件 dmmal.ini

在实例目录下新建文件 dmmal.ini,执行以下命令:

vi /dm/dmdata/climb/dmmal.ini

主备库文件内容要相同

MAL_CHECK_INTERVAL   = 5  #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL  = 5  #判定 MAL 链路断开的时间
[MAL_INST1]
  MAL_INST_NAME = CLIMB01 #与 dm.ini 中的 INSTANCE_NAME 一致
  MAL_HOST     = 10.4.33.2  #MAL 系统监听 TCP 内部网络 IP
  MAL_PORT     = 61141 #MAL 系统监听 TCP 连接的端口
  MAL_INST_HOST   = 10.4.33.2  #实例的对外服务 IP 地址
  MAL_INST_PORT   = 5236 #与 dm.ini 中的 PORT_NUM 一致
  MAL_DW_PORT   = 52141 #实例对应的守护进程监听 TCP 端口
  MAL_INST_DW_PORT = 33141
[MAL_INST2]
  MAL_INST_NAME = CLIMB02 #与 dm.ini 中的 INSTANCE_NAME 一致
  MAL_HOST      = 10.4.33.3  # MAL 系统监听 TCP 内部网络 IP
  MAL_PORT          = 61141 #MAL 系统监听 TCP 连接的端口
  MAL_INST_HOST         = 10.4.33.3  #实例的对外服务 IP 地址
  MAL_INST_PORT         = 5236 #与 dm.ini 中的 PORT_NUM 一致
  MAL_DW_PORT  = 52141 #实例对应的守护进程监听 TCP 端口
  MAL_INST_DW_PORT = 33141

注意:

MAL_HOST 对应 private ip
MAL_INST_HOST  对应 public ip 
配置守护进程配置文件 dmwatcher.ini

在实例目录下新建文件 dmwatcher.ini,执行以下命令:

vi /dm/dmdata/climb/dmwatcher.ini

主备库文件内容要相同

[GRP1]
DW_TYPE                  = GLOBAL  #全局守护类型
DW_MODE                  = MANUAL  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #远程守护进程故障认定时间
INST_ERROR_TIME          = 20  #本地实例故障认定时间
INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
INST_OGUID               = 45331  #守护系统唯一 OGUID 值
INST_INI                 = /dm/dmdata/CLIMB/dm.ini  #dm.ini 文件路径
INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
INST_STARTUP_CMD         = /dm/dmdbms/bin/dmserver  #命令行方式启动
RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

配置监控器配置文件dmmonitor.ini

由于只有2台服务器,所以在备库10.4.33.3上部署监控器

vi /dm/dmdata/climb/dmmonitor.ini
MON_DW_CONFIRM    = 1   #确认监视器模式
MON_LOG_PATH    = /dm/dmdata/climb/log #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 32 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT  = 0  #不限定日志文件总占用空间
[GRP_RW] 
 MON_INST_OGUID    = 45331 #组 GRP_RW 的唯一 OGUID 值
#以下配置为监视器到组 GRP_RW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
 MON_DW_IP     = 10.4.33.2:52141
 MON_DW_IP     = 10.4.33.3:52141

启动服务及查看信息

以Mount方式启动数据库并修改参数

注意:在官方文档中是以数据库启动脚本 start的方式启动,需要修改一下数据库启动脚本中的内容,才能以mount的方式启动,不然正常以open试启动,后边修改OGUID会报错

vi /dm/dmdbms/bin/DmServiceclimb

image.png

su - dmdba
cd /dm/dmdbms/bin/
./DmServiceclimb start

此时通过ps -ef | grep dm.ini命令即可以看到数据库实例是以mount形式启动的

主库修改参数
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>sp_set_oguid(45331);

SQL> ALTER DATABASE PRIMARY;					

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0); 	

image.png

修改备库

同样需要修改DmServiceclimb脚本 中的mount后,再以数据库启动脚本的方式启动

image.png

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>sp_set_oguid(45331);

SQL> ALTER DATABASE STANDBY;					

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0); 	

目前主、备库都牌mount状态,把守护进程 启动后,守护进程自动将mount更改为open .

启动守护进程

启动报错:

image.png

前台可以启动:

image.png

说明启动脚本有问题:

vi /dm/dmdbms/bin/DmWatchServiceWatch

image.png

修改后再次启动:

image.png

image.png

启停集群

## 启动
## 主/备 机器
[dmdba@~]$ /dm/dmdbms/bin/DmWatcherServiceWatcher start

## 停止
## 主/备机器
[dmdba@~]$ /dm/dmdbms/bin/DmWatcherServiceWatcher stop
## 主 机器
[dmdba@~]$ /dm/dmdbms/bin/DmServiceclimb stop
## 备 机器
[dmdba@~]$ /dm/dmdbms/bin/DmServiceclimb stop
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服