lxin365
作者lxin3652015-04-22 11:56
其它, MMA

关于数据实时同步复制技术CDC对数据库变更操作带来负面影响的一些反思

字数 2702阅读 2224评论 0赞 0

为了满足监管和企业发展的需求,我们的核心业务系统需要实现对资金流水进行实时监控并对数据进行实时的异地保存,所以我们迫切需要一种实时数据复制和同步的方案来解决目前遇到的问题。经过对比测试选择了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~~~

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
© 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30