天天看点

DM8级联异步备库搭建及故障模拟将异步切换为实时同步一、搭建前准备二、主库配置四、级联异步备库配置五、同步主备数据七、配置后台启动服务并启动数据库服务十、将目前异步同步的主备修改为实时同步模式

目录

一、 搭建前准备

二、 主库配置

2.1 dmini配置

2.2 dmmal.ini配置

2.3 dmarch.ini配置

2.4 dmwatcher.ini配置

2.5 dmtimer.ini配置

三、 异步备库配置

3.1 dm.ini配置

3.2 dmmal.ini配置

3.3 dmarch.ini配置

3.4 dmwatcher.ini配置

3.5 dmtimer.ini配置

四、 级联异步备库配置

4.1dm.ini配置

4.2dmmal.ini配置

3.3 dmarch.ini配置

3.4 dmwatcher.ini配置

3.5 dmtimer.ini配置

五、 同步主备数据

5.1备份前注意

5.2备份主库

5.3还原异步备库和级联异步备库

六、 监视器配置(配置在级联异步备库)

七、 配置后台启动服务并启动数据库服务

八、 启动主备库设置主备模式

8.1启动主库DMSERVER,并设置oguid和主库模式

8.2启动异步备库DMSERVER,并设置oguid和备库模式

8.3启动级联异步备库DMSERVER,并设置oguid和备库模式

8.4依次启动主库和异步备库,级联异步备库的守护进程

8.5启动监视器进程

8.6启动非确认监视器

九、 故障模拟

9.1 登录异步备库,关闭守护并修改数据库模式

9.2 启动非确认监视器,查看集群状态

十、 将目前异步同步的主备修改为实时同步模式

10.1 GRP1_RT_02(dm1.ini)

10.2 GRP1_RT_02(dmmal1.ini)

10.3 GRP1_RT_02(dmarch1.ini)

10.4 GRP1_RT_02(dmwatcher1.ini)

10.5 GRP1_RT_03(dm.ini)

10.6 GRP1_RT_03(dmmal1.ini)

10.7 GRP1_RT_03(dmarch1.ini)

10.8 GRP1_RT_03(dmwatcher1.ini)

10.9将目前的主备集群停止

10.10 替换配置文件

10.11 启动数据库

10.12查看集群状态

一、搭建前准备

三台虚机,P1,S1,M1。

  • P1上搭建主库
  • S1上搭建异步备库
  • M1上搭建级联异步备库

端口规划:

实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
GRP1_RT_01 5236 33141 192.168.163.128 61141 52141
GRP1_RT_02 5236 33142 192.168.163.129 61142 52142
GRP1_RT_03 5236 33143 192.168.163.130 61143 52143

二、主库配置

2.1 dmini配置

INSTANCE_NAME  = GRP1_RT_01

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

TIMER_INI = 1

2.2 dmmal.ini配置

配置MAL系统,各主备库的dmmal.ini配置必须完全一致,MAL_HOST使用内部网络IP,MAL_PORT与dm.ini中PORT_NUM使用不同的端口值,MAL_DW_PORT是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口

MAL_CHECK_INTERVAL   = 5 #MAL链路检测时间间隔

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

[MAL_INST1]

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

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

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

  MAL_INST_HOST         = 192.168.163.128  #实例的对外服务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          = GRP1_RT_02

  MAL_HOST               = 192.168.163.129

  MAL_PORT               = 61142

  MAL_INST_HOST          = 192.168.163.129

  MAL_INST_PORT          = 5236

  MAL_DW_PORT              = 52142

  MAL_INST_DW_PORT      = 33142

[MAL_INST3]

  MAL_INST_NAME          = GRP1_RT_03

  MAL_HOST               = 192.168.163.130

  MAL_PORT               = 61143

  MAL_INST_HOST          = 192.168.163.130

  MAL_INST_PORT          = 5236

  MAL_DW_PORT              = 52143

  MAL_INST_DW_PORT      = 33143

2.3 dmarch.ini配置

除了本地归档外,其他归档配置项中的ARCH_DEST表示实例是Primary模式时,需要同步归档数据的目标实例名。当前实例GRP1_RT_01是主库,需要向GRP1_RT_02(异步备库)同步数据

[ARCHIVE_LOCAL1]

ARCH_TYPE   = LOCAL #本地归档类型

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

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

ARCH_SPACE_LIMIT = 0    #单位Mb,0表示无限制,范围1024~2147483647M

[ARCHIVE_ASYNC]

ARCH_TYPE   = ASYNC #异步归档类型

ARCH_DEST   = GRP1_RT_02 #异步归档目标实例名

ARCH_TIMER_NAME   = LOCAL_TIMER #定时器名称,和dmtimer.ini中的名称一致

2.4 dmwatcher.ini配置

注:在配置一主一异备的守护时,DW_TYPE应设置为LOCAL,本地守护类型,否则守护进程启动会报错当前dmarch.ini不存在realtime或者timely归档,若已存在realtime或者timely备库,需将DW_TYPE改为GLOBAL

[GRP1]

DW_TYPE      = LOCAL        #本地守护类型

DW_MODE            = AUTO #自动切换模式

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     = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动

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

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

2.5 dmtimer.ini配置

[LOCAL_TIMER]

 TYPE = 2

 FREQ_MONTH_WEEK_INTERVAL = 1

 FREQ_SUB_INTERVAL = 0

 FREQ_MINUTE_INTERVAL = 1

 START_TIME = 00:00:00

 END_TIME = 00:00:00

 DURING_START_DATE = 2016-02-11 17:36:09

 DURING_END_DATE = 9999-12-31 23:59:59

 NO_END_DATE_FLAG = 1

 DESCRIBE = LOCAL TIMER

 IS_VALID = 1

三、异步备库配置

3.1 dm.ini配置

INSTANCE_NAME = GRP1_RT_02

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

DW_INACTIVE_INTERVAL = 60     #接收守护进程消息超时时间

ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 #不允许备库OFFLINE表空间

MAL_INI = 1 #打开MAL系统

ARCH_INI = 1 #打开归档配置

TIMER_INI = 1 #打开定时器,定时同步归档到异步备库。目的是使GRP1_LOCAL_01能够定时发送归档信息到GRP1_LOCAL_02

RLOG_SEND_APPLY_MON = 64    #统计最近64次的日志重演信息

3.2 dmmal.ini配置

和主库配置完全一致即可

MAL_CHECK_INTERVAL   = 5 #MAL链路检测时间间隔

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

[MAL_INST1]

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

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

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

  MAL_INST_HOST         = 192.168.163.128  #实例的对外服务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          = GRP1_RT_02

  MAL_HOST               = 192.168.163.129

  MAL_PORT               = 61142

  MAL_INST_HOST          = 192.168.163.129

  MAL_INST_PORT          = 5236

  MAL_DW_PORT              = 52142

  MAL_INST_DW_PORT      = 33142

[MAL_INST3]

  MAL_INST_NAME          = GRP1_RT_03

  MAL_HOST               = 192.168.163.130

  MAL_PORT               = 61143

  MAL_INST_HOST          = 192.168.163.130

  MAL_INST_PORT          = 5236

  MAL_DW_PORT              = 52143

  MAL_INST_DW_PORT      = 33143

3.3 dmarch.ini配置

[ARCHIVE_LOCAL1]

ARCH_TYPE   = LOCAL #本地归档类型

ARCH_DEST   = /dm8/data/DAMENG/arch  #本地归档文件路径

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

ARCH_SPACE_LIMIT = 0    #单位Mb,0表示无限制,范围1024~4294967294M

[ARCHIVE_ASYNC]

ARCH_TYPE   = ASYNC #异步归档类型

ARCH_DEST   = GRP1_RT_03 #异步归档目标实例名

ARCH_TIMER_NAME   = LOCAL_TIMER #定时器名称,和dmtimer.ini中的名称一致

3.4 dmwatcher.ini配置

注:异步备库守护类型为本地守护,因异步备库无法实现主库故障时自动接管,所以切换模式设置为手动切换模式

[GRP1]

DW_TYPE = LOCAL   #本地守护类型

DW_MODE = MANUAL #故障手动切换模式

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

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

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

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

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

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

3.5 dmtimer.ini配置

[LOCAL_TIMER]

 TYPE = 2

 FREQ_MONTH_WEEK_INTERVAL = 1

 FREQ_SUB_INTERVAL = 0

 FREQ_MINUTE_INTERVAL = 1

 START_TIME = 00:00:00

 END_TIME = 00:00:00

 DURING_START_DATE = 2016-02-11 17:36:09

 DURING_END_DATE = 9999-12-31 23:59:59

 NO_END_DATE_FLAG = 1

 DESCRIBE = LOCAL TIMER

 IS_VALID = 1

四、级联异步备库配置

4.1dm.ini配置

INSTANCE_NAME = GRP1_RT_03

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次的日志重演信息

4.2dmmal.ini配置

和主库配置完全一致即可

MAL_CHECK_INTERVAL   = 5 #MAL链路检测时间间隔

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

[MAL_INST1]

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

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

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

  MAL_INST_HOST         = 192.168.163.128  #实例的对外服务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          = GRP1_RT_02

  MAL_HOST               = 192.168.163.129

  MAL_PORT               = 61142

  MAL_INST_HOST          = 192.168.163.129

  MAL_INST_PORT          = 5236

  MAL_DW_PORT              = 52142

  MAL_INST_DW_PORT      = 33142

[MAL_INST3]

  MAL_INST_NAME          = GRP1_RT_03

  MAL_HOST               = 192.168.163.130

  MAL_PORT               = 61143

  MAL_INST_HOST          = 192.168.163.130

  MAL_INST_PORT          = 5236

  MAL_DW_PORT              = 52143

  MAL_INST_DW_PORT      = 33143

4.3 dmarch.ini配置

[ARCHIVE_LOCAL1]

ARCH_TYPE   = LOCAL #本地归档类型

ARCH_DEST   = /dm8/data/DAMENG/arch  #本地归档文件路径

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

ARCH_SPACE_LIMIT = 0    #单位Mb,0表示无限制,范围1024~4294967294M

4.4 dmwatcher.ini配置

注:级联异步级联备库守护类型为本地守护,因级联异步备库无法实现主库故障时自动接管,所以切换模式设置为手动切换模式

[GRP1]

DW_TYPE = LOCAL   #本地守护类型

DW_MODE = MANUAL #故障手动切换模式

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

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

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

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

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

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

4.5 dmtimer.ini配置

[LOCAL_TIMER]

 TYPE = 2

 FREQ_MONTH_WEEK_INTERVAL = 1

 FREQ_SUB_INTERVAL = 0

 FREQ_MINUTE_INTERVAL = 1

 START_TIME = 00:00:00

 END_TIME = 00:00:00

 DURING_START_DATE = 2016-02-11 17:36:09

 DURING_END_DATE = 9999-12-31 23:59:59

 NO_END_DATE_FLAG = 1

 DESCRIBE = LOCAL TIMER

 IS_VALID = 1

五、同步主备数据

5.1备份前注意

配置数据守护V4.0之前,必须先通过备份还原方式同步各数据库的数据,确保各数据的数据保持完全一致。主库可以是新初始化的数据库,也可以是正在生产、使用中的数据库。

不能使用分别初始化库或者直接拷贝数据文件的方法,原因如下:

  • 每个库都有一个永久魔数permenant_magic,一经生成,永远不会改变,主库传送日志时会判断这个值是否一样,确保是来自同一个数据守护环境中的库,否则传送不了日志。
  • 由于dminit初始化数据库时,会生成随机密钥用于加密,每次生成的密钥都不相同,备库无法解析采用主库密钥加密的数据。
  • 每个库都有一个数据库魔数(DB_MAGIC),每经过一次还原、恢复操作,DB_MAGIC就会产生变化,需要通过这种方式来区分同一个数据守护环境中各个不同的库。

备注:

如果需要使用Huge表,在初始化库时需要将建库参数HUGE_WITH_DELTA和RLOG_GEN_FOR_HUGE都配置为1。

对于新初始化的库,首次启动不允许使用Mount方式,需要先正常启动并正常退出,然后才允许Mount方式启动。

准备数据时,如果主库是新初始化的库,先正常启动并正常退出,然后再使用备份还原方式准备备库数据。

5.2备份主库

DMRMAN>backup database '/dm8/data/DAMENG/dm.ini' full backupset '/dm8/data/backup';

备份完成后将备份文件传至备库

scp /dm8/data/backup/* [email protected]:/dm8/data/backup

scp /dm8/data/backup/* [email protected]:/dm8/data/backup

5.3还原异步备库和级联异步备库

DMRMAN>restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/data/backup';

DMRMAN>recover database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/data/backup';

DMRMAN>recover database '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC;

六、监视器配置(配置在级联异步备库)

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

修改dmmonitor.ini配置确认监视器,其中MON_DW_IP中的IP和PORT和dmmal.ini中的MAL_HOST和MAL_DW_PORT配置项保持一致。

MON_DW_CONFIRM = 1   #确认监视器模式

MON_LOG_PATH = /dm8/data/DAMENG/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 = 192.168.163.128:52141

MON_DW_IP = 192.168.163.129:52142

MON_DW_IP = 192.168.163.130:52143

同时拷贝一份dmmonitor_normal.ini文件作为非确认监视器启动便于后续查看集群状态

cp dmmonitor.ini dmmonitor_normal.ini

vi dmmonitor_normal.ini

MON_DW_CONFIRM = 0   #确认监视器模式

MON_LOG_PATH = /dm8/data/DAMENG/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 = 192.168.163.128:52141

MON_DW_IP = 192.168.163.129:52142

MON_DW_IP = 192.168.163.130:52143

七、配置后台启动服务并启动数据库服务

cd /home/dmdba/dmdbms/script/root/

./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER -m mount

./dm_service_installer.sh -t dmwatcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini -p DMWATCHER

./dm_service_installer.sh -t dmmonitor -monitor_ini /dm8/data/DAMENG/dmmointor.ini -p DMMONITOR

八、启动主备库设置主备模式

8.1启动主库DMSERVER,并设置oguid和主库模式

DmServiceDMSERVER start

./disql SYSDBA/SYSDBA

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331);

alter database primary;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

8.2启动异步备库DMSERVER,并设置oguid和备库模式

DmServiceDMSERVER start

./disql SYSDBA/SYSDBA

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331);

alter database standby;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

8.3启动级联异步备库DMSERVER,并设置oguid和备库模式

DmServiceDMSERVER start

./disql SYSDBA/SYSDBA

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331);

alter database standby;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

8.4依次启动主库和异步备库,级联异步备库的守护进程

DmWatcherServiceDMWATCHER start

8.5启动监视器进程

DmMonitorServiceDMMONITOR start

8.6启动非确认监视器

DM8级联异步备库搭建及故障模拟将异步切换为实时同步一、搭建前准备二、主库配置四、级联异步备库配置五、同步主备数据七、配置后台启动服务并启动数据库服务十、将目前异步同步的主备修改为实时同步模式

九、故障模拟

  模拟场景为主库异常宕机并且无法正常启动,将异步备库手动拉起作为主库,并修改异步备库和级联异步备库同步模式为实时同步

9.1 登录异步备库,关闭守护并修改数据库模式

DmWatcherServiceDMWATCHER stop

./disql SYSDBA/SYSDBA

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

Alter database mount;

alter database primary;

Alter database open force;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

DmWatcherServiceDMWATCHER start

DM8级联异步备库搭建及故障模拟将异步切换为实时同步一、搭建前准备二、主库配置四、级联异步备库配置五、同步主备数据七、配置后台启动服务并启动数据库服务十、将目前异步同步的主备修改为实时同步模式

9.2 启动非确认监视器,查看集群状态

./dmmonitor dmmonitor_normal.ini

DM8级联异步备库搭建及故障模拟将异步切换为实时同步一、搭建前准备二、主库配置四、级联异步备库配置五、同步主备数据七、配置后台启动服务并启动数据库服务十、将目前异步同步的主备修改为实时同步模式

目前主备集群状态正常

十、将目前异步同步的主备修改为实时同步模式

提前编辑好实时同步的文件(dm.ini/dmmal1.ini/dmarch1.ini/dmwatcher1.ini)

此步骤配置的文件均加1与原文件做区分

10.1 GRP1_RT_02(dm1.ini)

cp dm.ini dm1.ini

vi dm1.ini

TIMER_INI = 0

10.2 GRP1_RT_02(dmmal1.ini)

vi dmmal1.ini

MAL_CHECK_INTERVAL   = 5 #MAL链路检测时间间隔

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

[MAL_INST1]

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

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

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

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

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

  MAL_DW_PORT = 52142 #实例本地的守护进程监听TCP连接的端口

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

[MAL_INST2]

  MAL_INST_NAME          = GRP1_RT_03

  MAL_HOST               = 192.168.163.130

  MAL_PORT               = 61143

  MAL_INST_HOST          = 192.168.163.130

  MAL_INST_PORT          = 5236

  MAL_DW_PORT              = 52143

  MAL_INST_DW_PORT      = 33143

10.3 GRP1_RT_02(dmarch1.ini)

vi dmarch1.ini

[ARCHIVE_REALTIME]

ARCH_TYPE   = REALTIME     #实时归档类型

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

[ARCHIVE_LOCAL1]

ARCH_TYPE   = LOCAL #本地归档类型

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

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

ARCH_SPACE_LIMIT = 0          #单位Mb,0表示无限制,范围1024~2147483647M

10.4 GRP1_RT_02(dmwatcher1.ini)

vi dmwatcher1.ini

[GRP1]

DW_TYPE = GLOBAL    #全局守护类型

DW_MODE = AUTO #自动切换模式

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   = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动

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

10.5 GRP1_RT_03(dm.ini)

cp dm.ini dm1.ini

vi dm1.ini

TIMER_INI = 0

10.6 GRP1_RT_03(dmmal1.ini)

vi dmmal1.ini

MAL_CHECK_INTERVAL   = 5 #MAL链路检测时间间隔

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

[MAL_INST1]

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

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

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

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

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

  MAL_DW_PORT = 52142 #实例本地的守护进程监听TCP连接的端口

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

[MAL_INST2]

  MAL_INST_NAME          = GRP1_RT_03

  MAL_HOST               = 192.168.163.130

  MAL_PORT               = 61143

  MAL_INST_HOST          = 192.168.163.130

  MAL_INST_PORT          = 5236

  MAL_DW_PORT              = 52143

  MAL_INST_DW_PORT      = 33143

10.7 GRP1_RT_03(dmarch1.ini)

vi dmarch1.ini

[ARCHIVE_REALTIME]

ARCH_TYPE   = REALTIME     #实时归档类型

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

[ARCHIVE_LOCAL1]

ARCH_TYPE   = LOCAL #本地归档类型

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

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

ARCH_SPACE_LIMIT = 0          #单位Mb,0表示无限制,范围1024~2147483647M

10.8 GRP1_RT_03(dmwatcher1.ini)

vi dmwatcher1.ini

[GRP1]

DW_TYPE = GLOBAL    #全局守护类型

DW_MODE = AUTO #自动切换模式

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   = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动

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

10.9将目前的主备集群停止

GRP1_RT_03执行:

DmMonitorServiceDMMONITOR stop

GRP1_RT_03执行:

DmWatcherServiceDMWATCHER stop

GRP1_RT_02执行:

DmWatcherServiceDMWATCHER stop

DmServiceDMSERVER stop

GRP1_RT_03执行:

DmServiceDMSERVER stop

10.10 替换配置文件

将原文件备份

mv dm.ini dmbak.ini

mv dmmal.ini dmmbak.ini

mv dmarch.ini dmarchbak.ini

mv dmwatcher.ini dmwatcherbak.ini

将之前配置好的实时主备配置文件重命名

mv dm1.ini dm.ini

mv dmmal1.ini dmmal.ini

mv dmarch1.ini dmarch.ini

mv dmwatcher1.ini dmwatcher.ini

10.11 启动数据库

GRP1_RT_02执行:

DmServiceDMSERVER start

GRP1_RT_03执行:

DmServiceDMSERVER start

GRP1_RT_02执行:

DmWatcherServiceDMWATCHER start

GRP1_RT_03执行:

DmWatcherServiceDMWATCHER start

DmMonitorServiceDMMONITOR start

10.12查看集群状态

./dmmonitor dmmonitor_normal.ini

DM8级联异步备库搭建及故障模拟将异步切换为实时同步一、搭建前准备二、主库配置四、级联异步备库配置五、同步主备数据七、配置后台启动服务并启动数据库服务十、将目前异步同步的主备修改为实时同步模式