达梦数据库主备集群(数据守护/读写分离)搭建过程

达梦数据库主备集群(数据守护/读写分离)搭建
一.环境准备
二.安装前准备
三.安装数据库(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.conf

2.检查修改系统资源限制
ulimit -a
确保open files设置为65536以上或者unlimited(无限制),如果不是,修改/etc/profile
增加一行:ulimit -n 65536

echo “ulimit -n 65536” >>/etc/profile
source /etc/profile

3.关闭防火墙
systemctl stop firewalld & systemctl disable firewalld

4.关闭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 dmdba

3.创建安装目录,更改授权
mkdir -pv /dm8
chown -R dmdba:dinstall /dm8
chmod -R 755 /dm8
ls -ld /dm8

4.加载光驱
su - root
mount -o loop /opt/soft/dm8_20200907_FTarm_kylin4_64_ent_8.1.1.126.iso /mnt

5.安装数据库,选择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 .bashrc

export LD_LIBRARY_PATH=“ L D L I B R A R Y P A T H : / d m 8 / b i n " e x p o r t D M H O M E = " / d m 8 " e x p o r t P A T H = " LD_LIBRARY_PATH:/dm8/bin" export DM_HOME="/dm8" export PATH=" LDLIBRARYPATH:/dm8/bin"exportDMHOME="/dm8"exportPATH="DM_HOME/bin: D M H O M E / t o o l : DM_HOME/tool: DMHOME/tool:PATH”

7.使用环境生效
source .bashrc
env | grep dm

8.初始化数据库
节点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-04

log 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-04

log 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:38

9.注册服务
节点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:SYSDBA

systemctl 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.service

systemctl 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.meta

  1. 执行脱机数据库还原与恢复
    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.ini

MON_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:52142

2.启动各个主备库上的守护进程
cd /dm8/bin
./dmwatcher /dm8/data/DAMENG/dmwatcher.ini

3.启动监视器(备库)
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 monitor

5.启动和关闭
关闭:
先关闭确认监视器,
然后关闭备库的守护进程,再关闭主库守护进程:
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;

参考链接:https://blog.csdn.net/weixin_42447367/article/details/108061884
https://www.cnblogs.com/fangzpa/p/13786690.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董小姐yyds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值