暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

人大金仓 KFS DB2 DBA权限CDC安装配置手册

KFS补给站 2023-07-28
1719


名称解释:


KFS:Kingbase Flysync的缩写,是人大金仓自主研发的、能够在异构数据平台间实现实时、增量数据同步的产品
CDC:即Changed Data Capture,增量数据获取


一、安装前准备

1.1 软件环境要求

KFS支持在CentOS 6.X、CentOS 7.X、Kylin 4.0、普华5.0、UOS 20、凝思6.0、湖南麒麟3.x、专用机海光CPU +中科方德OS等64位发行版本上安装部署。

Kingbase Flysync支持的DB2版本为: V9.X、V10.X、V11.X

1.2 数据库开启归档日志

以sample数据库为例(现场部署时替换为实际数据库名称)

  • 使用管理用户db2inst1连接sample
db2 connect to sample
  • 检查是否开启归档日志
db2 get db cfg for sample | grep -i LOGARCHMETH



图1-1 数据库归档查询结果

如果LOGARCHMETH1为OFF表示没开启归档日志,则按照文档进行后续操作;如果LOGARCHMETH1为TRUE表示归档已经开启,则可以跳过此章节的后续操作

  • 停止应用连接
查看sample数据库的连接情况

db2 list application | grep sample



图1-2 数据库连接查询结果

停止此数据库的连接,下面的id换成上面查询到的结果

db2 "force application (13169)"

db2 "force application (13153)"

  • 开启日志归档(下面以本地归档目录为例)
# 创建归档日志目录(可以按照实际规划调整)

mkdir -p /home/db2inst1/archive_sample/archivelog1

#开启归档

db2 update db cfg for sample using logarchmeth1 DISK:/home/db2inst1/archive_sample/archivelog1

  • 做一次脱机备份
db2 backup db sample to /home/db2inst1/archive_sample

1.3 新增用户并赋权

  • 新增用户
KFS部署之前,需要建立独立的运行帐号,此时需要在root用户下操作:

[root@DB2 ~]# useradd -d /home/flysync flysync

[root@DB2 ~]# passwd flysync

  • 赋予DB2数据库的DBA权限
使用管理用户db2inst1连接到待同步数据库(例:sample)授权

db2 connect to sample

授予管理员权限:

db2 grant dbadm on database to user flysync

退出连接

db2 terminate

1.4安装包准备

1、准备需要的KFS数据同步软件安装程序(此文档中以如下版本作示例:KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz),将其上传到服务器的对应用户(1.3章节中新增的flysync用户)下。

2、解压安装包:

tar –zxf KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz –C ~flysync

3、将安装包flysync-replicator/extractors/db2-cdc目录下的所有sql文件拷贝到DB2的管理员用户(db2inst1)下,此处假定为 ~db2inst1/tmpSQL/ 目录



图1-3 部署SQL文件列表

二、配置安装

2.1 部署UDF文件

  • 连接数据库
使用上面创建的同步用户flysync连接到待同步数据库(例:sample)

db2 connect to sample user flysync using passxxx

  • 上传UDF jar和注册UDF
上传下面的asncdc.jar到~db2inst1/tmpSQL/目录下

注意:不同DB2版本使用的asncdc.jar不同

V11使用的UDF jar

V10使用的UDF jar

V9使用的UDF jar

  • 安装UDF JAR

db2 "CALL SQLJ.INSTALL_JAR('file:/home/db2inst1/tmpSQL/asncdc.jar', asncdcjar)"

  • 注册服务控制UDF
db2 -tmf /home/db2inst1/tmpSQL/asncdc_UDF.sql

  • 创建asn控制表
注意:不同版本执行的sql脚本不同

# v11 版本

db2 –tmf /home/db2inst1/tmpSQL/asncdctables_v11.sql

# v10 版本

db2 -tmf /home/db2inst1/tmpSQL/asncdctables_v10.sql

# v9 版本

db2 -tmf /home/db2inst1/tmpSQL/asncdctables_v9.sql

  • 注册新增删除UDF
注意:不同版本执行的sql脚本不同

# v11和v10 版本

db2 -tmf /home/db2inst1/tmpSQL/asncdcaddremove_v10-v11.sql

# v9 版本

db2 -tmf /home/db2inst1/tmpSQL/asncdcaddremove_v9.sql

2.2 CDC配置文件

2.2.1 配置文件列表




图 2-1 配置文件列表

脚本

作用

参数说明

setupCDC.sh

读取flysync.tables里配置的表,然后配置CDC

-h 查看使用说明

-c <path> :path表示setupCDC.conf的全路径,如果不指定-c参数,则默认使用当前路径下的

-cs:生成修改CAPTURE CHANGES属性的sql文件

cleanCDC.sh

清理db2 CDC的配置

-h 查看使用说明

-c <path> :path表示setupCDC.conf的全路径,如果不指定-c参数,则默认使用当前路径下的

-a 使用此参数将清理db2所有CDC配置(包含安装的控制表和UDF jar),如果不指定此参数,则默认只清理flysync.tables里配置的CDC表

setupCDC.conf

配置DB2相关信息

 

flysync.tables

部署时使用配置表


2.2.2 配置文件flysync.tables




图 2-2 flysync.tables文件

flysync.tables 文件里边列出需要同步的表

flysync.tables 文件的格式为:

schemaName<TAB>tableName

注1:<tab>表示TAB键

注2:模式名、表名大小写需要和数据库中保持一致

2.2.4 配置文件setupCDC.conf




图2-3 setupCDC.conf文件

配置参数解释如下:


参数名称

含义

service

服务名称,由用户自行指定(注意:需要和和后面同步工具部署时的服务名称保持一致

db_host

db2所在的机器ip或域名

db_port

db2的端口

db_name

要同步的表所在的数据库

sys_user

系统用户名

sys_pass

系统用户名密码

source_user

同步的用户名称(需手动创建)

source_password

同步的用户密码

sqllib_Path

db2 sqllib目录位置的全路径

commit_interval

变更数据提交到CD表中的间隔时间

auto_setup

true: DBA权限部署/清理时自动启停asncap服务



2.3 部署CDC


2.3.1 配置CAPTURE CHANGES属性


配置flysync.tables和setupCDC.conf文件后,生成ALTER_CAPTURE_CHANGES.sql

./setupCDC.sh -cs

按照2.1节将ALTER_CAPTURE_CHANGES.sql上传到db2服务器~db2inst1/tmpSQL/,并使用具有dbadm权限的用户执行


db2 –tmf /home/db2inst1/tmpSQL/ALTER_CAPTURE_CHANGES.sql


2.3.2安装CDC


注:此章节的所有操作,都需要在KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz的解压目录的flysync-replicator/extractors/db2-cdc目录下执行

配置好flysync.tables和setupCDC.conf文件后,执行setupCDC.sh文件:



图 2-4 安装CDC

安装成功后,可以通过ps命令查看相关进程:



图2-5 捕获进程查看结果


2.3.2清理CDC


执行cleanCDC.sh可以清除相关CDC表配置:



图 2-6 清理CDC(仅CDC表)

执行cleanCDC.sh -a 可以清除所有CDC配置:



图 2-7 清理CDC(所有CDC配置)

三、验证安装

配置完成CDC后,DB2将会捕获相关的数据变更,可以通过插入/更新/删除相关表的数据来进行验证。

假设create table flysync.testa(id int,a int)表已经完成CDC配置

初始时无数据:



图 3-1 初始状态

INSERT数据:



图 3-2 解析INSERT操作

UPDATE数据:



图 3-3 解析UPDATE操作

DELETE数据:



图 3-4 解析DELETE操作

四、总结

此部署方案的前提是用户可以提供DBA权限,当用户不能提供DBA权限时,请参考最小权限部署的相关文档。
实际安装部署时,对应的用户、数据库名称、相关文件路径需要根据实际情况修改


参考文档:
《Kingbase FlySync 安装部署手册.pdf》

最后修改时间:2023-07-28 14:15:31
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论