Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5535808
  • 博文数量: 348
  • 博客积分: 2173
  • 博客等级: 上尉
  • 技术积分: 7900
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-24 17:26
个人简介

雄关漫道真如铁,而今迈步从头越。

文章存档

2022年(4)

2020年(6)

2019年(2)

2018年(2)

2017年(34)

2016年(49)

2015年(53)

2014年(47)

2013年(72)

2012年(79)

分类: DB2/Informix

2015-04-17 17:29:44

为了满足监管和企业发展的需求,我们的核心业务系统需要实现对资金流水进行实时监控并对数据进行实时的异地保存,所以我们迫切需要一种实时数据复制和同步的方案来解决目前遇到的问题。经过对比测试选择了IBM的CDC数据实时复制和同步解决方案。由于CDC软件由厂商进行部署,所以本文的重点在于讲解在上线CDC后实施数据库变更操作的思路和方法而非安装指导之类的问题。
OK,下面我们就来看一下在CDC环境下实施数据库变更的思路是怎样的?
具体如下所示:
一、在业务正常停止以后,停止预定
$ ./dmendreplication -I bankdb -s mytest
Command for mytest successfully executed.
二、在源端按原来的表结构变更步骤,修改表结构。注意在目标端也需要同时执行相同的修改。
db2 "rename table test1 to test1_bak”
db2 "drop table test1”
db2 ”create table test1(a int,b int)”
db2 "insert into test1 (a,b) select * from test1_bak”
注意事项:
1、在原表上有CDC配置时增加的CAPTURE属性,在创建新的同名表以后,需要在源端修改新表,以启用CAPTURE。
#ALTER TABLE "DB2INST1"."TEST1" DATA CAPTURE CHANGES INCLUDE LONGVAR COLUMNS;
2、重新映射源表与目标表的列关系,通过management console中,更新表结构,并根据需要调整列的镜像关系。
三、在源端执行下述命令,以标记两端的数据同步状态,并且激活变更表的镜像状态
$ ./dmmarktablecapturepoint -I bankdb -s BANKDBDR -t DB2INST1.TEST1
Command for DB2INST1.TEST1 successfully executed.
四、启动预定继续执行数据复制
$ ./dmstartmirror -I bankdb -c  -s mytest
Command for mytest successfully executed.

一、在业务正常停止以后,停止预定
$ ./dmendreplication -I bankdb -s mytest
Command for mytest successfully executed.
二、在源端按原来的表结构变更步骤,修改表结构。注意在目标端也需要同时执行相同的修改。
db2 "rename table test1 to test1_bak”
db2 "drop table test1”
db2 ”create table test1(a int,b int)”
db2 "insert into test1 (a,b) select * from test1_bak”
注意事项:
1、在原表上有CDC配置时增加的CAPTURE属性,在创建新的同名表以后,需要在源端修改新表,以启用CAPTURE。
#ALTER TABLE "DB2INST1"."TEST1" DATA CAPTURE CHANGES INCLUDE LONGVAR COLUMNS;
2、重新映射源表与目标表的列关系,通过management console中,更新表结构,并根据需要调整列的镜像关系。
三、在源端执行下述命令,以标记两端的数据同步状态,并且激活变更表的镜像状态
$ ./dmmarktablecapturepoint -I bankdb -s BANKDBDR -t DB2INST1.TEST1
Command for DB2INST1.TEST1 successfully executed.
四、启动预定继续执行数据复制
$ ./dmstartmirror -I bankdb -c  -s mytest
Command for mytest successfully executed.
附操作清单:

 

执行主机

执行用户

 

停止预定

源主机

CDC安装用户

./dmendreplication -I bankdb -s BANKDBDR

结构变更

源、目标

db2inst1

 

源表增加capture属性

源主机

db2inst1

ALTER TABLE "DB2INST1"."TEST1" DATA CAPTURE CHANGES INCLUDE LONGVAR COLUMNS;

 

映射源表与目标表

Console

console用户

 

标记两端的数据同步

源主机

CDC安装用户

 ./dmmarktablecapturepoint -I bankdb -s BANKDBDR -t DB2INST1.TEST1

 

启动预定

源主机

CDC安装用户

./dmstartmirror -I bankdb -c  -s BANKDBDR

The end~~~
阅读(6473) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~