實(shí)現(xiàn)DB2 Q 復(fù)制配置的操作流程描述
文章主要向大家講述的是實(shí)現(xiàn)三點(diǎn)之間的對(duì)等(peer-to-peer)DB2 Q 復(fù)制配置的實(shí)際操作步驟,大家都知道對(duì)等 (peer-to-peer) Q 復(fù)制是 DB2 Q 數(shù)據(jù)庫(kù)復(fù)制中一種。利用這種對(duì)等 Q 復(fù)制可以將任何一臺(tái)服務(wù)器上發(fā)生的數(shù)據(jù)變化通過(guò) MQ 傳輸?shù)狡渌嚓P(guān)聯(lián)的服務(wù)器上。
并復(fù)制到這些服務(wù)器上,從而實(shí)現(xiàn)多臺(tái)數(shù)據(jù)庫(kù)服務(wù)器之間的數(shù)據(jù)同步。 本文將通過(guò)一個(gè)例子說(shuō)明如何搭建對(duì)等 Q 復(fù)制的基本配置環(huán)境,實(shí)現(xiàn)三個(gè)點(diǎn)之間的對(duì)等 Q 復(fù)制。
簡(jiǎn)介
對(duì)等 Q 復(fù)制主要適用于在兩臺(tái)或者多臺(tái)數(shù)據(jù)庫(kù)之間同步數(shù)據(jù),它具有如下主要特性:
可以對(duì)兩臺(tái)或者兩臺(tái)以上的數(shù)據(jù)庫(kù)服務(wù)器的表進(jìn)行復(fù)制。
在對(duì)等DB2 Q 復(fù)制配置中的任何一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器上的變化可以復(fù)制到其它所有相關(guān)的數(shù)據(jù)庫(kù)服務(wù)器中。
所有的服務(wù)器是對(duì)等關(guān)系,沒(méi)有“主”服務(wù)器的概念,如果發(fā)生沖突,最近時(shí)間戳更新的數(shù)據(jù)是有效數(shù)據(jù)。
越來(lái)越多的用戶(hù)開(kāi)始采用 DB2 Q 復(fù)制作為 DB2 的一種高可用,高擴(kuò)展性的解決方案,搭建“雙活” 甚至“三活”的數(shù)據(jù)庫(kù)系統(tǒng)。
圖 1. 三臺(tái)服務(wù)器之間的對(duì)等 Q 復(fù)制架構(gòu)圖
本文將通過(guò)一個(gè)例子來(lái)說(shuō)明如何在三個(gè)數(shù)據(jù)庫(kù)之間搭建對(duì)等 Q 復(fù)制環(huán)境。
本文檔主要分為三個(gè)大部分:
***個(gè)部分是操作系統(tǒng)、數(shù)據(jù)庫(kù)、 MQ 的基本配置 ;
第二個(gè)部分是通過(guò)復(fù)制中心建立對(duì)等 Q 復(fù)制環(huán)境;
第三部分是對(duì)等 Q 復(fù)制的配置校驗(yàn)和復(fù)制測(cè)試。
操作系統(tǒng)、數(shù)據(jù)庫(kù)、 DB2 Q 復(fù)制配置
配置前準(zhǔn)備工作
在搭建 Q 復(fù)制環(huán)境之前,需要進(jìn)行如下準(zhǔn)備工作:
1. 安裝 DB2 數(shù)據(jù)庫(kù)軟件。
2. 在操作系統(tǒng)中創(chuàng)建如表 1 所示的 db2 instance 、mqm 用戶(hù)及組。
表 1. 用戶(hù)及組設(shè)置
描述
- Peer A Peer B Peer C
- Instance ID db2inst1 db2inst2 db2inst3
- Instance Group db2grp1,mqm db2grp2,mqm db2grp3,mqm
- Fence ID db2fenc1 db2fenc2 db2fenc3
- Fence Group db2fgrp1,mqm db2fgrp2,mqm db2fgrp3,mqm
- MQ ID mqm mqm mqm
- MQ Group mqm mqm mqm
- REP ID qrepladm qrepladm qrepladm
3. 安裝 MQ 軟件。
4. 創(chuàng)建 DB2 實(shí)例和數(shù)據(jù)庫(kù)。
注:本文使用的軟件版本是DB2 v9.1.0.6和WebSphere MQ 6.0.2.3。本文測(cè)試環(huán)境是在同一臺(tái)Linux服務(wù)器上創(chuàng)建三個(gè)DB2實(shí)例和數(shù)據(jù)庫(kù)來(lái)模擬三點(diǎn)之間的復(fù)制。
數(shù)據(jù)庫(kù)設(shè)置
在上述準(zhǔn)備工作完成以后,實(shí)例和數(shù)據(jù)庫(kù)信息如表 2 所示。
表 2. 數(shù)據(jù)庫(kù)信息
描述 Peer A Peer B Peer C
- Instance db2inst1 db2inst2 db2inst3
- Port 50000 50001 50002
- IP 127.0.0.1 127.0.0.1 127.0.0.1
- Indirect Database TP1 TP2 TP3
- Remote Database TP2, TP3 TP1, TP3 TP1, TP2
注 : 在使用復(fù)制功能之前,所有數(shù)據(jù)庫(kù)都應(yīng)該將日志模式設(shè)置為archive logging模式(歸檔日志模式)。
創(chuàng)建完 DB2 實(shí)例和數(shù)據(jù)庫(kù)以后,需要在本地進(jìn)行編目遠(yuǎn)程數(shù)據(jù)庫(kù)后才可以對(duì)其進(jìn)行訪(fǎng)問(wèn)操作。
例如:在 db2inst1 用戶(hù)下,輸入清單 1 所示的命令來(lái)實(shí)現(xiàn)對(duì)遠(yuǎn)程 TP2,TP3 數(shù)據(jù)庫(kù)的編目:
清單 1. 編目 DB2 數(shù)據(jù)庫(kù)
- db2 catalog tcpip node db2inst2 remote 127.0.0.1 server 50001 db2 catalog database tp2 at node
- db2inst2 db2 catalog tcpip node db2inst3 remote 127.0.0.1 server 50002 db2 catalog database tp3 at node db2inst3 db2 terminate
用清單 2 所示的方法測(cè)試 db2inst1 實(shí)例是否能正常連接 db2inst2 、db2inst3 實(shí)例上的 TP2 、TP3 數(shù)據(jù)庫(kù)。
清單 2. 連接遠(yuǎn)程數(shù)據(jù)庫(kù)
- db2 connect to tp2 user db2inst2 using *** db2 connect to tp3 user db2inst3 using *** db2 terminate
同樣的方法在 db2inst2 和 db2inst3 上編目相應(yīng)的節(jié)點(diǎn)和數(shù)據(jù)庫(kù)信息。使每個(gè)實(shí)例都能訪(fǎng)問(wèn)其他兩個(gè)實(shí)例上的數(shù)據(jù)庫(kù)。
為了方便復(fù)制操作,通常會(huì)在各個(gè)DB2 Q 復(fù)制配置上創(chuàng)建相同的模式和復(fù)制表。
用清單 3 所示的方法在 TP1、TP2、TP3 上給 qrepladm 用戶(hù)授權(quán)并創(chuàng)建 QREPLADM.S_TAB 表
清單 3. 授權(quán)及建表
- db2 grant DBADM on DATABASE to USER qrepladm db2 "create table QREPLADM.S_TAB(id integer not null PRIMARY KEY,content varchar(20))"
MQ 對(duì)象設(shè)置
本文附件提供一些腳本用于創(chuàng)建相關(guān)的 MQ 對(duì)象,用戶(hù)可以修改或者直接使用它們來(lái)創(chuàng)建必要的 MQ 對(duì)象。QM1.mqs、QM2.mqs、QM3.mqs 文件分別用于創(chuàng)建 QM1、QM2、QM3 相關(guān)的消息對(duì)象。上述三個(gè)腳本中分別定義了 QM1、QM2、QM3 三個(gè)隊(duì)列管理器中的隊(duì)列、通道等對(duì)象。
在 Peer A 上,定義名叫 QM1 的 MQ manager。如果 QM1 已經(jīng)存在,按照清單 4 所示的命令刪除舊的 QM1:
清單 4. 停止并刪除隊(duì)列管理器
- endmqm QM1 dltmqm QM1
然后按照清單 5 所示的方法來(lái)創(chuàng)建 QM1:以上的相關(guān)內(nèi)容就是對(duì)三點(diǎn)之間的對(duì)等(peer-to-peer)DB2 Q 復(fù)制配置的介紹,望你能有所收獲。
完整內(nèi)容的學(xué)習(xí),請(qǐng)?jiān)L問(wèn):
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0912zengh/index.html
【編輯推薦】