達夢7實時主備搭建過程詳解

一纠脾、主備介紹

在搭建實時主備系統(tǒng)前玛瘸,應(yīng)注意實時主備系統(tǒng)中各實例使用的DM服務(wù)器版本應(yīng)一致,同時還應(yīng)注意各實例所在主機的操作系統(tǒng)位數(shù)苟蹈、大小端模式糊渊、時區(qū)及時間設(shè)置都應(yīng)一致,以及使用同一個用戶啟動DM服務(wù)器和守護進程dmwatcher慧脱,以免系統(tǒng)在運行時出現(xiàn)意想不到的錯誤渺绒。

二、數(shù)據(jù)準備

配置實時主備之前菱鸥,必須先同步實例數(shù)據(jù)宗兼,確保兩者保持完全一致;主庫可以是新初始化的數(shù)據(jù)氮采,也可以是正在生產(chǎn)殷绍、使用中的數(shù)據(jù)。DM提供了兩種方式初始化同步實例數(shù)據(jù)鹊漠,數(shù)據(jù)文件拷貝以及備份還原方式主到。

不能使用分別初始化庫的方法,原因如下:

1.每個庫都有一個永久魔數(shù)(permenant_magic)躯概,主庫傳送日志時會判斷這個值是否一樣登钥,確保來自同一個庫,不同的庫傳送不了日志娶靡。
2.由于dminit初始化數(shù)據(jù)庫時怔鳖,會生成隨機密鑰用于加密,每次生成的密鑰都不相同固蛾,備庫無法解析采用主庫密鑰加密的數(shù)據(jù)。

三度陆、實時主備搭建

主庫搭建步驟

1.單機數(shù)據(jù)庫的搭建這里不做介紹艾凯,喜歡的胖友可以搜索一些文檔
2.關(guān)閉兩端防火墻禁止開機自啟
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
3.主庫初始化實例
image.png
4.配置相關(guān)的配置文件
配置dm.ini 
#實例名,建議使用“組名_守護環(huán)境_序號”的命名方式懂傀,總長度不能超過 16
INSTANCE_NAME = GRP1_DM1
PORT_NUM = 5236 #數(shù)據(jù)庫實例監(jiān)聽端口
DW_PORT = 5336 #守護環(huán)境下趾诗,監(jiān)聽守護進程連接端口
DW_ERROR_TIME = 60 #接收守護進程消息超時時間
ALTER_MODE_STATUS = 0 #不允許手工方式修改實例模式/狀態(tài)
ENABLE_OFFLINE_TS = 2 #不允許備庫 OFFLINE 表空間
MAL_INI = 1 #打開 MAL 系統(tǒng)
ARCH_INI = 1 #打開歸檔配置
HA_INST_CHECK_FLAG = 1 #檢測是否多個實例進程同時啟動
RLOG_SEND_APPLY_MON = 64 #統(tǒng)計最近 64 次的日志發(fā)送信息
配置 dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL 鏈路檢測時間間隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 鏈路斷開的時間
[MAL_INST1]
MAL_INST_NAME = GRP1_DM1 #實例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.13.142 #MAL 系統(tǒng)監(jiān)聽 TCP 連接的 IP 地址
MAL_PORT = 5237 #MAL 系統(tǒng)監(jiān)聽 TCP 連接的端口
MAL_INST_HOST = 192.168.13.142 #實例的對外服務(wù) IP 地址
MAL_INST_PORT = 5236 #實例的對外服務(wù)端口蹬蚁,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 5239 #實例對應(yīng)的守護進程監(jiān)聽 TCP 連接的端口
[MAL_INST2]
MAL_INST_NAME = GRP1_DM2
MAL_HOST = 192.168.13.155
MAL_PORT = 5237
MAL_INST_HOST = 192.168.13.155
MAL_INST_PORT = 5236
MAL_DW_PORT = 5239
配置 dmarch.ini
當前實例 GRP1_DM1 是主庫恃泪,需要向 GRP1_DM2(實時備庫)同步數(shù)據(jù),因此實時歸檔的 ARCH_DEST 配置為 GRP1_DM2犀斋。
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #實時歸檔類型
ARCH_DEST = GRP1_DM2 #實時歸檔目標實例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地歸檔類型
ARCH_DEST = /dm7/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 #主庫守護進程啟動恢復(fù)的間隔時間
INST_ERROR_TIME = 10 #本地實例故障認定時間
INST_OGUID = 453331 #守護系統(tǒng)唯一 OGUID 值
INST_INI = /dm7/data/DAMENG/dm.ini #dm.ini 配置文件路徑
INST_AUTO_RESTART = 1 #打開實例的自動啟動功能
INST_STARTUP_CMD = /dm7/bin/dmserver #命令行方式啟動
RLOG_SEND_THRESHOLD = 0 #指定主庫發(fā)送日志到備庫的時間閥值览效,默認關(guān)閉
RLOG_APPLY_THRESHOLD = 0 #指定備庫重演日志的時間閥值却舀,默認關(guān)閉
5.啟動數(shù)據(jù)庫確認單實例配置是否成功

./dmserverd start ,查看日志是否有SYSTEM IS READY 锤灿,有打印改信息證明數(shù)據(jù)庫配置成功挽拔,正常停止單實例 ./dmserverd stop


image.png

image.png
6.配置 dmwatcher.ctl

在配置完成 dmwatcher.ini 后,使用 dmctlcvt 工具生成 dmwatcher.ctl:./dmctlcvt TYPE=3 SRC=/dm7/data/DAMENG/dmwatcher.ini DEST=/dm7/data拷貝生成的 dmwatcher.ctl(生成的是一個目錄但校,文件在目錄里面/dm7/data/GRP1/dmwatcher.ctl)文件到數(shù)據(jù)文件目錄/dm7/data/DAMENG螃诅。

./dmctlcvt TYPE=3 SRC=/dm7/data/DAMENG/dmwatcher.ini DEST=/dm7/data
image.png
7.拷貝數(shù)據(jù)文件文件夾至備機相同路徑下
image.png
8.Mount啟動數(shù)據(jù)庫,配置主庫狀態(tài)
./dmserver /dbdata/dm7/DAMENG/dm.ini mount 
image.png
./disql sysdba/SYSDBA
SQL> sp_set_oguid(453331);
DMSQL 過程已成功完成
已用時間: 3.152(毫秒). 執(zhí)行號:5.
SQL> alter database primary;
操作已執(zhí)行
已用時間: 3.624(毫秒). 執(zhí)行號:0
image.png

備庫搭建步驟

1.解壓主庫拷貝過來的數(shù)據(jù)文件至相同路徑下状囱,并修改相關(guān)配置文件
image.png
2.修改配置文件术裸,只需修改dm.ini中的INSTANCE_NAME與dmarch.ini中的ARCH_DEST即可,修改處已標"!!!"浪箭。
配置dm.ini 
#實例名穗椅,建議使用“組名_守護環(huán)境_序號”的命名方式,總長度不能超過 16
D唐堋Fケ怼!INSTANCE_NAME = GRP1_DM2P伞E鄱啤!
PORT_NUM = 5236 #數(shù)據(jù)庫實例監(jiān)聽端口
DW_PORT = 5336 #守護環(huán)境下冻晤,監(jiān)聽守護進程連接端口
DW_ERROR_TIME = 60 #接收守護進程消息超時時間
ALTER_MODE_STATUS = 0 #不允許手工方式修改實例模式/狀態(tài)
ENABLE_OFFLINE_TS = 2 #不允許備庫 OFFLINE 表空間
MAL_INI = 1 #打開 MAL 系統(tǒng)
ARCH_INI = 1 #打開歸檔配置
HA_INST_CHECK_FLAG = 1 #檢測是否多個實例進程同時啟動
RLOG_SEND_APPLY_MON = 64 #統(tǒng)計最近 64 次的日志發(fā)送信息
Dmmal.ini 配置文件為全局唯一苇羡,兩個節(jié)點用同一個文件,無需修改
配置 dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL 鏈路檢測時間間隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 鏈路斷開的時間
[MAL_INST1]
MAL_INST_NAME = GRP1_DM1 #實例名鼻弧,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.13.142 #MAL 系統(tǒng)監(jiān)聽 TCP 連接的 IP 地址
MAL_PORT = 5237 #MAL 系統(tǒng)監(jiān)聽 TCP 連接的端口
MAL_INST_HOST = 192.168.13.142 #實例的對外服務(wù) IP 地址
MAL_INST_PORT = 5236 #實例的對外服務(wù)端口设江,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 5239 #實例對應(yīng)的守護進程監(jiān)聽 TCP 連接的端口
[MAL_INST2]
MAL_INST_NAME = GRP1_DM2
MAL_HOST = 192.168.13.155
MAL_PORT = 5237
MAL_INST_HOST = 192.168.13.155
MAL_INST_PORT = 5236
MAL_DW_PORT = 5239
配置 dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #實時歸檔類型
!!!ARCH_DEST = GRP1_DM1!!! #實時歸檔目標實例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地歸檔類型
ARCH_DEST = /dm7/data/DAMENG/arch #本地歸檔文件存放路徑
ARCH_FILE_SIZE = 128 #單位 Mb,本地單個歸檔文件最大值
ARCH_SPACE_LIMIT = 0 #單位 Mb攘轩,0 表示無限制叉存,范圍 1024~4294967294M
Dmwatcher.ini 配置文件為全局唯一,兩個節(jié)點用同一個文件度帮,無需修改
配置 dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守護類型
DW_MODE = AUTO #自動切換模式
DW_ERROR_TIME = 10 #遠程守護進程故障認定時間
INST_RECOVER_TIME = 60 #主庫守護進程啟動恢復(fù)的間隔時間
INST_ERROR_TIME = 10 #本地實例故障認定時間
INST_OGUID = 453331 #守護系統(tǒng)唯一 OGUID 值
INST_INI = /dm7/data/DAMENG/dm.ini #dm.ini 配置文件路徑
INST_AUTO_RESTART = 1 #打開實例的自動啟動功能
INST_STARTUP_CMD = /dm7/bin/dmserver #命令行方式啟動
RLOG_SEND_THRESHOLD = 0 #指定主庫發(fā)送日志到備庫的時間閥值歼捏,默認關(guān)閉
RLOG_APPLY_THRESHOLD = 0 #指定備庫重演日志的時間閥值,默認關(guān)閉
3.Mount 啟動數(shù)據(jù)庫笨篷,配置備庫狀態(tài)
./dmserver /dbdata/dm7/DAMENG/dm.ini mount
image.png
./disql sysdba/SYSDBA
SQL> sp_set_oguid(453331);
DMSQL 過程已成功完成
已用時間: 7.799(毫秒). 執(zhí)行號:1.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
DMSQL 過程已成功完成
已用時間: 6.622(毫秒). 執(zhí)行號:2.
SQL> alter database standby; 
操作已執(zhí)行
已用時間: 3.450(毫秒). 執(zhí)行號:0.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 過程已成功完成
已用時間: 6.664(毫秒). 執(zhí)行號:3.
image.png
4.監(jiān)視器配置文件

修改 dmmonitor.ini 配置確認監(jiān)視器瞳秽,其中 MON_DW_IP 中的 IP 和 PORT 和dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置項保持一致。

MON_DW_CONFIRM = 1 #確認監(jiān)視器模式
MON_LOG_PATH = /dmarch/log #監(jiān)視器日志文件存放路徑
MON_LOG_INTERVAL = 60 #每隔 60s 定時記錄系統(tǒng)信息到日志文件
MON_LOG_FILE_SIZE = 32 #每個日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件總占用空間
[GRP1]
MON_INST_OGUID = 453331 #組 GRP1 的唯一 OGUID 值
#以下配置為監(jiān)視器到組 GRP1 的守護進程的連接信息率翅,以“IP:PORT”的形式配置
#IP 對應(yīng) dmmal.ini 中的 MAL_HOST练俐,PORT 對應(yīng) dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.0.141:5239
MON_DW_IP = 192.168.0.142:5239
5.兩節(jié)點啟動dmwatcher
./dmwatcherd start
6.啟動監(jiān)視器進程(該進程只起觀察作用,對主備運行無影響)
./dmmonitor /dbdata/dmdata/DAMENG/dmmonitor.ini

敲入show并回車冕臭,查看集群狀態(tài)
WSTATUS->OPEN INST_OK->OK INSTATUS->OPEN 兩節(jié)點LSN號(FLSN痰洒、CLSN瓢棒、SSLSN、SLSN)在同一數(shù)據(jù)級 即為正常狀態(tài)


image.png

四丘喻、驗證

1.主庫創(chuàng)建表并插入數(shù)據(jù)脯宿,查看備庫是否可以接收到
主庫創(chuàng)建表


image.png

插入數(shù)據(jù),并提交


image.png

查看備機是否有此表存在
image.png

以上為搭建兩節(jié)點實時主備的全部操作步驟,請享用O_O
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泉粉,一起剝皮案震驚了整個濱河市连霉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嗡靡,老刑警劉巖跺撼,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異讨彼,居然都是意外死亡歉井,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門哈误,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哩至,“玉大人,你說我怎么就攤上這事蜜自∑忻玻” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵重荠,是天一觀的道長箭阶。 經(jīng)常有香客問我,道長戈鲁,這世上最難降的妖魔是什么仇参? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮婆殿,結(jié)果婚禮上诈乒,老公的妹妹穿的比我還像新娘。我一直安慰自己鸣皂,他們只是感情好,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布暮蹂。 她就那樣靜靜地躺著寞缝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仰泻。 梳的紋絲不亂的頭發(fā)上荆陆,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音集侯,去河邊找鬼被啼。 笑死帜消,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的浓体。 我是一名探鬼主播泡挺,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼命浴!你這毒婦竟也來了娄猫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤生闲,失蹤者是張志新(化名)和其女友劉穎媳溺,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碍讯,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡悬蔽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了捉兴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝎困。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖轴术,靈堂內(nèi)的尸體忽然破棺而出难衰,到底是詐尸還是另有隱情,我是刑警寧澤逗栽,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布盖袭,位于F島的核電站,受9級特大地震影響彼宠,放射性物質(zhì)發(fā)生泄漏鳄虱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一凭峡、第九天 我趴在偏房一處隱蔽的房頂上張望拙已。 院中可真熱鬧,春花似錦摧冀、人聲如沸倍踪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽建车。三九已至,卻和暖如春椒惨,著一層夾襖步出監(jiān)牢的瞬間缤至,已是汗流浹背闲昭。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工透敌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留柄慰,地道東北人梦湘。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像月洛,于是被迫代替她去往敵國和親何恶。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351