首页 > 数据库 >达梦数据库系列—20. 读写分离集群搭建

达梦数据库系列—20. 读写分离集群搭建

时间:2024-07-04 19:55:22浏览次数:26  
标签:dm 20 ## 读写 PORT INST ini MAL 达梦

目录

一、配置读写分离集群

1、环境说明

2、数据准备

3、配置主库 GRP1_RWW_01

配置 dm.ini

配置 dmmal.ini

配置 dmarch.ini

配置 dmwatcher.ini

启动主库

设置 OGUID

修改数据库模式

4、配置备库 GRP1_RWW_02

配置 dm.ini

配置 dmmal.ini

配置 dmarch.ini

配置 dmwatcher.ini

启动备库

设置 OGUID

修改数据库模式

5、配置备库 GRP1_RWW_03

配置 dm.ini

配置 dmmal.ini

配置 dmarch.ini

配置 dmwatcher.ini

启动备库

设置 OGUID

修改数据库模式

6、配置监视器

配置单实例监视器

配置多实例监视器

7、启动守护进程

8、启动监视器

二、动态增加读写分离集群节点

1、数据准备

2、配置新备库

配置 dm.ini

配置 dmmal.ini

配置 dmarch.ini

配置 dmwatcher.ini

启动备库

设置 OGUID

修改数据库模式

3、动态添加 MAL 配置

4、动态添加归档配置

5、修改监视器 dmmonitor.ini

6、启动所有守护进程及监视器


一、配置读写分离集群

1、环境说明

四台机器事先都安装了 DM,安装路径为'/dm',执行程序保存在'/dm/bin'目录中,数据存放路径为'/dm/data'。

配置环境说明

机器名

IP 地址

初始状态

操作系统

备注

DW_P

192.168.1.131 192.168.0.141

主库 GRP1_RWW_01

Linux rh7 x86_64 GNU/Linux

192.168.1.131 外部服务 IP;
192.168.0.141 内部通信 IP

DW_S1

192.168.1.132 192.168.0.142

备库 GRP1_RWW_02

Linux rh7 x86_64 GNU/Linux

192.168.1.132 外部服务 IP;
192.168.0.142 内部通信 IP

DW_S2

192.168.1.133 192.168.0.143

备库 GRP1_RWW_03

Linux rh7 x86_64 GNU/Linux

192.168.1.133 外部服务 IP;
192.168.0.143 内部通信 IP

DW_M

192.168.0.73

确认监视器

Linux rh7 x86_64 GNU/Linux

端口规划

实例名

PORT_NUM

MAL_INST_DW_PORT

MAL_HOST

MAL_PORT

MAL_DW_PORT

GRP1_RWW_01

32141

33141

192.168.0.141

61141

52141

GRP1_RWW_02

32142

33142

192.168.0.142

61142

52142

GRP1_RWW_03

32143

33143

192.168.0.143

61143

52143

2、数据准备

/dminit path=/dm/data

使用备份还原方式进行数据准备,举例脱机备份还原:

./dmrman CTLSTMT="BACKUP DATABASE '/dm/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET  '/dm/data/BACKUP_FILE_01'"

./dmrman CTLSTMT="RESTORE DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET '/dm/data/BACKUP_FILE_01'"

./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

3、配置主库 GRP1_RWW_01

配置 dm.ini
##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16


INSTANCE_NAME = GRP1_RWW_01


PORT_NUM = 32141 ##数据库实例监听端口


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次的日志发送信息

配置 dmmal.ini
MAL_CHECK_INTERVAL = 5 ##MAL链路检测时间间隔


MAL_CONN_FAIL_INTERVAL = 5 ##判定MAL链路断开的时间


[MAL_INST1]


MAL_INST_NAME = GRP1_RWW_01 ##实例名,和dm.ini中的INSTANCE_NAME一致


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


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


MAL_INST_HOST = 192.168.1.131 ##实例的对外服务IP地址


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


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


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


[MAL_INST2]


MAL_INST_NAME = GRP1_RWW_02


MAL_HOST = 192.168.0.142


MAL_PORT = 61142


MAL_INST_HOST = 192.168.1.132


MAL_INST_PORT = 32142


MAL_DW_PORT = 52142


MAL_INST_DW_PORT = 33142


[MAL_INST3]


MAL_INST_NAME = GRP1_RWW_03


MAL_HOST = 192.168.0.143


MAL_PORT = 61143


MAL_INST_HOST = 192.168.1.133


MAL_INST_PORT = 32143


MAL_DW_PORT = 52143


MAL_INST_DW_PORT = 33143

配置 dmarch.ini

当前实例 GRP1_RWW_01 是主库,需要向即时备库 GRP1_RWW_02/GRP1_RWW_03 同步数据,因此即时归档的 ARCH_DEST 分别配置为 GRP1_RWW_02 和 GRP1_RWW_03。

[ARCHIVE_TIMELY1]


ARCH_TYPE = TIMELY ##即时归档类型


ARCH_DEST = GRP1_RWW_02 ##即时归档目标实例名


[ARCHIVE_TIMELY2]


ARCH_TYPE = TIMELY ##即时归档类型


ARCH_DEST = GRP1_RWW_03 ##即时归档目标实例名


[ARCHIVE_LOCAL1]


ARCH_TYPE = LOCAL ##本地归档类型


ARCH_DEST = /dm/data/DAMENG/arch ##本地归档文件存放路径


ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值


ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~2147483647M
配置 dmwatcher.ini
[GRP1]


DW_TYPE = GLOBAL ##全局守护类型


DW_MODE = AUTO ##自动切换模式


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


INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间


INST_ERROR_TIME = 10 ##本地实例故障认定时间


INST_OGUID = 453332 ##守护系统唯一OGUID值


INST_INI = /dm/data/DAMENG/dm.ini ##dm.ini配置文件路径


INST_AUTO_RESTART = 1 ##打开实例的自动启动功能


INST_STARTUP_CMD = /dm/bin/dmserver ##命令行方式启动


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


RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
启动主库

以 Mount 方式启动主库

./dmserver /dm/data/DAMENG/dm.ini mount
设置 OGUID
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);


SQL>sp_set_oguid(453332);


SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
修改数据库模式
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>alter database primary;

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

4、配置备库 GRP1_RWW_02

配置 dm.ini

各主备库的 dmmal.ini 配置必须完全一致.

##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16


INSTANCE_NAME = GRP1_RWW_02


PORT_NUM = 32142 ##数据库实例监听端口


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次的日志重演信息
配置 dmmal.ini
MAL_CHECK_INTERVAL = 5 ##MAL链路检测时间间隔


MAL_CONN_FAIL_INTERVAL = 5 ##判定MAL链路断开的时间


[MAL_INST1]


MAL_INST_NAME = GRP1_RWW_01 ##实例名,和dm.ini中的INSTANCE_NAME一致


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


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


MAL_INST_HOST = 192.168.1.131 ##实例的对外服务IP地址


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


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


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


[MAL_INST2]


MAL_INST_NAME = GRP1_RWW_02


MAL_HOST = 192.168.0.142


MAL_PORT = 61142


MAL_INST_HOST = 192.168.1.132


MAL_INST_PORT = 32142


MAL_DW_PORT = 52142


MAL_INST_DW_PORT = 33142


[MAL_INST3]


MAL_INST_NAME = GRP1_RWW_03


MAL_HOST = 192.168.0.143


MAL_PORT = 61143


MAL_INST_HOST = 192.168.1.133


MAL_INST_PORT = 32143


MAL_DW_PORT = 52143


MAL_INST_DW_PORT = 33143

配置 dmarch.ini
[ARCHIVE_TIMELY1]


ARCH_TYPE = TIMELY ##即时归档类型


ARCH_DEST = GRP1_RWW_01 ##即时归档目标实例名


[ARCHIVE_TIMELY2]


ARCH_TYPE = TIMELY ##即时归档类型


ARCH_DEST = GRP1_RWW_03 ##即时归档目标实例名


[ARCHIVE_LOCAL1]


ARCH_TYPE = LOCAL               ##本地归档类型


ARCH_DEST = /dm/data/DAMENG/arch ##本地归档文件存放路径


ARCH_FILE_SIZE = 128             ##单位Mb,本地单个归档文件最大值


ARCH_SPACE_LIMIT = 0             ##单位Mb,0表示无限制,范围1024~2147483647M
配置 dmwatcher.ini
[GRP1]


DW_TYPE =GLOBAL ##全局守护类型


DW_MODE = AUTO ##自动切换模式


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


INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间


INST_ERROR_TIME = 10 ##本地实例故障认定时间


INST_OGUID = 453332 ##守护系统唯一OGUID值


INST_INI = /dm/data/DAMENG/dm.ini ##dm.ini配置文件路径


INST_AUTO_RESTART = 1 ##打开实例的自动启动功能


INST_STARTUP_CMD = /dm/bin/dmserver ##命令行方式启动


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


RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
启动备库
./dmserver /dm/data/DAMENG/dm.ini mount
设置 OGUID
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>sp_set_oguid(453332);

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
修改数据库模式
SQL\>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); //第1步

SQL\>alter database standby; //第2步

SQL\>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0); //第3步

5、配置备库 GRP1_RWW_03

配置 dm.ini
##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16


INSTANCE_NAME = GRP1_RWW_03


PORT_NUM = 32143 ##数据库实例监听端口


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次的日志重演信息
配置 dmmal.ini
MAL_CHECK_INTERVAL = 5 ##MAL链路检测时间间隔


MAL_CONN_FAIL_INTERVAL = 5 ##判定MAL链路断开的时间


[MAL_INST1]


MAL_INST_NAME = GRP1_RWW_01 ##实例名,和dm.ini中的INSTANCE_NAME一致


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


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


MAL_INST_HOST = 192.168.1.131 ##实例的对外服务IP地址


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


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


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


[MAL_INST2]


MAL_INST_NAME = GRP1_RWW_02


MAL_HOST = 192.168.0.142


MAL_PORT = 61142


MAL_INST_HOST = 192.168.1.132


MAL_INST_PORT = 32142


MAL_DW_PORT = 52142


MAL_INST_DW_PORT = 33142


[MAL_INST3]


MAL_INST_NAME = GRP1_RWW_03


MAL_HOST = 192.168.0.143


MAL_PORT = 61143


MAL_INST_HOST = 192.168.1.133


MAL_INST_PORT = 32143


MAL_DW_PORT = 52143


MAL_INST_DW_PORT = 33143
配置 dmarch.ini

修改 dmarch.ini,配置本地归档和即时归档。

除了本地归档外,其他归档配置项中的 ARCH_DEST 表示实例是 Primary 模式时,需要同步归档数据的目标实例名

[ARCHIVE_TIMELY1]


ARCH_TYPE = TIMELY ##即时归档类型


ARCH_DEST = GRP1_RWW_01 ##即时归档目标实例名


[ARCHIVE_TIMELY2]


ARCH_TYPE = TIMELY ##即时归档类型


ARCH_DEST = GRP1_RWW_02 ##即时归档目标实例名


[ARCHIVE_LOCAL1]


ARCH_TYPE = LOCAL ##本地归档类型


ARCH_DEST = /dm/data/DAMENG/arch ##本地归档文件存放路径


ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值


ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~2147483647M
配置 dmwatcher.ini
[GRP1]


DW_TYPE = GLOBAL ##全局守护类型


DW_MODE = AUTO ##自动切换模式


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


INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间


INST_ERROR_TIME = 10 ##本地实例故障认定时间


INST_OGUID = 453332 ##守护系统唯一OGUID值


INST_INI = /dm/data/DAMENG/dm.ini ##dm.ini配置文件路径


INST_AUTO_RESTART = 1 ##打开实例的自动启动功能


INST_STARTUP_CMD = /dm/bin/dmserver ##命令行方式启动


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


RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
启动备库
./dmserver /dm/data/DAMENG/dm.ini mount
设置 OGUID
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>sp_set_oguid(453332);

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
修改数据库模式
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); //第1步

SQL>alter database standby; //第2步

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0); //第3步

6、配置监视器

由于主库和实时备库的守护进程配置为自动切换模式,因此这里必须配置确认监视器。和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知实时备库接管为新的主库,具有自动故障处理的功能。

配置单实例监视器
MON_DW_Confirm = 1 ##确认监视器模式


MON_LOG_PATH = /dm/data/log ##监视器日志文件存放路径


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


MON_LOG_FILE_SIZE = 32 ##每个日志文件最大32M


MON_LOG_SPACE_LIMIT = 0 ##不限定日志文件总占用空间


[GRP1]


MON_INST_OGUID = 453332 ##组GRP1的唯一OGUID值


##以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置


##IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT


MON_DW_IP = 192.168.0.141:52141


MON_DW_IP = 192.168.0.142:52142


MON_DW_IP = 192.168.0.143:52143
配置多实例监视器
MON_LOG_PATH         = /dm/data/log

MON_LOG_INTERVAL       = 60

MON_LOG_FILE_SIZE       = 32

MON_LOG_SPACE_LIMIT     = 0

MON_DW_CONFIRM        = 1

MON_INST_NUM         = 3      #实例总个数

MON_HB_INTERVAL        = 60      #通信心跳校验间隔

MON_BRO_INTERVAL       = 100     #raft协议中实例通信心跳间隔

MON_VOTE_INTERVAL       = 100     #raft协议中基础投票间隔

MON_ID            = 1       #当前监视器在监视器系统中的ID

MON_MID            = 45614    #当前监视器系统的唯一标识


[GRP1]

MON_INST_OGUID        = 453332

MON_DW_IP           = 192.168.0.141:52141

MON_DW_IP           = 192.168.0.142:52142

MON_DW_IP           = 192.168.0.143:52143


[MON1]

MON_HOST               = 192.168.0.141 #系统监听TCP连接的IP地址

MON_PORT               = 8339 #系统监听TCP连接的端口号

MON_INST_ID = 1 #监视器实例在监视器系统中的ID

[MON2]

MON_HOST               = 192.168.0.141 #系统监听TCP连接的IP地址

MON_PORT               = 8340 #系统监听TCP连接的端口号

MON_INST_ID = 2 #监视器实例在监视器系统中的ID

 [MON3]

MON_HOST               = 192.168.0.141 #系统监听TCP连接的IP地址

MON_PORT               = 8341 #系统监听TCP连接的端口号

MON_INST_ID = 3 #监视器实例在监视器系统中的ID

7、启动守护进程

启动各个主备库上的守护进程:

./dmwatcher /dm/data/DAMENG/dmwatcher.ini

守护进程启动后,进入 Startup 状态,此时实例都处于 Mount 状态。守护进程开始广播自身和其监控实例的状态信息,结合自身信息和远程守护进程的广播信息,守护进程将本地实例 Open,并切换为 Open 状态。

8、启动监视器

./dmmonitor /dm/data/dmmonitor.ini

至此读写分离集群搭建完毕,在搭建步骤和各项配置都正确的情况下,在监视器上执行 show 命令,可以监控到所有实例都处于 Open 状态,所有守护进程也都处于 Open 状态,即为正常运行状态。

二、动态增加读写分离集群节点

配置环境说明

机器名

IP 地址

初始状态

操作系统

备注

DW_S3

192.168.1.134 192.168.0.144

备库 GRP1_RWW_04

Linux rh7 x86_64

192.168.1.134 外部服务 IP;
192.168.0.144 内部通信 IP

1、数据准备

  1. 对主库进行联机备份操作:
SQL> BACKUP DATABASE BACKUPSET 'BACKUP_FILE_01';
  1. 初始化备机数据库
./dminit path=/dm/data/
  1. 还原恢复新增备库

拷贝生成的备份集目录 BACKUP_FILE_01 到 144 上/dm/data/目录,使用 DMRMAN 工具脱机还原。

./dmrman CTLSTMT="RESTORE DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET '/dm/data/BACKUP_FILE_01'"

./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET '/dm/data/BACKUP_FILE_01'"

./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

2、配置新备库

配置 dm.ini
##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16


INSTANCE_NAME = GRP1_RWW_04


PORT_NUM = 32144 ##数据库实例监听端口


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次的日志重演信息
配置 dmmal.ini
MAL_CHECK_INTERVAL = 5 ##MAL链路检测时间间隔


MAL_CONN_FAIL_INTERVAL = 5 ##判定MAL链路断开的时间


[MAL_INST1]


MAL_INST_NAME = GRP1_RWW_01 ##实例名,和dm.ini中的INSTANCE_NAME一致


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


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


MAL_INST_HOST = 192.168.1.131 ##实例的对外服务IP地址


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


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


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


[MAL_INST2]


MAL_INST_NAME = GRP1_RWW_02


MAL_HOST = 192.168.0.142


MAL_PORT = 61142


MAL_INST_HOST = 192.168.1.132


MAL_INST_PORT = 32142


MAL_DW_PORT = 52142


MAL_INST_DW_PORT = 33142


[MAL_INST3]


MAL_INST_NAME = GRP1_RWW_03


MAL_HOST = 192.168.0.143


MAL_PORT = 61143


MAL_INST_HOST = 192.168.1.133


MAL_INST_PORT = 32143


MAL_DW_PORT = 52143


MAL_INST_DW_PORT = 33143


[MAL_INST4]


MAL_INST_NAME = GRP1_RWW_04


MAL_HOST = 192.168.0.144


MAL_PORT = 61144


MAL_INST_HOST = 192.168.1.134


MAL_INST_PORT = 32144


MAL_DW_PORT = 52144


MAL_INST_DW_PORT = 33144
配置 dmarch.ini
[ARCHIVE_TIMELY1]


ARCH_TYPE = TIMELY ##即时归档类型


ARCH_DEST = GRP1_RWW_01 ##即时归档目标实例名


[ARCHIVE_TIMELY2]


ARCH_TYPE = TIMELY ##即时归档类型


ARCH_DEST = GRP1_RWW_02 ##即时归档目标实例名


[ARCHIVE_TIMELY3]


ARCH_TYPE = TIMELY ##即时归档类型


    ARCH_DEST = GRP1_RWW_03 ##即时归档目标实例名


[ARCHIVE_LOCAL1]


ARCH_TYPE = LOCAL ##本地归档类型


ARCH_DEST = /dm/data/DAMENG/arch ##本地归档文件存放路径


ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值


ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~4294967294M
配置 dmwatcher.ini
[GRP1]


DW_TYPE = GLOBAL ##全局守护类型


DW_MODE = AUTO ##自动切换模式


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


INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间


INST_ERROR_TIME = 10 ##本地实例故障认定时间


INST_OGUID = 453332 ##守护系统唯一OGUID值


INST_INI = /dm/data/DAMENG/dm.ini ##dm.ini配置文件路径


INST_AUTO_RESTART = 1 ##打开实例的自动拉起功能


INST_STARTUP_CMD = /dm/bin/dmserver ##命令行方式启动


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


RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
启动备库

以 Mount 方式启动备库

./dmserver /dm/data/DAMENG/dm.ini mount
设置 OGUID
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>sp_set_oguid(453332);

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
修改数据库模式
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>alter database standby;

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

3、动态添加 MAL 配置

需要分别连接原系统中每个数据库单独执行

SF_MAL_CONFIG(1,0);

SF_MAL_INST_ADD('MAL_INST4','GRP1_RWW_04','192.168.0.144',61144,'192.168.1.134',32144,52144,0,33144);

SF_MAL_CONFIG_APPLY();

SF_MAL_CONFIG(0,0);

4、动态添加归档配置

1.关闭原系统中所有数据库的守护进程和监视器

动态添加归档要求数据库处于 MOUNT 状态,守护进程处于活动状态下不允许用户手动修改模式状态,因此需要先关闭守护进程,同时也是为了防止手动切换 MOUNT 状态后又被守护进程通知自动 OPEN,另外监视器配置也需要修改,因此在这里一并关闭。

关闭顺序为:

  1. 关闭监视器
  2. 关闭备库守护进程
  3. 关闭主库守护进程

2.手动修改原系统中所有数据库为 MOUNT 状态:

必须先修改主库,再修改备库,否则可能会引发主备数据同步失败导致主库挂起。

//临时修改ALTER_MODE_STATUS,允许用户手动修改模式状态,动态添加完毕后需要再改回原值

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

//临时关闭守护进程活动状态检测,允许用户手动修改模式状态,动态添加完毕后需要再改回原值

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

//修改数据库为MOUNT状态

SQL> ALTER DATABASE MOUNT;

3.动态添加归档节点

分别连接原系统中的所有数据库执行

SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=GRP1_RWW_04, TYPE=TIMELY';

4.手动修改原系统中所有数据库为 OPEN 状态

必须先修改备库,再修改主库,否则可能会引发主备数据同步失败导致主库挂起。

//修改数据库为OPEN状态

SQL> ALTER DATABASE OPEN FORCE;

//将ALTER_MODE_STATUS改回原值

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

//将DW_INACTIVE_INTERVAL改回原值,本例中为60

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

5、修改监视器 dmmonitor.ini

在 dmmonitor.ini 中添加新增的备库 GRP1_RWW_04:

MON_DW_IP = 192.168.0.144:52144

6、启动所有守护进程及监视器

分别启动主库和备库(包括 GRP1_RWW_04)的所有守护进程,最后启动监视器。

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

标签:dm,20,##,读写,PORT,INST,ini,MAL,达梦
From: https://blog.csdn.net/md54333/article/details/140101578

相关文章

  • heic格式转化jpg有没有免费软件?2024年顶尖的7款heic转jpg工具请收好!
    heic格式转化jpg有没有免费软件?heic格式虽然在分辨率上优于jpg,但由于并非所有设备的默认图片格式,许多用户并不太喜欢它。这并不奇怪,因为在非苹果设备上打开HEIC文件可能会遇到困难。因此,人们更倾向于寻找能够免费将heic格式转化为jpg或其他更广泛兼容的格式的软件。幸运的是,有......
  • 怎么把webp格式转换成jpg?5个图片格式转换方法全面解析(2024最新)
    webp 图片常用于网站,可显著改善页面的浏览和加载体验。然而,许多设备(如苹果手机设备、安卓手机等)不支持webp文件。在这些设备上查看webp文件时,最佳做法是将其转换为其他常见格式,如jpg或png。Windows电脑上有多种转换工具可把webp格式转换成jpg。本文将分享5种webp图片格式转换......
  • 电脑录音软件哪个好?7款录制音频工具大盘点,赶快学起来!(2024)
    也许你渴望提取你最喜欢的节目的背景音乐,或者你希望录制自己的声音制作教程。如果是这样,你就需要一款优秀的电脑录音软件,来帮助你捕捉任何你想要的声音,而且不会损失音质。目前市场上存在着大量的录制音频工具,面对琳琅满目的选择,你也许会犯难,不知道该选哪一个才最适合自己。在本......
  • Hugging Face 全球政策负责人首次参加WAIC 2024 前沿 AI 安全和治理论坛
    HuggingFace全球政策负责人艾琳-索莱曼(IreneSolaiman)将参加7月5日在上海举办的WAIC-前沿人工智能安全和治理论坛,并在现场进行主旨演讲和参加圆桌讨论。具体时间信息如下:主旨演讲:开源治理的国际影响时间|7月5日下午15:35-15:50圆桌讨论:前言人工智能安全国际合作的优先......
  • 【超万卡GPU集群关键技术深度分析 2024】
    文末有福利!1.集群高能效计算技术随着大模型从千亿参数的自然语言模型向万亿参数的多模态模型升级演进,超万卡集群吸需全面提升底层计算能力。具体而言,包括增强单芯片能力、提升超节点计算能力、基于DPU(DataProcessingUnit)实现多计算能力融合以及追求极致算力能效......
  • 2024年华为OD机试真题- 电脑病毒感染-(C++/Java/python)-OD统一考试(C卷D卷)
     2024华为OD机试真题目录-(B卷C卷D卷)-【C++JavaPython】   题目描述一个局域网内有很多台电脑,分别标注为0~N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。......
  • 2024年华为OD机试真题- 找数字-(C++/Java/python)-OD统一考试(C卷D卷)
    2024华为OD机试真题目录-(B卷C卷D卷)-【C++JavaPython】    题目描述小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数n(1≤n≤1e9),小扇需要找到一个比n大的数字m,使得m和n对应的二进制中1的个数要相同,如:4对应二进制1008对应二进制1000其中1的......
  • 2024ICPC江西省赛 做+补
    虚拟参与了一下,结果一般,有一点点不尽人意。虚拟参与的讲解AProblem-A-Codeforces这个就很简单了,直接相加就可以了a,b,c=map(int,input().split())print(a+b+c)CProblem-C-Codeforces这道题需要贪心,如果所有的和相加刚刚好等于s,那么就返回n,如果不等于,那......
  • Windows 安装DBeaver,并使用DBeaver进行数据库的操作(达梦数据库、MySQL数据库等)
    安装DBeaver可视化工具安装前准备准备环境JDK17DBeaver安装包达梦数据库驱动DBeaver代理包开始安装MySQL连接&操作MySQL连接操作达梦数据库连接&操作达梦数据库驱动DBeaver加载达梦数据库驱动达梦数据库连接操作免责声明安装前准备准备环境JDK17安装地址(官......
  • 最新发布!快速掌握2024年度最受欢迎的十个优秀项目管理软件
    在如今市场竞争激烈的环境下,企业要想在有限的时间和预算内高效完成项目,实现目标,项目管理软件就显得尤为重要。这类软件可以帮助企业优化资源配置,提高团队协作效率,降低项目风险,从而确保项目能顺利进行。为了帮企业找到最适合自己的项目管理软件,三横王讲测试进行了研究和比较,评估......