达梦数据库主备集群(数据守护/读写分离)搭建
一.环境准备
二.安装前准备
三.安装数据库(db01和db02同样操作)
四.脱机备份、还原、恢复
五.配置主备库文件
六.修改数据库模式
七.配置监听器

概述
DM 数据守护(Data Watch)是一种集成化的高可用、高性能数据库解决方案,是数据库异地容灾的首选方案。通过部署DM数据守护,可以在硬件故障(如磁盘损坏)、自然灾害(地震、火灾)等极端情况下,避免数据损坏、丢失,保障数据安全,并且可以快速恢复数据库服务,满足用户不间断提供数据库服务的要求。

DM数据守护提供多种解决方案,可以配置成实时主备、MPP主备或读写分离集群,满足用户关于系统可用性、数据安全性、性能等方面的综合需求,有效降低总体投入,获得超值的投资回报。

DM 数据守护(Data Watch)的实现原理非常简单:将主库(生产库)产生的 Redo日志传输到备库,备库接收并重新应用Redo日志,从而实现备库与主库的数据同步。DM数据守护的核心思想是监控数据库状态,获取主、备库数据同步情况,为 Redo 日志传输与重演过程中出现的各种异常情况提供一系列的解决方案。

实时主备

实时主备由一个主库以及一个或者多个配置了实时(Realtime)归档的备库组成,其主要目的是保障数据库可用性,提高数据安全性。实时主备系统中,主库提供完整的数据库功能,备库提供只读服务。主库修改数据产生的Redo日志,通过实时归档机制,在写入联机Redo日志文件之前发送到备库,实时备库通过重演Redo日志与主库保持数据同步。当主库出现故障时,备库在将所有Redo日志重演结束后,就可以切换为主库对外提供数据库服务

一.环境准备
环境参数:kylinv10 2台 8G内存 40G 磁盘
主库地址:10.10.28.140 数据库名DAMENG ,数据库服务名TEST1 服务端口=5236
备库地址:10.10.28.141 数据库名DAMENG ,数据库服务名TEST2 服务端口=5236
DM 各种工具位于目录: /opt/dmdbms/bin。
配置文件位于目录: /home/data。
root:Huawei0.123
root:Huawei0.123

二、安装前准备
1.检查操作系统资源限制

echo ‘dmdba hard nofile 65536’>>/etc/security/limits.conf
 echo ‘dmdba soft nofile 65536’>>/etc/security/limits.conf
 echo ‘dmdba hard nproc 65536’>>/etc/security/limits.conf
 echo ‘dmdba soft nproc 65536’>>/etc/security/limits.conf
 echo ‘dmdba soft core 65536’>>/etc/security/limits.conf
 echo ‘dmdba hard core 65536’>>/etc/security/limits.conf
 cat /etc/security/limits.conf2.检查修改系统资源限制
 ulimit -a
 确保open files设置为65536以上或者unlimited(无限制),如果不是,修改/etc/profile
 增加一行:ulimit -n 65536echo “ulimit -n 65536” >>/etc/profile
 source /etc/profile3.关闭防火墙
 systemctl stop firewalld & systemctl disable firewalld4.关闭SELINUX
 sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config
 setenforce 0
 cat /etc/selinux/config | grep SELINUX=disabled三、安装数据库(db01和db02同样操作)
 1.上传数据库安装软件到/opt/soft目录
 su - root
 mkdir -pv /opt/soft
 cd /opt/soft
 ls -ltr
 scp /opt/soft/dm8* 10.10.28.141:/opt/soft
 略2.创建用户
 groupadd dinstall
 useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
 echo “dmdba” | passwd --stdin dmdba3.创建安装目录,更改授权
 mkdir -pv /dm8
 chown -R dmdba:dinstall /dm8
 chmod -R 755 /dm8
 ls -ld /dm84.加载光驱
 su - root
 mount -o loop /opt/soft/dm8_20200907_FTarm_kylin4_64_ent_8.1.1.126.iso /mnt5.安装数据库,选择dmdba用户安装,初始化数据库
 安装用户使用dminit 创建TEST1实例,并用root用户创建服务。disql登录退出,备库同样操作
 su - dmdba
 cp /mnt/DMInstall.bin /home/dmdba/
 cd /home/dmdba/
 chown dmdba:dinstall DMInstall.bin
 chmod 755 ./DMInstall.bin
 ls -ltr
 [dmdba@db01 ~]$ ./DMInstall.bin -i
 请选择安装语言(C/c:中文 E/e:英文) [C/c]:
 解压安装程序…
 欢迎使用达梦数据库安装程序是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (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安装类型:
 1 典型安装
 2 服务器
 3 客户端
 4 自定义
 请选择安装类型的数字序号 [1 典型安装]:1
 所需空间: 1024M请选择安装目录 [/dm8]:
 可用空间: 26G
 是否确认安装路径(/dm8)? (Y/y:是 N/n:否) [Y/y]:安装前小结
 安装位置: /dm8
 所需空间: 1024M
 可用空间: 26G
 版本信息:
 有效日期:
 安装类型: 典型安装
 是否确认安装? (Y/y:是 N/n:否):y
 2020-12-04 13:49:44
 [INFO] 安装达梦数据库…
 2020-12-04 13:49:45
 [INFO] 安装 基础 模块…
 2020-12-04 13:49:47
 [INFO] 安装 服务器 模块…
 2020-12-04 13:49:47
 [INFO] 安装 客户端 模块…
 2020-12-04 13:49:47
 [INFO] 安装 驱动 模块…
 2020-12-04 13:49:48
 [INFO] 安装 手册 模块…
 2020-12-04 13:49:48
 [INFO] 安装 服务 模块…
 2020-12-04 13:49:50
 [INFO] 移动ant日志文件。
 2020-12-04 13:49:50
 [INFO] 安装达梦数据库完成。请以root系统用户执行命令:
 /dm8/script/root/root_installer.sh
 安装结束–若中途中断需删除,然后再安装
 cd /tmp
 rm -rf DMInstall/
 rm -rf dm_build.properties[dmdba@db01 soft]$ exit
 logout
 [root@db01 dm8]# /dm8/script/root/root_installer.sh
 移动 /dm8/bin/dm_svc.conf 到/etc目录
 修改服务器权限
 创建DmAPService服务
 创建服务(DmAPService)完成
 启动DmAPService服务6.修改dmdba环境变量
 [dmdba@db01 ~]$ vim .bashrcexport LD_LIBRARY_PATH=“DM_HOME/bin:PATH”7.使用环境生效
 source .bashrc
 env | grep dm8.初始化数据库
 节点1
 [dmdba@db01 ]$ cd /dm8/bin
 [dmdba@db01 bin]$ ./dminit PATH=/dm8/data DB_NAME=DAMENG INSTANCE_NAME=TEST1
 initdb V8
 db version: 0x7000b
 file dm.key not found, use default license!
 License will expire on 2021-09-04log file path: /dm8/data/DAMENG/DAMENG01.log
log file path: /dm8/data/DAMENG/DAMENG02.log
write to dir [/dm8/data/DAMENG].
 create dm database success. 2020-12-08 09:50:2节点2
 [dmdba@db02 ~]$ cd /dm8/bin
 [dmdba@db02 bin]$ ./dminit PATH=/dm8/data DB_NAME=DAMENG INSTANCE_NAME=TEST2
 initdb V8
 db version: 0x7000b
 file dm.key not found, use default license!
 License will expire on 2021-09-04log file path: /dm8/data/DAMENG/DAMENG01.log
log file path: /dm8/data/DAMENG/DAMENG02.log
write to dir [/dm8/data/DAMENG].
 create dm database success. 2020-12-08 10:04:389.注册服务
 节点1
 root用户切换到DM_HOME/script/root下
 [root@db01 dinstall]# cd /dm8/script/root/
 [root@db01 root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p TEST1
 Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceTEST1.service → /usr/lib/systemd/system/DmServiceTEST1.service.
 创建服务(DmServiceTEST1)完成节点2
 root用户切换到DM_HOME/script/root下
 [root@db02 bin]# cd /dm8/script/root/
 [root@db02 root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p TEST2
 Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceTEST2.service → /usr/lib/systemd/system/DmServiceTEST2.service.
 创建服务(DmServiceTEST2)完成10.启动服务
 systemctl start DmServiceTEST1.service
 systemctl enable DmServiceTEST1.service
 systemctl status DmServiceTEST1.service数据库名:DAMENG
 实例名:TEST1
 端口号:5236
 sysdba/sysauditor:SYSDBAsystemctl start DmServiceTEST2.service
 systemctl enable DmServiceTEST2.service
 systemctl status DmServiceTEST2.service数据库名:DAMENG
 实例名:TEST2 
 端口号:5236
 sysdba/sysauditor:SYSDBA四.脱机备份、恢复
 1.关闭服务
 systemctl stop DmServiceTEST1.service
 systemctl status DmServiceTEST1.servicesystemctl stop DmServiceTEST2.service
 systemctl status DmServiceTEST2.service
 2.正常关闭数据库服务,进行脱机备份
 cd /dm8/bin
 ./dmrman #使用dmrman工具脱机备份
 BACKUP DATABASE ‘/dm8/data/DAMENG/dm.ini’ BACKUPSET ‘/dm8/data/backup’
 file dm.key not found, use default license!
 Database mode = 0, oguid = 0
 EP[0]'s cur_lsn[40063]
 BACKUP DATABASE [DAMENG],execute…
 CMD CHECK LSN…
 BACKUP DATABASE [DAMENG],collect dbf…
 CMD CHECK …
 DBF BACKUP SUBS…
 total 1 packages processed…
 total 2 packages processed…
 total 3 packages processed…
 DBF BACKUP MAIN…
 BACKUPSET [/dm8/data/backup] END, CODE [0]…
 META GENERATING…
 total 5 packages processed…
 total 5 packages processed…
 total 5 packages processed!
 CMD END.CODE:[0]
 backup successfully!
 time used: 00:00:01.013
 3. 把主机全量备份的备份集拷贝到备机
 [dmdba@db02 ~]$ cd /dm8/data/
 [dmdba@db02 data]$ mkdir -pv backup/[dmdba@db01 ~]$ scp -r /dm8/data/backup/* 10.10.28.141:/dm8/data/backup/
 The authenticity of host ‘10.10.28.141 (10.10.28.141)’ can’t be established.
 ECDSA key fingerprint is SHA256:EDj9MqWl0eQotFdnfhgV7XZMSBgtIGTJUZ60MWjE+40.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added ‘10.10.28.141’ (ECDSA) to the list of known hosts.Authorized users only. All activities may be monitored and reported.
 dmdba@10.10.28.141’s password:
 Permission denied, please try again.
 dmdba@10.10.28.141’s password:
 backup.bak 100% 6246KB 341.4MB/s 00:00
 backup.meta[dmdba@db02 data]$ ls -l /dm8/data/backup/
 总用量 6324
 -rw------- 1 dmdba dmdba 6395392 12月 8 10:43 backup.bak
 -rw------- 1 dmdba dmdba 74240 12月 8 10:43 backup.meta4. 执行脱机数据库还原与恢复
 RESTORE DATABASE ‘/dm8/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm8/data/backup’
 RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm8/data/backup’
 RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ UPDATE DB_MAGIC
 过程:
 [dmdba@db02 data]$ cd /dm8/bin
 [dmdba@db02 bin]$ ./dmrman
 dmrman V8
 RMAN> RESTORE DATABASE ‘/dm8/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm8/data/backup’
 RESTORE DATABASE ‘/dm8/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm8/data/backup’
 file dm.key not found, use default license!
 RESTORE DATABASE CHECK…
 RESTORE DATABASE,data collect…
 RESTORE DATABASE,database refresh …
 RESTORE BACKUPSET [/dm8/data/backup] START…
 total 3 packages processed…
 total 5 packages processed…
 RESTORE DATABASE,UPDATE ctl file…
 RESTORE DATABASE,REBUILD key file…
 RESTORE DATABASE,CHECK db info…
 RESTORE DATABASE,UPDATE db info…
 total 5 packages processed…
 total 5 packages processed!
 CMD END.CODE:[0]
 restore successfully.
 time used: 226.828(ms)
 RMAN> RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm8/data/backup’
 RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm8/data/backup’
 Database mode = 0, oguid = 0
 EP[0]'s cur_lsn[40063]
 RESTORE RLOG CHECK…
 CMD END.CODE:[603],DESC:[备份集[/dm8/data/backup]备份过程中未产生日志]
 备份集[/dm8/data/backup]备份过程中未产生日志
 recover successfully!
 time used: 226.315(ms)
 RMAN> RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ UPDATE DB_MAGIC
 RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ UPDATE DB_MAGIC
 Database mode = 0, oguid = 0
 EP[0]'s cur_lsn[40063]
 EP[0]'s apply_lsn[40063] >= end_lsn[40063]
 recover successfully!
 time used: 971.050(ms)五.配置主备库文件(配置文件路径都在/dm8/data/DAMENG)
 配置 dm.ini ,备库一样配置,实例名不一样
 vi /dm8/data/DAMENG/dm.ini
 ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
 ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
 MAL_INI = 1 #打开 MAL 系统
 ARCH_INI = 1 #打开归档配置配置 dmmal.ini
 vi /dm8/data/DAMENG/dmmal.ini
 MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
 MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
 [MAL_INST1]
 MAL_INST_NAME = TEST1 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
 MAL_HOST = 10.10.28.140 #MAL系统监听TCP连接的IP地址,即为当前机器的IP
 MAL_PORT = 61141 #MAL系统监听TCP连接的端口
 MAL_INST_HOST = 10.10.28.140 #实例的对外服务IP地址,即为当前机器的公网IP
 MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
 MAL_DW_PORT = 52141 #实例对应的守护进程监听 TCP 连接的端口
 MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端口
 [MAL_INST2]
 MAL_INST_NAME = TEST2
 MAL_HOST = 10.10.28.141
 MAL_PORT = 61142
 MAL_INST_HOST = 10.10.28.141
 MAL_INST_PORT = 5236
 MAL_DW_PORT = 52142
 MAL_INST_DW_PORT = 33142 #实例监听守护进程 TCP 连接的端口配置 dmarch.ini,备库将实例名改为TEST1
 vi /dm8/data/DAMENG/dmarch.ini
 [ARCHIVE_REALTIME]
 ARCH_TYPE = REALTIME #实时归档类型
 ARCH_DEST = TEST1 #实时归档目标实例名
 [ARCHIVE_LOCAL1]
 ARCH_TYPE = LOCAL #本地归档类型
 ARCH_DEST = /dm8/data/DAMENG/arch #本地归档文件存放路径
 ARCH_FILE_SIZE = 512 #单位 Mb,本地单个归档文件最大值
 ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M配置守护进程dmwatcher.ini
 DM DataWatch4.0 必须先通过备份还原方式来对各备库进行初始化。可以采用联机备份也可以采用脱机备份。这里采用rman脱机备份。备份之前检查dmap是否已启动,需启动dmap。
 vi /dm8/data/DAMENG/dmwatcher.ini
 [GRP1]
 DW_TYPE = GLOBAL #全局守护类型
 DW_MODE = MANUAL #自动切换模式
 DW_ERROR_TIME = 10 #远程守护进程故障认定时间
 INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
 INST_ERROR_TIME = 10 #本地实例故障认定时间
 INST_OGUID = 453331 #守护系统唯一 OGUID 值
 INST_INI = /dm8/data/DAMENG/dm.ini #dm.ini 配置文件路径
 INST_AUTO_RESTART = 1 #打开实例的自动启动功能
 INST_STARTUP_CMD = /dm8/bin/dmserver #命令行方式启动
 RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
 RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭六.修改数据库模式
 DM 数据库包含以下几种模式:1. 普通模式(NORMAL): 用户可以正常访问数据库,操作没有限制;
2. 主库模式(PRIMARY): 用户可以正常访问数据库,所有对数据库对象的修改强制 生成 REDO 日志,在归档有效时,发送 REDO 日志到备库;
3. 备库模式(STANDBY): 接收主库发送过来的 REDO 日志并重做。数据对用户只读。
 三种模式只能在 MOUNT 状态下设置,模式之间可以相互转换。 对于新初始化的库,首次启动不允许使用 mount 方式,需要先正常启动并正常退出, 然后才允许 mount 方式启动1.以 Mount 方式启动主库
 cd /dm8/bin
 ./dmserver /dm8/data/DAMENG/dm.ini mount
 file dm.key not found, use default license!
 version info: develop
 Use normal os_malloc instead of HugeTLB
 Use normal os_malloc instead of HugeTLB
 DM Database Server x64 V8 1-1-126-20.09.04-126608-ENT startup…
 Database mode = 0, oguid = 0
 License will expire on 2021-09-04
 file lsn: 40063
 ndct db load finished
 ndct fill fast pool finished
 nsvr_startup end.
 aud sys init success.
 aud rt sys init success.
 systables desc init success.
 ndct_db_load_info success.
 SYSTEM IS READY.启动命令行工具 DIsql,登录主库设置 OGUID 值。主库修改数据库为 Primary 模式
 disql sysdba/SYSDBA
 SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
 sp_set_oguid(453331); #与dmmal.ini中INST_OGUID相同
 alter database primary;
 SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);确认主备库的lsn和永久魔数是否一致
 SQL> select file_lsn,cur_lsn from v$rlog;行号 FILE_LSN CUR_LSN

1 38345 38345

已用时间: 0.862(毫秒). 执行号:3.
SQL> select permanent_magic;

行号 PERMANENT_MAGIC


1 74548508

已用时间: 0.621(毫秒). 执行号:4.

2.以 Mount 方式启动备库
 cd /dm8/bin
 ./dmserver /dm8/data/DAMENG/dm.ini mount
 file dm.key not found, use default license!
 version info: develop
 Use normal os_malloc instead of HugeTLB
 Use normal os_malloc instead of HugeTLB
 DM Database Server x64 V8 1-1-126-20.09.04-126608-ENT startup…
 Database mode = 0, oguid = 0
 License will expire on 2021-09-04
 file lsn: 40063
 ndct db load finished
 ndct fill fast pool finished
 nsvr_startup end.
 aud sys init success.
 aud rt sys init success.
 systables desc init success.
 ndct_db_load_info success.
 SYSTEM IS READY.启动命令行工具 DIsql,登录备库设置 OGUID 值为 453331
 disql sysdba/SYSDBA
 SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
 sp_set_oguid(453331); #与dmmal.ini中INST_OGUID相同
 alter database standby;
 SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);确认主备库的lsn和永久魔数是否一致
 SQL> select file_lsn,cur_lsn from v$rlog;行号 FILE_LSN CUR_LSN
1 38345 38345
已用时间: 0.862(毫秒). 执行号:3.
 SQL> select permanent_magic;行号 PERMANENT_MAGIC
1 74548508
已用时间: 0.621(毫秒). 执行号:4.
七.配置监听器
 1.配置确认dmmonitor.ini监视器
 放到备库上,其中 MON_DW_IP 中的 IP 和 PORT 和dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置项保持一致。
 vi /dm8/data/DAMENG/dmmonitor.iniMON_DW_CONFIRM = 1 #确认监视器模式,0表示观察监视器
 MON_LOG_PATH = /dm8/data/log #监视器日志文件存放路径
 MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
 MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
 MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
 [GRP1]
 MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值
 #以下配置为监视器到组 GRP1 的守护进程的连接信息,以“IP:PORT”的形式配置
 #IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
 MON_DW_IP = 10.10.28.140:52141
 MON_DW_IP = 10.10.28.141:521422.启动各个主备库上的守护进程
 cd /dm8/bin
 ./dmwatcher /dm8/data/DAMENG/dmwatcher.ini3.启动监视器(备库)
 cd /dm8/bin
 ./dmmonitor /dm8/data/DAMENG/dmmonitor.ini
 [monitor] 2020-12-08 15:19:26: DMMONITOR[4.0] V8
 [monitor] 2020-12-08 15:19:26: DMMONITOR[4.0] IS READY.[monitor] 2020-12-08 15:19:27: 收到守护进程(TEST1)消息
 WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
 2020-12-08 15:19:24 OPEN OK TEST1 OPEN PRIMARY VALID 2 38345 38345[monitor] 2020-12-08 15:19:27: 收到守护进程(TEST2)消息
 WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
 2020-12-08 15:19:27 OPEN OK TEST2 OPEN STANDBY VALID 2 38345 38345
 4.用root用户在安装目录script/root下创建服务
 su - root
 cd /dm8/script/root
 ./dm_service_installer.sh -h 查看安装帮助./dm_service_installer.sh -t dmwatcher -p DMWATCHER -watcher_ini /dm8/data/DAMENG/dmwatcher.ini #主备库
./dm_service_installer.sh -t dmmonitor -p DMMONITOR -monitor_ini /dm8/data/DAMENG/dmmonitor.ini #备库 注册确认监视器到服务
 systemctl start DMMONITOR
 ps -ef | grep monitor5.启动和关闭
 关闭:
 先关闭确认监视器,
 然后关闭备库的守护进程,再关闭主库守护进程:
 DmWatcherServiceDMWATCHER stop
 DmWatcherServiceDMWATCHER stop
 再关闭主库实例,最后关闭备库实例:
 DmServiceTEST1 stop
 DmServiceTEST2 stop
 启动:
 先启动主库守护进程,再启动备库守护进程。
 因为dmwatcher.ini中配置了INST_AUTO_RESTART = 1 ,守护进程启动后,会自动拉起数据库实例。补充:
 查询守护进程
 select group_name,inst_name,dw_type,dw_mode,auto_restart,dw_status from v$dmwatcher;