天天看點

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級聯異步備庫搭建及故障模拟将異步切換為實時同步一、搭建前準備二、主庫配置四、級聯異步備庫配置五、同步主備資料七、配置背景啟動服務并啟動資料庫服務十、将目前異步同步的主備修改為實時同步模式