ITPub博客

首页 > 数据库 > 数据库开发技术 > [原]DB2 8.2之间的SQL update-anywhere 复制配置手册

[原]DB2 8.2之间的SQL update-anywhere 复制配置手册

原创 数据库开发技术 作者:jarrygao 时间:2007-01-19 16:00:03 0 删除 编辑

节点用途

IP

平台

Instance

数据名

版本

补丁版本

主节点

10.222.222.233

winxp

db2

PRIDB

8.2

FIXPACK 14

从节点

10.222.222.111

winxp

db2

STDDB

8.2

FIXPACK 14

注:本文将仅在主节点上做配置完成复制(在从节点上做配置也是可以的)

在主节点上创建一张测试表TEST

Create table db2admin.test(id int not null,name char(10))

Alter table db2admin.test add constraint pk_test primary key(id)

插入两条测试记录

Insert into test values(1,’test1’)

Insert into test values(2,’test2’)

注:表必须要有主键

[@more@]

1 创建catalog连接信息

l 通过图形界面

在控制中心 -》所有数据库-》添加数据库-》选择主机(选择从节点)-》搜索-》

l 通过命令行

DB2 CATALOG TCPIP NODE STDND REMOTE 10.222.222.211 SERVER 50000

DB2 CATALOG DATABASE STDDB AT NODE STND

这样从节点上的数据库stddb就被catalog到本地了

加完之后最好重启一下机器。(可能是由于windows的原因,配置过程中发现老是没刷新)

2 创建capture control serverapply server

在主节点上打开复制中心,关掉向导

l 为主节点创建capture control server

SQL复制-》定义-》capture控制服务器-》右键选择创建capture控制服务器-》快速

-》选择服务器-》PRIDB

下一步-》下一步-》确定-》确定

l 为从节点创建capture control serverapply control server

SQL复制-》定义-》capture控制服务器-》右键选择创建capture控制服务器-》快速

-》选择服务器-》STDDB->选择以上两者->下一步-》下一步-》确定-》确定

注:本手册仅为试验用,到具体的项目时,上面的每一步中选项要根据业务量、复制的表的数目都来设定。

3 改为归档模式

l 修改PRIDB

复制中心-》SQL复制-》定义-》capture控制服务器->PRIDB->右键选择启用数据库以进行复制

将会修改一个参数LOGRETAIN=recovery ,并进行一次全备份

里面步骤里面只有一个需要操作:指定备份的位置

l 修改STDDB

复制中心-》SQL复制-》定义-》capture控制服务器->PRIDB->右键选择启用数据库以进行复制

4 注册源表

复制中心-》SQL复制-》定义-》capture控制服务器->PRIDB->Capture模式->ASN->注册的表-》右键选择注册表->根据条件选择到TEST

注意:要把从副本目标表捕获更改选项去掉

确定

5 创建预订集

复制中心-》SQL复制-》定义-apply控制服务器-》STDDB->右键选择创建预订集

l 集信息

集合名自己定义

Apply限定符自己定义

Capture 控制服务器别名选择 PRIDB

目标服务器别名选择 STDDB

选择激活预订集

l 源到目标的映射

选择第二个tab

添击添加,从里面选择TEST后确定,得到界面如下:

将目标类型从用户副本改成副本,然后将capture模式改成ASN,得到界面如下:

l 时间表:

选择刷新的时间间隔

为试验方便,选择连续的(这样刷新比较快一点)

点击确定

这样就建立了从源库PRIDB上的db2admin.test表到目标库STDDB上的db2admin.tgtest表的复制。

6 创建密码文件

在主节点上:

创建一个目录用于存放密码文件及以后运行的日志

MKDIR c:db2rep

CD c:db2rep

初始化密码文件:

ASNPWD INIT USING asnpwd.aut

分别添加两个库的密码进去

ASNPWD ADD ALIAS PRIDB ID db2admin PASSWORD db2admin using asnpwd.aut

ASNPWD ADD ALIAS STDDB ID db2admin PASSWORD db2admin using asnpwd.aut

7 启动CAPTUREapply程序

在主节点上,执行db2cmd打开3db2cmd窗口,每个窗口分布执行:

1

CD c:db2rep

ASNCAP CAPTURE_SERVER=PRIDB PWDFILE=asnpwd.aut

2

CD c:db2rep

ASNCAP CAPTURE_SERVER=STDDB PWDFILE=asnpwd.aut

3)

CD c:db2rep

ASNAPPLY APPLY_QUAL=QUAL1 CONTROL_SERVER=STDDB PWDFILE=asnpwd.aut

这时候,数据首先是完全刷新到从节点的TGTEST表,然后,两边的修改会不断的刷新到对方。

8 其他注意点

1) 补丁必须要打到12以上,我原先用的是fix7,结果花了两天时间却怎么也无法双向刷新,后来请教DB2工程师,她那边补丁打到12以上说是可以的,我这边打到12后果然可以了:),但随后就很郁闷了,我又下载了fix14(最新的补丁),结果发现同样的步骤确在两台机器上做怎么也复制不成功了,但在一台机器上两个数据库之间是可以的,难道最新的补丁又有问题? 建议上线之前,先用最新补丁试验一下,如果不行再换低的试试。

2) 按照手册上说,captureapply程序可以用复制中心启动,结果发现有很多莫名其妙的问题,晕,后来在网上看,别人也是发现同样的问题,所以最好用命令去做。

3) 要进行复制的表,必须是有主键的(可能唯一索引也可以,没有试过)

4) 如果中间有什么意外要删掉重建的话,按照下面步骤去做:

首先在复制中心,把能删掉的都删掉,这时候数据库里面会仍然剩下许多IBM_SNAP开头的复制表及CD开头的日志捕捉表或者TG开头的目标表,将这些表统统删掉,然后将ASN模式删掉,最后将由于复制引起的所有表空间删掉

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7837534/viewspace-891665/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    5
  • 访问量
    6860