DM8 MPP主備環境搭建
DM8 MPP 主備環境搭建
1. 環境說明
本例配置2個MPP節點,每個節點作為主庫,與其備庫組成一個守護組,因此需要配置兩個守護組,取名分別為GRP1、GRP2,主庫名為GRP1_MPP_EP01/GRP2_MPP_EP02,對應的備庫例項名分別為GRP1_MPP_EP11/GRP2_MPP_EP22。
配置環境說明
機器名 |
IP 地址 |
初始狀態 |
作業系統 |
mppdw1 |
192.168.18.201 (外部服務) 192.168.10.201 (內部通訊) |
主庫 GRP1_MPP_EP01 備庫 GRP2_MPP_EP22 監視器 |
CentOS Linux release 7.8.2003 |
mppdw2 |
192.168.18.202 (外部服務) 192.168.10.202 (內部通訊) |
主庫 GRP2_MPP_EP02 備庫 GRP1_MPP_EP11 |
CentOS Linux release 7.8.2003 |
埠規劃-主庫
例項名 |
PORT_NUM |
MAL_INST_DW_PORT |
MAL_HOST |
MAL_PORT |
MAL_DW_PORT |
MPP 例項序號 |
GRP1_MPP_EP01 |
5236 |
5243 |
192.168.10.201 |
5337 |
5253 |
0 |
GRP2_MPP_EP02 |
5236 |
5243 |
192.168.10.202 |
5337 |
5253 |
1 |
埠規劃-備庫
例項名 |
PORT_NUM |
MAL_INST_DW_PORT |
MAL_HOST |
MAL_PORT |
MAL_DW_PORT |
對應主庫 |
GRP1_MPP_EP11 |
5237 |
5244 |
192.168.10.202 |
5338 |
5254 |
GRP1_MPP_EP01 |
GRP2_MPP_EP22 |
5237 |
5244 |
192.168.10.201 |
5338 |
5254 |
GRP2_MPP_EP02 |
守護程式規劃
組名 |
例項名 |
所在機器 |
GRP1 |
GRP1_MPP_EP01 |
192.168.10.201 |
GRP1_MPP_EP11 |
192.168.10.202 | |
GRP2 |
GRP2_MPP_EP02 |
192.168.10.202 |
GRP2_MPP_EP22 |
192.168.10.201 |
2. 資料準備
mppdw1 機器上初始化庫至目錄 /dmdata:
dminit PATH=/dmdata PAGE_SIZE=16 DB_NAME=EP01 INSTANCE_NAME=GRP1_MPP_EP01
mppdw2 機器上初始化庫至目錄 /dmdata:
dminit PATH=/dmdata PAGE_SIZE=16 DB_NAME=EP02 INSTANCE_NAME=GRP2_MPP_EP02
即完成兩個主資料庫的初始化,然後分別同步兩個備資料庫。
採取機器交叉的方式配置兩個備資料庫
mppdw1 機器
dminit PATH=/dmdata PAGE_SIZE=16 DB_NAME=EP22 INSTANCE_NAME=GRP2_MPP_EP22 PORT_NUM=5237
mppdw2 機器
dminit PATH=/dmdata PAGE_SIZE=16 DB_NAME=EP11 INSTANCE_NAME=GRP1_MPP_EP11 PORT_NUM=5237
3. 配置主庫GRP1_MPP_EP01
1) 配置dm.ini
在mppdw1機器上配置主庫的例項名為GRP1_MPP_EP01,dm.ini引數修改如下:
# 例項名,建議使用"組名_守護環境_序號"的命名方式,總長度不能超過16 INSTANCE_NAME = GRP1_MPP_EP01 PORT_NUM = 5236 # 資料庫例項監聽埠 DW_INACTIVE_INTERVAL = 60 # 接收守護程式訊息超時時間 ALTER_MODE_STATUS = 0 # 不允許手工方式修改例項模式/狀態/OGUID ENABLE_OFFLINE_TS = 2 # 不允許備庫OFFLINE表空間 MAL_INI = 1 # 開啟MAL系統 ARCH_INI = 1 # 開啟歸檔配置 MPP_INI = 1 # 啟用MPP配置 RLOG_SEND_APPLY_MON = 64 # 統計最近64次的日誌傳送資訊 |
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_MPP_EP01 # 例項名,和dm.ini中的INSTANCE_NAME一致 MAL_HOST = 192.168.10.201 #MAL 系統監聽TCP連線的IP地址 MAL_PORT = 5337 #MAL 系統監聽TCP連線的埠 MAL_INST_HOST = 192.168.18.201 # 例項的對外服務IP地址 MAL_INST_PORT = 5236 # 例項的對外服務埠,和dm.ini中的PORT_NUM一致 MAL_DW_PORT = 5253 # 例項對應的守護程式監聽TCP連線的埠 MAL_INST_DW_PORT = 5243 # 例項監聽守護程式TCP連線的埠 [MAL_INST2] MAL_INST_NAME = GRP2_MPP_EP02 MAL_HOST = 192.168.10.202 MAL_PORT = 5337 MAL_INST_HOST = 192.168.18.202 MAL_INST_PORT = 5236 MAL_DW_PORT = 5253 MAL_INST_DW_PORT = 5243 [MAL_INST3] MAL_INST_NAME = GRP1_MPP_EP11 MAL_HOST = 192.168.10.202 MAL_PORT = 5338 MAL_INST_HOST = 192.168.18.202 MAL_INST_PORT = 5237 MAL_DW_PORT = 5254 MAL_INST_DW_PORT = 5244 [MAL_INST4] MAL_INST_NAME = GRP2_MPP_EP22 MAL_HOST = 192.168.10.201 MAL_PORT = 5338 MAL_INST_HOST = 192.168.18.201 MAL_INST_PORT = 5237 MAL_DW_PORT = 5254 MAL_INST_DW_PORT = 5244 |
3) 配置dmarch.ini(實時歸檔)
修改dmarch.ini,配置實時歸檔。除了本地歸檔外,其他歸檔配置項中的ARCH_DEST表示例項是Primary模式時,需要同步歸檔資料的目標例項名。
當前例項GRP1_MPP_EP01是主庫,需要向MPP備庫GRP1_MPP_EP11同步資料,因此實時歸檔的ARCH_DEST配置為GRP1_MPP_EP11。
[ARCHIVE_REALTIME1] ARCH_TYPE = REALTIME # 實時歸檔型別 ARCH_DEST = GRP1_MPP_EP11 # 實時歸檔目標例項名 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL # 本地歸檔型別 ARCH_DEST = /dmarch/EP01 # 本地歸檔檔案存放路徑 ARCH_FILE_SIZE = 128 # 單位Mb,本地單個歸檔檔案最大值 ARCH_SPACE_LIMIT = 0 # 單位Mb,0表示無限制,範圍1024~4294967294M |
4) 配置dmmpp.ctl
dmmpp.ctl 是二進位制檔案,由dmmpp.ini文字通過dmctlcvt工具轉換而來
兩節點的dmmpp.ini配置如下:
[service_name1] mpp_seq_no = 0 mpp_inst_name = GRP1_MPP_EP01 [service_name2] mpp_seq_no = 1 mpp_inst_name = GRP2_MPP_EP02 |
轉換命令如下:
dmctlcvt TYPE=2 SRC=/dmdata/EP01/dmmpp.ini DEST=/dmdata/EP01/dmmpp.ctl
5) 啟動主庫
以Mount方式啟動主庫
註冊資料庫服務,設定伺服器啟動模式mount
DmServiceEP01 start
一定要以Mount方式啟動資料庫例項,否則系統啟動時會重構回滾表空間,生成Redo日誌;並且,啟動後應用可能連線到資料庫例項進行操作,破壞主備庫的資料一致性。資料守護配置結束後,守護程式會自動Open資料庫。
6) 設定OGUID
啟動命令列工具DIsql,使用MPP型別為LOCAL方式,登入主庫設定OGUID值。
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL> sp_set_oguid(45330);
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
系統通過OGUID值確定一個守護程式組,由使用者保證OGUID值的唯一性,並確保資料守護系統中,資料庫、守護程式和監視器配置相同的OGUID值。
7) 修改資料庫模式
啟動命令列工具DIsql,使用MPP型別為LOCAL方式,登入主庫修改資料庫為Primary模式。
SQL> alter database primary;
4. 配置主庫GRP2_MPP_EP02
1) 配置dm.ini
在mppdw2機器上配置主庫的例項名為GRP2_MPP_EP02,dm.ini引數修改如下:
# 例項名,建議使用"組名_守護環境_序號"的命名方式,總長度不能超過16 INSTANCE_NAME = GRP1_MPP_EP02 PORT_NUM = 5236 # 資料庫例項監聽埠 DW_INACTIVE_INTERVAL = 60 # 接收守護程式訊息超時時間 ALTER_MODE_STATUS = 0 # 不允許手工方式修改例項模式/狀態/OGUID ENABLE_OFFLINE_TS = 2 # 不允許備庫OFFLINE表空間 MAL_INI = 1 # 開啟MAL系統 ARCH_INI = 1 # 開啟歸檔配置 MPP_INI = 1 # 啟用MPP配置 RLOG_SEND_APPLY_MON = 64 # 統計最近64次的日誌傳送資訊 |
2) 配置dmmal.ini
直接將mppdw1機器上例項GRP1_MPP_EP01配置的dmmal.ini拷貝到/dmdata/EP02目錄中。
scp 192.168.18.201:/dmdata/EP01/dmmal.ini /dmdata/EP02
3) 配置dmarch.ini(實時歸檔)
修改dmarch.ini,配置實時歸檔。除了本地歸檔外,其他歸檔配置項中的ARCH_DEST表示例項是Primary模式時,需要同步歸檔資料的目標例項名。
當前例項GRP2_MPP_EP02是主庫,需要向MPP備庫GRP2_MPP_EP22同步資料,因此實時歸檔的ARCH_DEST配置為GRP2_MPP_EP22。
[ARCHIVE_REALTIME1] ARCH_TYPE = REALTIME # 實時歸檔型別 ARCH_DEST = GRP2_MPP_EP22 # 實時歸檔目標例項名 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL # 本地歸檔型別 ARCH_DEST = /dmarch/EP02 # 本地歸檔檔案存放路徑 ARCH_FILE_SIZE = 128 # 單位Mb,本地單個歸檔檔案最大值 ARCH_SPACE_LIMIT = 0 # 單位Mb,0表示無限制,範圍1024~4294967294M |
4) 配置dmmpp.ctl
拷貝GRP1_MPP_EP01的dmmpp.ctl到/dmdata/EP02目錄即可。
scp 192.168.18.201:/dmdata/EP01/dmmpp.ctl /dmdata/EP02
5) 啟動主庫
以Mount方式啟動主庫
註冊資料庫服務,設定伺服器啟動模式mount
DmServiceEP02 start
一定要以Mount方式啟動資料庫例項,否則系統啟動時會重構回滾表空間,生成Redo日誌;並且,啟動後應用可能連線到資料庫例項進行操作,破壞主備庫的資料一致性。資料守護配置結束後,守護程式會自動Open資料庫。
6) 設定OGUID
啟動命令列工具DIsql,使用MPP型別為LOCAL方式,登入主庫設定OGUID值。
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL> sp_set_oguid(45331);
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
系統通過OGUID值確定一個守護程式組,由使用者保證OGUID值的唯一性,並確保資料守護系統中,資料庫、守護程式和監視器配置相同的OGUID值。
7) 修改資料庫模式
啟動命令列工具DIsql,使用MPP型別為LOCAL方式,登入主庫修改資料庫為Primary模式。
SQL> alter database primary;
5. 配置備庫GRP1_MPP_EP11
1) 配置dm.ini
在mppdw2機器上配置備庫的例項名為GRP1_MPP_EP11,dm.ini引數修改如下:
# 例項名,建議使用"組名_守護環境_序號"的命名方式,總長度不能超過16 INSTANCE_NAME = GRP1_MPP_EP11 PORT_NUM = 5237 # 資料庫例項監聽埠 DW_INACTIVE_INTERVAL = 60 # 接收守護程式訊息超時時間 ALTER_MODE_STATUS = 0 # 不允許手工方式修改例項模式/狀態/OGUID ENABLE_OFFLINE_TS = 2 # 不允許備庫OFFLINE表空間 MAL_INI = 1 # 開啟MAL系統 ARCH_INI = 1 # 開啟歸檔配置 MPP_INI = 1 # 啟用MPP配置 RLOG_SEND_APPLY_MON = 64 # 統計最近64次的日誌傳送資訊 |
2) 配置dmmal.ini
直接將mppdw1機器上例項GRP1_MPP_EP01配置的dmmal.ini拷貝到/dmdata/EP11目錄中。
scp 192.168.18.201:/dmdata/EP01/dmmal.ini /dmdata/EP11
3) 配置dmarch.ini(實時歸檔)
修改dmarch.ini,配置實時歸檔。除了本地歸檔外,其他歸檔配置項中的ARCH_DEST表示例項是Primary模式時,需要同步歸檔資料的目標例項名。
當前例項GRP1_MPP_EP11是備庫,守護系統配置完成後,可能在各種故障處理中,GRP1_MPP_EP11切換為新的主庫,正常情況下,GRP1_MPP_EP01會切換為新的備庫,需要向GRP1_MPP_EP01同步資料,因此實時歸檔的ARCH_DEST配置為GRP1_MPP_EP01。
[ARCHIVE_REALTIME1] ARCH_TYPE = REALTIME # 實時歸檔型別 ARCH_DEST = GRP1_MPP_EP01 # 實時歸檔目標例項名 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL # 本地歸檔型別 ARCH_DEST = /dmarch/EP11 # 本地歸檔檔案存放路徑 ARCH_FILE_SIZE = 128 # 單位Mb,本地單個歸檔檔案最大值 ARCH_SPACE_LIMIT = 0 # 單位Mb,0表示無限制,範圍1024~4294967294M |
4) 配置dmmpp.ctl
資料守護V2.1及以上版本中,MPP備庫同樣需要配置dmmpp.ctl檔案,可以直接從主庫上拷貝。
將mppdw1機器上例項GRP1_MPP_EP01配置的dmmpp.ctl拷貝到/dmdata/EP11目錄中。
scp 192.168.18.201:/dmdata/EP01/dmmpp.ctl /dmdata/EP11
5) 啟動備庫
以Mount方式啟動備庫
註冊資料庫服務,設定伺服器啟動模式mount
DmServiceEP11 start
一定要以Mount方式啟動資料庫例項,否則系統啟動時會重構回滾表空間,生成Redo日誌;並且,啟動後應用可能連線到資料庫例項進行操作,破壞主備庫的資料一致性。資料守護配置結束後,守護程式會自動Open資料庫。
6) 設定OGUID
啟動命令列工具DIsql,使用MPP型別為LOCAL方式,登入備庫設定OGUID值。
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL> sp_set_oguid(45330);
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
系統通過OGUID值確定一個守護程式組,由使用者保證OGUID值的唯一性,並確保資料守護系統中,資料庫、守護程式和監視器配置相同的OGUID值。
7) 修改資料庫模式
啟動命令列工具DIsql,使用MPP型別為LOCAL方式,登入備庫修改資料庫為Standby模式。
SQL> alter database standby;
6. 配置備庫GRP2_MPP_EP22
1) 配置dm.ini
在mppdw1機器上配置備庫的例項名為GRP2_MPP_EP22,dm.ini引數修改如下:
# 例項名,建議使用"組名_守護環境_序號"的命名方式,總長度不能超過16 INSTANCE_NAME = GRP2_MPP_EP22 PORT_NUM = 5237 # 資料庫例項監聽埠 DW_INACTIVE_INTERVAL = 60 # 接收守護程式訊息超時時間 ALTER_MODE_STATUS = 0 # 不允許手工方式修改例項模式/狀態/OGUID ENABLE_OFFLINE_TS = 2 # 不允許備庫OFFLINE表空間 MAL_INI = 1 # 開啟MAL系統 ARCH_INI = 1 # 開啟歸檔配置 MPP_INI = 1 # 啟用MPP配置 RLOG_SEND_APPLY_MON = 64 # 統計最近64次的日誌傳送資訊 |
2) 配置dmmal.ini
直接將mppdw1機器上例項GRP1_MPP_EP01配置的dmmal.ini拷貝到/dmdata/EP22目錄中。
cp /dmdata/EP01/dmmal.ini /dmdata/EP22/
3) 配置dmarch.ini(實時歸檔)
修改dmarch.ini,配置實時歸檔。除了本地歸檔外,其他歸檔配置項中的ARCH_DEST表示例項是Primary模式時,需要同步歸檔資料的目標例項名。
當前例項GRP2_MPP_EP22是備庫,守護系統配置完成後,可能在各種故障處理中,GRP2_MPP_EP22切換為新的主庫,正常情況下,GRP2_MPP_EP02會切換為新的備庫,需要向GRP2_MPP_EP02同步資料,因此實時歸檔的ARCH_DEST配置為GRP2_MPP_EP02。
[ARCHIVE_REALTIME1] ARCH_TYPE = REALTIME # 實時歸檔型別 ARCH_DEST = GRP2_MPP_EP02 # 實時歸檔目標例項名 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL # 本地歸檔型別 ARCH_DEST = /dmarch/EP22 # 本地歸檔檔案存放路徑 ARCH_FILE_SIZE = 128 # 單位Mb,本地單個歸檔檔案最大值 ARCH_SPACE_LIMIT = 0 # 單位Mb,0表示無限制,範圍1024~4294967294M |
4) 配置dmmpp.ctl
資料守護V2.1及以上版本中,MPP備庫同樣需要配置dmmpp.ctl檔案,可以直接從主庫上拷貝。
將mppdw1機器上例項GRP1_MPP_EP01配置的dmmpp.ctl拷貝到/dmdata/EP22目錄中。
cp /dmdata/EP01/dmmpp.ctl /dmdata/EP22/
5) 啟動備庫
以Mount方式啟動備庫
註冊資料庫服務,設定伺服器啟動模式mount
DmServiceEP22 start
一定要以Mount方式啟動資料庫例項,否則系統啟動時會重構回滾表空間,生成Redo日誌;並且,啟動後應用可能連線到資料庫例項進行操作,破壞主備庫的資料一致性。資料守護配置結束後,守護程式會自動Open資料庫。
6) 設定OGUID
啟動命令列工具DIsql,使用MPP型別為LOCAL方式,登入備庫設定OGUID值。
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL> sp_set_oguid(45331);
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
系統通過OGUID值確定一個守護程式組,由使用者保證OGUID值的唯一性,並確保資料守護系統中,資料庫、守護程式和監視器配置相同的OGUID值。
7) 修改資料庫模式
啟動命令列工具DIsql,使用MPP型別為LOCAL方式,登入備庫修改資料庫為Standby模式。
SQL> alter database standby;
7. 配置dmwatcher.ini
一般來說,每個單獨的例項都是使用一個單獨的守護程式守護。比如實時主備和讀寫分離叢集的配置。
由於同一臺機器上有不同組的兩個例項,我們可以只配置一個守護程式,同時守護兩個例項。
mppdw1 機器上配置dmwatcher.ini,配置為全域性守護型別,使用自動切換模式。
[GRP1] DW_TYPE = GLOBAL # 全域性守護型別 DW_MODE = AUTO # 自動切換模式 DW_ERROR_TIME = 10 # 遠端守護程式故障認定時間 INST_RECOVER_TIME = 60 # 主庫守護程式啟動恢復的間隔時間 INST_ERROR_TIME = 10 # 本地例項故障認定時間 INST_OGUID = 45330 # 守護系統唯一OGUID值 INST_INI = /dmdata/EP01/dm.ini #dm.ini 配置檔案路徑 INST_AUTO_RESTART = 1 # 開啟例項的自動啟動功能 INST_STARTUP_CMD = /dm8/bin/dmserver # 命令列方式啟動 RLOG_SEND_THRESHOLD = 0 # 指定主庫傳送日誌到備庫的時間閥值,預設關閉 RLOG_APPLY_THRESHOLD = 0 # 指定備庫重演日誌的時間閥值,預設關閉 [GRP2] DW_TYPE = GLOBAL # 全域性守護型別 DW_MODE = AUTO # 自動切換模式 DW_ERROR_TIME = 10 # 遠端守護程式故障認定時間 INST_RECOVER_TIME = 60 # 主庫守護程式啟動恢復的間隔時間 INST_ERROR_TIME = 10 # 本地例項故障認定時間 INST_OGUID = 45331 # 守護系統唯一OGUID值 INST_INI = /dmdata/EP22/dm.ini #dm.ini 配置檔案路徑 INST_AUTO_RESTART = 1 # 開啟例項的自動啟動功能 INST_STARTUP_CMD = /dm8/bin/dmserver # 命令列方式啟動 RLOG_SEND_THRESHOLD = 0 # 指定主庫傳送日誌到備庫的時間閥值,預設關閉 RLOG_APPLY_THRESHOLD = 0 # 指定備庫重演日誌的時間閥值,預設關閉 |
mppdw2 機器上配置dmwatcher.ini,配置為全域性守護型別,使用自動切換模式。
[GRP1] DW_TYPE = GLOBAL # 全域性守護型別 DW_MODE = AUTO # 自動切換模式 DW_ERROR_TIME = 10 # 遠端守護程式故障認定時間 INST_RECOVER_TIME = 60 # 主庫守護程式啟動恢復的間隔時間 INST_ERROR_TIME = 10 # 本地例項故障認定時間 INST_OGUID = 45330 # 守護系統唯一OGUID值 INST_INI = /dmdata/EP11/dm.ini #dm.ini 配置檔案路徑 INST_AUTO_RESTART = 1 # 開啟例項的自動啟動功能 INST_STARTUP_CMD = /dm8/bin/dmserver # 命令列方式啟動 RLOG_SEND_THRESHOLD = 0 # 指定主庫傳送日誌到備庫的時間閥值,預設關閉 RLOG_APPLY_THRESHOLD = 0 # 指定備庫重演日誌的時間閥值,預設關閉 [GRP2] DW_TYPE = GLOBAL # 全域性守護型別 DW_MODE = AUTO # 自動切換模式 DW_ERROR_TIME = 10 # 遠端守護程式故障認定時間 INST_RECOVER_TIME = 60 # 主庫守護程式啟動恢復的間隔時間 INST_ERROR_TIME = 10 # 本地例項故障認定時間 INST_OGUID = 45331 # 守護系統唯一OGUID值 INST_INI = /dmdata/EP02/dm.ini #dm.ini 配置檔案路徑 INST_AUTO_RESTART = 1 # 開啟例項的自動啟動功能 INST_STARTUP_CMD = /dm8/bin/dmserver # 命令列方式啟動 RLOG_SEND_THRESHOLD = 0 # 指定主庫傳送日誌到備庫的時間閥值,預設關閉 RLOG_APPLY_THRESHOLD = 0 # 指定備庫重演日誌的時間閥值,預設關閉 |
8. 配置監視器
由於主備庫的守護程式配置為自動切換模式,因此這裡選擇配置確認監視器。和普通監視器相比,確認監視器除了相同的命令支援外,在主庫發生故障時,能夠自動通知備庫接管為新的主庫,具有自動故障處理的功能。
故障自動切換模式下,必須配置確認監視器,且確認監視器最多隻能配置一個。
修改dmmonitor.ini配置確認監視器,其中MON_DW_IP中的IP和PORT和dmmal.ini中的MAL_HOST和MAL_DW_PORT配置項保持一致。
MON_DW_CONFIRM = 1 # 確認監視器模式 MON_LOG_PATH = /dmdata/dmmonitor/log # 監視器日誌檔案存放路徑 MON_LOG_INTERVAL = 60 # 每隔60s定時記錄系統資訊到日誌檔案 MON_LOG_FILE_SIZE = 32 # 每個日誌檔案最大32M MON_LOG_SPACE_LIMIT = 0 # 不限定日誌檔案總佔用空間 [GRP1] MON_INST_OGUID = 45330 # 組GRP1的唯一OGUID值 # 以下配置為監視器到組GRP1的守護程式的連線資訊,以"IP:PORT"的形式配置 #IP 對應dmmal.ini中的MAL_HOST,PORT對應dmmal.ini中的MAL_DW_PORT MON_DW_IP = 192.168.10.201:5253 MON_DW_IP = 192.168.10.202:5254 [GRP2] MON_INST_OGUID = 45331 # 組GRP2的唯一OGUID值 # 以下配置為監視器到組GRP2的守護程式的連線資訊,以"IP:PORT"的形式配置 #IP 對應dmmal.ini中的MAL_HOST,PORT對應dmmal.ini中的MAL_DW_PORT MON_DW_IP = 192.168.10.202:5253 MON_DW_IP = 192.168.10.201:5254 |
9. 啟動守護程式
註冊守護程式服務,分別啟動mppdw1、mppdw2機器上的守護程式
./dm_service_installer.sh -t dmwatcher -p DW1 -watcher_ini /dmdata/EP01/dmwatcher.ini
./dm_service_installer.sh -t dmwatcher -p DW2 -watcher_ini /dmdata/EP02/dmwatcher.ini
DmWatcherServiceDW1 start
DmWatcherServiceDW2 start
守護程式啟動後,進入Startup狀態,此時例項都處於Mount狀態。守護程式開始廣播自身和其監控例項的狀態資訊,結合自身資訊和遠端守護程式的廣播資訊,守護程式將本地例項Open,並切換為Open狀態。
10. 啟動監視器
啟動監視器:
dmmonitor /dmdata/dmmonitor/dmmonitor.ini
至此MPP實時主備搭建完畢,在搭建步驟和各項配置都正確的情況下,在監視器上執行show命令,可以監控到所有例項都處於Open狀態,所有守護程式也都處於Open狀態,即為正常執行狀態。
11. 驗證MPP主備
1) MPP 驗證
在MPP主節點1建立測試表:
[dmdba@mppdw1 ~]$ disql SYSDBA/SYSDBA
Server[LOCALHOST:5236]:mode is primary, state is open login used time: 6.018(ms) disql V8 SQL> set lineshow off timing off SQL> create table mevi as select * from sysobjects; executed successfully |
在MPP主節點2查詢:MPP執行正常
[dmdba@mppdw2 ~]$ disql SYSDBA/SYSDBA*LOCAL
Server[LOCALHOST:5236]:mode is primary, state is open login used time: 4.127(ms) disql V8 SQL> set lineshow off timing off SQL> select count(*) from mevi;
COUNT(*) -------------------- 0
SQL> exit [dmdba@mppdw2 ~]$ disql SYSDBA/SYSDBA
Server[LOCALHOST:5236]:mode is primary, state is open login used time: 5.289(ms) disql V8 SQL> set lineshow off timing off SQL> select count(*) from mevi;
COUNT(*) -------------------- 1327 |
2) 資料守護驗證
在GRP1備節點查詢
[dmdba@mppdw2 ~]$ disql SYSDBA/SYSDBA@LOCALHOST:5237
Server[LOCALHOST:5237]:mode is standby, state is open login used time: 3.352(ms) disql V8 SQL> set lineshow off timing off SQL> select count(*) from mevi;
COUNT(*) -------------------- 1327 |
在GRP2備節點查詢
[dmdba@mppdw1 ~]$ disql SYSDBA/SYSDBA@LOCALHOST:5237
Server[LOCALHOST:5237]:mode is standby, state is open login used time: 4.356(ms) disql V8 SQL> set lineshow off timing off SQL> select count(*) from mevi;
COUNT(*) -------------------- 0 |
確認守護程式的資訊,執行正常
[dmdba@mppdw1 ~]$ disql SYSDBA/SYSDBA
Server[LOCALHOST:5236]:mode is primary, state is open login used time: 4.011(ms) disql V8 SQL> set lineshow off timing off SQL> select * from v$dmwatcher;
N_GROUP GROUP_NAME INST_NAME DW_TYPE DW_MODE AUTO_RESTART DW_STATUS DW_SUB_STATUS ----------- ---------- ------------- ------- ------- ------------ --------- --------------- LAST_MSG_TIME SWITCH_COUNT CTL_NUM INST_NUM MAX_CONN_NUM ---------------------------------------------------------------------------------------------------- ------------ ----------- ----------- ------------ 2 GRP2 GRP2_MPP_EP02 GLOBAL AUTO 1 OPEN SUB_STATE_START 2020-08-18 21:20:13.000000 0 1 1 2
2 GRP1 GRP1_MPP_EP01 GLOBAL AUTO 1 OPEN SUB_STATE_START 2020-08-18 21:20:13.000000 0 1 1 2
SQL> select * from v$mal_link_status;
SRC_SITE DEST_SITE CTL_LINK_STATUS DATA_LINK_STATUS ------------- ------------- --------------- ---------------- GRP2_MPP_EP02 GRP1_MPP_EP01 CONNECTED CONNECTED GRP2_MPP_EP02 GRP1_MPP_EP11 CONNECTED CONNECTED GRP2_MPP_EP02 GRP2_MPP_EP22 CONNECTED CONNECTED GRP1_MPP_EP01 GRP2_MPP_EP02 CONNECTED CONNECTED GRP1_MPP_EP01 GRP1_MPP_EP11 CONNECTED CONNECTED GRP1_MPP_EP01 GRP2_MPP_EP22 CONNECTED CONNECTED
6 rows got |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31516603/viewspace-2712757/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DM8 實時主備環境搭建
- DM8配置MPP主備
- DM8搭建MPP叢集
- DM8 配置DMDSC主備環境(rac到單節點 )
- DM8 資料守護實時主備搭建
- 在容器環境搭建mysql備庫MySql
- DM8 Linux環境下配置ODBCLinux
- 主備庫記憶體不一致的Data Guard環境搭建記憶體
- Redis多例項及主從複製環境搭建Redis
- 環境搭建
- 基於docker環境下搭建redis主從叢集DockerRedis
- 搭建lnmp環境LNMP
- 搭建gym環境
- Linuxg環境搭建Linux
- JDK環境搭建JDK
- Angular環境搭建Angular
- anaconda 環境搭建
- ReactNative環境搭建React
- swoft 環境搭建
- Flutter環境搭建Flutter
- 搭建Java環境Java
- Supervisor 環境搭建
- react環境搭建React
- FNA環境搭建
- FNA 環境搭建
- Maven 環境搭建Maven
- Dubbo環境搭建
- Vagrant 環境搭建
- LNMP 環境搭建LNMP
- OpenGL 環境搭建
- App環境搭建APP
- gogs環境搭建Go
- Kubernetes環境搭建
- mac搭建環境Mac
- python環境搭建Python
- keil環境搭建
- Windows環境下的Nginx環境搭建WindowsNginx
- window環境下testlink環境搭建(xammp)