复制实施方案(终稿)

 DB2 Q 复制实施方案

 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.1 Mq 维护 查看通道

 Dspmq 删除通道

 dltmqm QGMR1

 6.2 DB2 维护 查看数据库的配置信息

 db2 get db cfg for east 查看实例的配置信息

 db2 get dbm cfg

推荐访问:实施方案 复制 终稿