1.      Q复制背景

Q复制是DB2复制技术中较新的一种技术,通过将Websphere MQ引进到复制体系结构中,可以使得复制更加可靠、稳定和快速。本文将通过一个完整的例子来说明如何搭建基本环境,以及如何进行操作,从而实现远程Q复制。

2.      搭建环境情况

硬件:

VirtualBox-4,xmanager4

软件:

Red Hat Enterprise Linux Server release 5.5

,WMQv6023Trial-x86_linux_2.tar.gz

 v9.7_linuxia32_server.tar.gz

         规划

        

IP

MQ队列

实例

数据库

源端

192.168.15.200

SRC_QM

db2inst1

east

目标端

192.168.15.211

TGT_QM

db2inst1

west

 

3.      MQ配置

3.1创建队列

上传软件到服务器上面,解压到当前路径下面

         tar -xzvf WMQv6023Trial-x86_linux_2.tar.gz

添加相应的组及用户

         groupadd -g 1300 mqm

         groupadd -g 1400 staff

         useradd -m -d /home/mqm -g mqm -G staff -u 1301 mqm

安装MQ

         进入到mq的解压目录下面

         ./mqlicense.sh –accept

         rpm -ivh *.rpm

                   两台服务器都需要做操作。

源端操作

         crtmqm SRC_QM

         strmqm SRC_QM

runmqsc SRC_QM

                   DEFINE QLOCAL ('ADMINQ') DEFPSIST(YES)

DEFINE QLOCAL ('RESTARTQ') DEFPSIST(YES)

DEFINE QLOCAL('TGT_QM') USAGE(XMITQ) DEFPSIST(YES)

DEFINE QREMOTE('SENDQ') RNAME('RECVQ') RQMNAME('TGT_QM') XMITQ('TGT_QM') DEFPSIST(YES)

REFRESH SECURITY

end

 

        

 

         目标端操作

                   crtmqm TGT_QM

                   strmqm  TGT_QM

                   runmqsc TGT_QM

                   DEFINE QLOCAL('RECVQ') DEFPSIST(YES)

DEFINE QLOCAL('SRC_QM') USAGE(XMITQ) DEFPSIST(YES)

DEFINE QREMOTE('ADMINQ') RNAME('ADMINQ') RQMNAME('SRC_QM') XMITQ('SRC_QM') DEFPSIST(YES)

DEFINE QMODEL('IBMQREP.SPILL.MODELQ') DEFSOPT(SHARED) MSGDLVSQ(FIFO) DEFTYPE(PERMDYN)

REFRESH SECURITY

end

3.2创建通道

源端操作

         runmqsc SRC_QM

DEFINE CHL ('SRC_QM.TO.TGT_QM') CHLTYPE(SDR) TRPTYPE(TCP) CONNAME ('IP_address(port)') XMITQ('TGT_QM') DISCINT(0)

DEFINE CHL ('TGT_QM.TO.SRC_QM') CHLTYPE(RCVR) TRPTYPE(TCP)

End

启动通道,监听

         runmqlsr -t tcp -m SRC_QM -p 1451 &

runmqsc SRC_QM

                  start channel (SRC_QM.TO.TGT_QM)

                  end

         或是通过下面的方式启动

runmqchl -m SRC_QM -c SRC_QM.TO.TGT_QM &

         目标端操作

                   runmqsc TGT_QM

DEFINE CHL ('TGT_QM.TO.SRC_QM') CHLTYPE(SDR) TRPTYPE(TCP) CONNAME('IP_address(port)') XMITQ('SRC_QM') DISCINT(0)

DEFINE CHL ('SRC_QM.TO.TGT_QM') CHLTYPE(RCVR) TRPTYPE(TCP)

End

                   启动通道,监听

                            runmqlsr -t tcp -m TGT_QM -p 1450 &

                            runmqsc TGT_QM

                                     start channel (TGT_QM.TO.SRC_QM)

                                     end

                            或是通过下面的方式

                            runmqchl -m TGT_QM -c TGT_QM.TO.SRC_QM &

                  

4.      DB2配置

4.1创建数据库

上次软件到服务器上面,上传方式可以通过多种方式。

解压数据库软件到db2目录中

         tar -xzvf v9.7_linuxia32_server.tar.gz -C db2/

添加相应的用户及组

         groupadd -g 1000 db2igrp

     groupadd -g 1200 db2ifcs

         groupadd -g 1500 db2agrp

         useradd -m -d /home/mqm -g mqm -G staff -u 1301 mqm

    useradd -m -d /home/db2inst1 -g db2igrp -G staff,mqm -u 1302 db2inst1

    useradd -m -d /home/db2fuser -g db2ifcs -G mqm,staff -u 1303 db2fuser

useradd -m -d /home/db2das -g db2agrp -u 1501 db2das

设置用户的密码

         Passwd db2inst1其他用户都要解除,不过要记得实例用户的密码,设置为inst

         安装数据库软件

                  ./db2_install命令方式安装

                   ./db2setup图形界面安装

         按照自己的喜好选择安装方式

         创建das

         进入到/opt/ibm/db2/V9.7/instance中执行

                   ./dascrt -u db2das

         创建实例

                  ./db2icrt -a server -u db2inst1 db2inst1

         设置实例参数

                   db2set DB2COMM=TCPIP

db2 update dbm cfg using SVCENAME 50001

         创建数据库

                   切换到实例用户下面

                   在目标端创建west数据库

                            db2 create db west

                   在源端创建east数据库

                            db2 create db east

         数据库开启归档

                   db2 update db cfg for east using LOGARCHMETH1 disk:/home/db2inst1/arch

         db2 update db cfg for west using LOGARCHMETH1 disk:/home/db2inst1/arch

         修改完参数后备份数据库。

db2 backup database east

                   db2 backup database west

4.2编目数据库

目标端操作

db2 catalog tcpip node rmt remote 192.168.15.200 server 50001

db2 catalog db east at node rmt;

db2 terminate

         验证

                   db2 connect to east user db2inst1 using inst

                   如果连接失败,重启实例或是退出重新登录;实在解决不了的重新执行下这些操作。

         目标端操作

                   db2 catalog tcpip node rmt remote 192.168.15.211 server 50001

                   db2 catalog db west at node rmt

                   db2 terminate

验证

                   db2 connect to west user db2inst1 using inst

                   如果连接失败,重启实例或是退出重新登录;实在解决不了的重新执行下这些操作。

         在源端和目标端创建测试表

                   db2 "create table xml (id interger,info xml)";

5.      Q复制配置

5.1创建控制表

在源端打开复制中心db2rc

启动capture进程

 启动apply进程

    

使用命令启动

         源端

nohup asnqcap capture_server=EAST startmode=cold capture_path="caplog" logreuse=y logstdout=y memory_limit=512 &

         目标端

                   nohup asnqapp apply_server=WEST apply_path="applog" logreuse=y  &

         停止进程

                   源端

                            $asnqccmd CAPTURE_SERVER= EAST  STOP

                   目标端

                            asnqacmd apply_server= WEST STOP

源端插入信息

         db2 "insert into xml values  (1001, '<email>john.doe@xyz.com</email>')"

 db2 "update xml set info='<email>newemail@someplace.com</email>'";

         查看源端和目标端

                   db2 "select * from xml";

目标端插入

         db2 "insert into xml values  (1001, '<email>john.doe@xyz.com</email>')"

         db2 "update xml set info='<email>newemail@someplace.com</email>'";

         查看源端和目标端

                   db2 "select * from xml";

6.      日常维护

6.1Mq维护

查看通道

         Dspmq

删除通道

         dltmqm QGMR1

6.2DB2维护

查看数据库的配置信息

         db2 get db cfg for east

查看实例的配置信息

         db2 get dbm cfg

 

 

图片粘贴失败,详细文档见资源

Logo

更多推荐