达梦(dm8)数据库主备(dw)守护集群安装部署

1 环境准备

安装操作系统:redhat7.9 图形化界面

安装达梦数据库:dm8

节点1 IP地址:192.168.248.22(网卡1)10.36.200.22(网卡2)  node1

节点2 IP地址:192.168.248.23(网卡1)10.36.200.23(网卡2)  node2

1.1 关闭防火墙和selinux

systemctl stop firewalld && systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  && setenforce 0    

1.2 创建本地yum源

cat <<EOF>>/etc/yum.repos.d/local.repo

[local]

name=local

baseurl=file:///mnt/cdrom

gpgcheck=1

enabled=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

EOF

配置生效

mkdir -p /mnt/cdrom/

echo '/dev/sr0  /mnt/cdrom    iso9660  defaults  0 0'>> /etc/fstab

mount -a

1.3 设置主机名

hostnamectl set-hostname node1

hostnamectl set-hostname node2

1.4 配置固定IP地址

1.4.1node1 网卡1

vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

DEVICE="ens32"

ONBOOT="yes"

IPADDR=192.168.248.88   

DNS1=192.168.248.2

GATEWAY=192.168.248.2

1.4.2 node1 网卡2

vim /etc/sysconfig/network-scripts/ifcfg-ens35 

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens35"

DEVICE="ens35"

ONBOOT="yes"

IPADDR=10.36.200.22

1.4.3 node2 网卡1

vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

DEVICE="ens32"

ONBOOT="yes"

IPADDR=192.168.248.23   

DNS1=192.168.248.2

GATEWAY=192.168.248.2

1.4.4 node2 网卡1

vim /etc/sysconfig/network-scripts/ifcfg-ens35 

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens35"

DEVICE="ens35"

ONBOOT="yes"

IPADDR=10.36.200.23

1.5 配置hosts

cat <<EOF>>/etc/hosts

#public ip

192.168.248.22 node1

192.168.248.23 node2

EOF

2 安装达梦数据库前期配置

2.1 在root下创建用户和组以及设置dmdba密码

groupadd dinstall

mkdir -p /home/dmdba

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

mkdir -p /dbdata/dmdata /dbbak/dmbak /dbarch/dmarch

echo "123123" | passwd --stdin dmdba  

mkdir -p /home/dmdba/dm/dmdbms

chown -R dmdba:dinstall /home/dmdba/dm/dmdbms

mkdir -p /opt/dm /mnt/dm

chown -R dmdba:dinstall /dbdata /dbbak /dbarch /opt/dm  /mnt/dm

2.2 root用户下修改资源限制

cat <<EOF>> /etc/security/limits.conf

*   soft    core unlimited

*   hard    core unlimited

dmdba   soft    nofile     65536

dmdba   hard    nofile     65536

dmdba   soft    nproc      10240

dmdba   hard    nproc      10240

dmdba   soft    core       unlimited

dmdba   hard    core       unlimited

EOF

切换用户到dmdba

su - dmdba

ulimit -a

source .bash_profile

重启

reboot

2.3 上传安装包

用xshell或者winscp上传安装包到系统/opt/dm下

下列以xshell为例 安装达梦数据库验证md5

md5sum /opt/dm/dm8_20230630_x86_rh6_64.iso

2.4 挂载安装数据库

mount -o loop /opt/dm/dm8_20230630_x86_rh6_64.iso /mnt/dm

su - dmdba

source .bash_profile

/mnt/dm/DMInstall.bin -i

------------------------------以下为安装过程选项----------------------------------------------------------

Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c   #选择c中文安装

解压安装程序..........

欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n   #选择n后续安装key文件有key可以直接输入绝对路径

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y      #选择是

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:    #默认直接回车如果不是21 中国时区填21

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:   #默认直接回车选择典型安装,典型是包含了服务器和客户端安装,自定义是可选择

所需空间: 1869M

请选择安装目录 [/home/dmdba/dm/dmdbms]:   #按要求安装路径,有特殊要求填入其他路径

可用空间: 68G

是否确认安装路径(/home/dmdba/dm/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:  #默认直接回车Y

安装前小结

安装位置: /home/dmdba/dm/dmdbms

所需空间: 1869M

可用空间: 68G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):

是否确认安装? (Y/y:是 N/n:否):y  

2024-01-08 11:03:48

[INFO] 安装达梦数据库...

2024-01-08 11:03:48

[INFO] 安装 基础 模块...

2024-01-08 11:03:53

[INFO] 安装 服务器 模块...

2024-01-08 11:03:54

[INFO] 安装 客户端 模块...

2024-01-08 11:03:57

[INFO] 安装 驱动 模块...

2024-01-08 11:03:59

[INFO] 安装 手册 模块...

2024-01-08 11:03:59

[INFO] 安装 服务 模块...

2024-01-08 11:03:59

[INFO] 移动日志文件。

2024-01-08 11:04:00

[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:

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

安装结束

------------------------------以上为安装过程选项----------------------------------------------------------

2.5 注册数据库备份还原服务

再开一个窗口或者切换到root用户下执行上述命令

su - root

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

2.5.1 初始化数据库实例节点1

su - dmdba

source /home/dmdba/dm/.bash_profile

/home/dmdba/dm/dmdbms/bin/dminit PATH=/dbdata/dmdata/ INSTANCE_NAME=GRP1_RT_01 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048  

2.5.2 初始化数据库实例节点2

su - dmdba

source /home/dmdba/dm/.bash_profile

/home/dmdba/dm/dmdbms/bin/dminit PATH=/dbdata/dmdata/ INSTANCE_NAME=GRP1_RT_02 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048

3 配置数据守护集群节点1配置

将dm.ini,dmarch.ini,dmwatcher.ini 放到/home/dmdba/dm/dmdbms/bin下统一管理

​​​​​​​3.1 前台启动实例库

前台启动实例库,启动需要等待1分钟,看到下列框框代表启动起来了

/home/dmdba/dm/dmdbms/bin/dmserver /dbdata/dmdata/DAMENG/dm.ini

再开一个窗口登录数据库

su - dmdba

/home/dmdba/dm/dmdbms/bin/disql SYSDBA/SYSDBA

3.2 开启归档

SQL> ALTER DATABASE MOUNT;

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dbarch/dmarch/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';

SQL> ALTER DATABASE OPEN;

​​​​​​​3.3 备份数据

SQL> BACKUP DATABASE BACKUPSET '/dbdata/dmdata/DAMENG/bak/BACKUP_FILE';

​​​​​​​3.4 修改dm.ini

SQL> SP_SET_PARA_VALUE (2,'PORT_NUM',5236);

SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);

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

SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);

SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1);

SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

​​​​​​​3.5 关闭前台实例服务

exit或者按住ctrl +c停止相关服务

3.6 ​​​​​​​修改dmarch.ini

vim /dbdata/dmdata/DAMENG/dmarch.ini

ARCH_WAIT_APPLY            = 0   #0:高性能 1:事务一致

[ARCHIVE_LOCAL]

ARCH_TYPE                = LOCAL  #本地归档类型

ARCH_DEST                = /dbarch/dmarch/DAMENG/arch  #本地归档存放路径

ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB

ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME     #实时归档类型

ARCH_DEST                = GRP1_RT_02  #实时归档目标实例名

​​​​​​​​​​​​​​3.7 创建dmmal.ini

vim /dbdata/dmdata/DAMENG/dmmal.ini

#MAL 链路检测时间间隔

MAL_CHECK_INTERVAL         = 10

#判定 MAL 链路断开的时间

MAL_CONN_FAIL_INTERVAL     = 10

#临时文件目录

MAL_TEMP_PATH              = /tmp/dm8/data/malpath/

#单个 MAL 缓存大小,单位 MB

MAL_BUF_SIZE               = 512

#MAL 总大小限制,单位 MB

MAL_SYS_BUF_SIZE           = 2048

#MAL 消息压缩等级,0 表示不压缩  

MAL_COMPRESS_LEVEL         = 0

[MAL_INST1]

#实例名,和 dm.ini 的 INSTANCE_NAME 一致

MAL_INST_NAME            = GRP1_RT_01

#MAL 系统监听 TCP 连接的 IP 地址  

MAL_HOST                 = 192.168.248.22

#MAL 系统监听 TCP 连接的端口  

MAL_PORT                 = 5336

#实例的对外服务 IP 地址  

MAL_INST_HOST            = 10.36.200.22

#实例对外服务端口,和 dm.ini 的 PORT_NUM 一致

MAL_INST_PORT            = 5236

#实例对应的守护进程监听 TCP 连接的端口  

MAL_DW_PORT              = 5436

#实例监听守护进程 TCP 连接的端口

MAL_INST_DW_PORT         = 5536

[MAL_INST2]

MAL_INST_NAME            = GRP1_RT_02

MAL_HOST                 = 192.168.248.23

MAL_PORT                 = 5336

MAL_INST_HOST            = 10.36.200.23

MAL_INST_PORT            = 5236

MAL_DW_PORT              = 5436

MAL_INST_DW_PORT         = 5536​​​​​​​

3.8 创建 dmwatcher.ini

vim /dbdata/dmdata/DAMENG/dmwatcher.ini

[GRP1]

#全局守护类型

DW_TYPE                  = GLOBAL

#MANUAL:故障手切 AUTO:故障自切  

DW_MODE                  = MANUAL

#远程守护进程故障认定时间

DW_ERROR_TIME            = 20

#本地实例故障认定时间(单位是秒还是分钟?)

INST_ERROR_TIME          = 20

#主库守护进程启动恢复的间隔时间(单位是秒还是分钟?)

INST_RECOVER_TIME        = 60

#守护系统唯一 OGUID 值

INST_OGUID               = 45331

#dm.ini 文件路径

INST_INI                 = /dbdata/dmdata/DAMENG/dm.ini

#打开实例的自动启动功能

INST_AUTO_RESTART        = 1

#命令行方式启动

INST_STARTUP_CMD         = /home/dmdba/dm/dmdbms/bin/dmserver

#指定主库发送日志到备库的时间阈值,默认关闭

RLOG_SEND_THRESHOLD      = 0

#指定备库重演日志的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD     = 0

​​​​​​​3.9 拷贝备份文件到备库

scp -r /dbdata/dmdata/DAMENG/bak/BACKUP_FILE dmdba@192.168.248.23:/dbdata/dmdata/DAMENG/bak/

​​​​​​​3.10 注册实例服务

root用户执行下列命令

/home/dmdba/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini  /dbdata/dmdata/DAMENG/dm.ini -m mount

/home/dmdba/dm/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini  /dbdata/dmdata/DAMENG/dmwatcher.ini

3.11 节点2配置恢复数据

/home/dmdba/dm/dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/dbdata/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dbdata/dmdata/DAMENG/bak/BACKUP_FILE'"

/home/dmdba/dm/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/dbdata/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dbdata/dmdata/DAMENG/bak/BACKUP_FILE'"

/home/dmdba/dm/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/dbdata/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC"

​​​​​​​3.12 创建 dmarch.ini  

vim /dbdata/dmdata/DAMENG/dmarch.ini

        ARCH_WAIT_APPLY      = 0   #0:高性能  1:事务一致

[ARCHIVE_LOCAL1]

        ARCH_TYPE            = LOCAL   #本地归档类型

        ARCH_DEST            = /dbarch/dmarch/DAMENG/arch  #本地归档存放路径

        ARCH_FILE_SIZE       = 1024   #单个归档大小,单位 MB

        ARCH_SPACE_LIMIT     = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME  #实时归档类型

ARCH_DEST                = GRP1_RT_01  ##实时归档目标实例名

3.13 ​​​​​​​节点2 配置 dm.ini、dmmal.ini 和 dmwatcher.ini

除了dm.ini不同,节点2 里 dmmal.ini、dmwatcher.ini 与节点1 GRP1_RT_01 的 dmmal.ini、dmwatcher.ini 相同,可直接将节点1的复制过来,也可参照下列配置

vim /dbdata/dmdata/DAMENG/dm.ini

        ARCH_WAIT_APPLY      = 0   #0:高性能  1:事务一致

[ARCHIVE_LOCAL1]

        ARCH_TYPE            = LOCAL   #本地归档类型

        ARCH_DEST            = /dbarch/dmarch/DAMENG/arch  #本地归档存放路径

        ARCH_FILE_SIZE       = 1024   #单个归档大小,单位 MB

        ARCH_SPACE_LIMIT     = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME  #实时归档类型

ARCH_DEST                = GRP1_RT_01  ##实时归档目标实例名

------------------------------------------------------------------------------------------------------------------------

vim /dbdata/dmdata/DAMENG/dmmal.ini

------------------------------------------------------------------------------------------------------------------------

#MAL 链路检测时间间隔

MAL_CHECK_INTERVAL         = 10

#判定 MAL 链路断开的时间

MAL_CONN_FAIL_INTERVAL     = 10

#临时文件目录

MAL_TEMP_PATH              = /tmp/dm8/data/malpath/

#单个 MAL 缓存大小,单位 MB

MAL_BUF_SIZE               = 512

#MAL 总大小限制,单位 MB

MAL_SYS_BUF_SIZE           = 2048

#MAL 消息压缩等级,0 表示不压缩  

MAL_COMPRESS_LEVEL         = 0

[MAL_INST1]

#实例名,和 dm.ini 的 INSTANCE_NAME 一致

MAL_INST_NAME            = GRP1_RT_01

#MAL 系统监听 TCP 连接的 IP 地址  

MAL_HOST                 = 192.168.248.22

#MAL 系统监听 TCP 连接的端口  

MAL_PORT                 = 5336

#实例的对外服务 IP 地址  

MAL_INST_HOST            = 10.36.200.22

#实例对外服务端口,和 dm.ini 的 PORT_NUM 一致

MAL_INST_PORT            = 5236

#实例对应的守护进程监听 TCP 连接的端口  

MAL_DW_PORT              = 5436

#实例监听守护进程 TCP 连接的端口

MAL_INST_DW_PORT         = 5536

[MAL_INST2]

MAL_INST_NAME            = GRP1_RT_02

MAL_HOST                 = 192.168.248.23

MAL_PORT                 = 5336

MAL_INST_HOST            = 10.36.200.23

MAL_INST_PORT            = 5236

MAL_DW_PORT              = 5436

MAL_INST_DW_PORT         = 5536

-------------------------------------------------------------------------------------------------------------------------

vim /dbdata/dmdata/DAMENG/dmwatcher.ini

[GRP1]

#全局守护类型

DW_TYPE                  = GLOBAL

#MANUAL:故障手切 AUTO:故障自切  

DW_MODE                  = MANUAL

#远程守护进程故障认定时间

DW_ERROR_TIME            = 20

#本地实例故障认定时间(单位是秒还是分钟?)

INST_ERROR_TIME          = 20

#主库守护进程启动恢复的间隔时间(单位是秒还是分钟?)

INST_RECOVER_TIME        = 60

#守护系统唯一 OGUID 值

INST_OGUID               = 45331

#dm.ini 文件路径

INST_INI                 = /dbdata/dmdata/DAMENG/dm.ini

#打开实例的自动启动功能

INST_AUTO_RESTART        = 1

#命令行方式启动

INST_STARTUP_CMD         = /home/dmdba/dm/dmdbms/bin/dmserver

#指定主库发送日志到备库的时间阈值,默认关闭

RLOG_SEND_THRESHOLD      = 0

#指定备库重演日志的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD     = 0

      1. 注册实例服务

root用户执行

/home/dmdba/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /dbdata/dmdata/DAMENG/dm.ini -m mount

/home/dmdba/dm/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dbdata/dmdata/DAMENG/dmwatcher.ini

4  配置监视器

手动切换:集群各节点的 bin 目录中,存放非确认监视器配置文件。

自动切换:在确认监视器上(非集群节点),存放确认监视器配置文件,并注册后台自启服务。

​​​​​​​4.1创建 dmmonitor.ini

用dmdba用户执行,用root用户执行到时需要授权

cat <<EOF>>  /home/dmdba/dm/dmdbms/bin/dmmonitor.ini

#0:非确认(故障手切) 1:确认(故障自切)

MON_DW_CONFIRM             = 1

#监视器日志文件存放路径

MON_LOG_PATH               = ../log

#每隔 60s 定时记录系统信息到日志文件  

MON_LOG_INTERVAL           = 60

#单个日志大小,单位 MB  

MON_LOG_FILE_SIZE          = 512

#日志上限,单位 MB  

MON_LOG_SPACE_LIMIT        = 2048  

[GRP1]

#组 GRP1 的唯一 OGUID 值

MON_INST_OGUID           = 45331

#IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT  

MON_DW_IP                = 192.168.248.22:5436  

MON_DW_IP                = 192.168.248.23:5436

EOF

在配置监视器时,一般配置好确认监视器后,建议再配置一个非确认监视器的配置文件,在主备发生切换时,可以通过前台的方式启动非确认监视器进行手动切换。非确认监视器是通过将监视器配置文件中 MON_DW_CONFIRM 参数值修改为 0 来实现,示例如下:

cat <<EOF>> /home/dmdba/dm/dmdbms/bin/dmmonitor_manual.ini

#0:非确认(故障手切) 1:确认(故障自切)

MON_DW_CONFIRM             = 0

#监视器日志文件存放路径

MON_LOG_PATH               = ../log

#每隔 60s 定时记录系统信息到日志文件  

MON_LOG_INTERVAL           = 60

#单个日志大小,单位 MB  

MON_LOG_FILE_SIZE          = 512

#日志上限,单位 MB  

MON_LOG_SPACE_LIMIT        = 2048  

[GRP1]

#组 GRP1 的唯一 OGUID 值

MON_INST_OGUID           = 45331

#IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT  

MON_DW_IP                = 192.168.248.22:5436     //这里IP地址是你主备IP和端口

MON_DW_IP                = 192.168.248.23:5436     //这里IP地址是你主备IP和端口

EOF

​​​​​​​4.2 注册监听服务

/home/dmdba/dm/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini  /home/dmdba/dm/dmdbms/bin/dmmonitor.ini

​​​​​​​4.2.1 通过前台方式启动非确认监视器

/home/dmdba/dm/dmdbms/bin/dmmonitor /home/dmdba/dm/dmdbms/bin/dmmonitor_manual.ini

从监视器中可以看到 GRP1_RT_01 为主库,GRP1_RT_01 为备库

4.2 login登录监视器

在上述前台方式启动非确认监视器后,登录监视器login

​​​​​​​4.3 主备切换

switchover GRP1.GRP1_RT_02

​​​​​​​4.4 tip/show 查看实例状态

可以看到主备正常切换和状态

​​​​​​​exit退出监视器

​​​​​​​4.5 choose switchove查看满足切换主备条件的实例

输入命令"choose switchover 组名"查看可切换为主库的实例列表

4.6 启动服务和修改配置​​​​​​​节点1

su - root

systemctl start DmServiceGRP1_RT_01.service

su - dmdba

/home/dmdba/dm/dmdbms/bin/disql SYSDBA/SYSDBA

设置OGUID

SQL> SP_SET_OGUID(45331);

设置为主库

SQL> ALTER DATABASE PRIMARY;

启动守护进程

systemctl start DmWatcherServiceWatcher.service

启动监视器(后台启动)

systemctl start DmMonitorServiceMonitor

启动监视器(前台启动)

/home/dmdba/dm/dmdbms/bin/dmmonitor /home/dmdba/dm/dmdbms/bin/dmmonitor.ini

4.7 启动服务和修改配置​​​​​​​节点2

su - root

systemctl start DmServiceGRP1_RT_02.service

su - dmdba

/home/dmdba/dm/dmdbms/bin/disql SYSDBA/SYSDBA

设置OGUID

SQL> SP_SET_OGUID(45331);

设置为备库

SQL> ALTER DATABASE STANDBY;

启动守护进程(也是集群服务)

systemctl start DmWatcherServiceWatcher.service

​​​​​​​4.8 dm_svc.conf 配置

##全局配置区

TIME_ZONE=(480)

LANGUAGE=(cn)

DMHA=(192.168.248.22:5236,192.168.248.23:5236)

##服务配置

[DMHA]

SWITCH_TIMES=(3)

SWITCH_INTERVAL=(100)

LOGIN_MODE=(1)

5 验证

部署不验证成功,搭建了也是白搭

在主库上创建一个表

create table test (num int,name varchar(20000));

insert into test values (1,’tom’);

备库上查看是否有主库相关表数据

select * from test

以上搭建完成谢谢

 达梦数据库技术社区:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

<think>好的,用户之前问了dm.ini的位置,现在又问了达梦数据库的重启步骤。我需要先理清楚用户可能的场景和需求。 用户可能是数据库管理员,或者是刚接触达梦的新手,需要处理数据库维护或故障恢复。重启数据库通常是因为配置更改、性能问题或系统更新。用户可能已经修改了dm.ini,需要重启使配置生效,或者遇到了问题需要重启来恢复服务。 接下来要考虑达梦的重启方法有哪些。根据知识,达梦可以通过服务管理器、命令行工具、系统服务控制等方式。需要分步骤详细说明,同时注意不同操作系统(Linux和Windows)的差异,因为用户可能使用其中一种。 用户可能还关心重启前的注意事项,比如份、检查日志、权限问题。之前回答dm.ini时提到过权限,这里需要再次强调,尤其是Linux下的dmdba用户。另外,重启过程中可能遇到服务无法停止或启动失败的情况,需要给出排查建议,比如查看日志、端口冲突等。 还要考虑是否需要涵盖集群环境的重启,但用户的问题没有明确提到集群,可能暂时不需要深入,但可以稍微提及,以防万一。 确保回答结构清晰,分步骤说明,每个步骤包含具体命令和示例,比如使用systemctl或DM Service Viewer。同时,提醒用户注意事项和常见问题,帮助用户避免常见错误。 最后,检查是否需要补充可能的相关问题,比如如何检查数据库状态,或者配置修改后的处理,但根据当前问题,专注于重启步骤即可。</think>达梦数据库重启操作需根据部署方式和操作系统选择对应方法,以下是详细步骤及注意事项: --- ### **一、重启前准工作** 1. **数据安全确认** - 检查当前会话:执行 `SELECT COUNT(*) FROM v$sessions` 确认无活跃业务连接 - 强制断开连接(紧急时):`SP_CLOSE_SESSION(session_id)` - 手动份重要配置文件(dm.ini、dmmal.ini等) 2. **日志检查** ```bash tail -n 100 /dm8/data/DAMENG/dm_xxx.log # Linux查看日志 ``` --- ### **二、Linux系统重启流程** #### **方法1:通过DmService服务控制** ```bash # 停止服务 systemctl stop DmServiceDMSERVER # 检查进程是否终止 ps -ef | grep dmserver # 启动服务 systemctl start DmServiceDMSERVER # 验证状态 systemctl status DmServiceDMSERVER ``` #### **方法2:直接操作服务脚本** ```bash cd /dm8/bin ./DmServiceDMSERVER stop ./DmServiceDMSERVER start ``` --- ### **三、Windows系统重启流程** 1. **服务管理器方式** - 打开`DM服务查看器`(DM Service Viewer) - 右键目标实例 > 选择`停止服务` - 再次右键 > 选择`启动服务` 2. **命令行方式** ```bat net stop DmServiceDMSERVER net start DmServiceDMSERVER ``` --- ### **四、特殊场景处理** 1. **集群环境重启** - 数据守护(DW):先重启库,再重启
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值