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

中电科金仓支持在线修改同步范围解析或过滤指定表对象DML语句功能介绍与配置使用说明

原创 KFS补给站 2025-02-08
246



关键字:

KingbaseFlySync、KFS、同步程序、replicator、在线修改同步范围、DML

1. 功能描述

KFS支持在线修改同步的范围,用来对指定表对象的DML语句进行解析或过滤。

2. 使用场景介绍

开启同步服务后,当用户需要在不中断同步业务的情况下,在线修改同步的范围,对指定表对象的DML语句进行解析或过滤时,可采用该命令进行实现。

注:该命令目前只能用于源端。

3. 介绍

(1)前提条件:源端同步服务处于online状态

(2)使用方式:

① 解析指定表对象DML语句

在源端输入如下命令:

fsrepctl -service [服务名] add-replicate-do [*.*/模式名.*/模式名.表名]

注:该命令是在原来指定表对象的范围上追加同步的表,来解析这些表的DML语句

② 过滤指定表对象DML语句

在源端输入如下命令:

fsrepctl -service [服务名] add-replicate-ignore [*.*/模式名.*/模式名.表名]

注:该命令是在原来指定表对象的范围上追加过滤的表,来过滤这些表的DML语句

4. 使用示例

4.1  前置条件

1. 环境介绍:

 图片.png

l 数据库版本:V009R001C002B0014

l 同步服务版本:V002R002C004B20241122

2. 对象创建:

(1)在源端创建本文所需模式:zxyt、zxyt01。具体sql语句如下:

create schema zxyt;

create schema zxyt01;

(1)在源端zxyt模式下创建表t1、t2,在源端zxyt01模式下创建表t3。具体sql语句如下:

create table zxyt.t1(id int);

create table zxyt.t2(id int);

create table zxyt01.t3(id int);

3. 源端flysync.ini文件包含如下配置:

property=replicator.filter.replicate.do=zxyt.*

该配置表示仅同步模式zxyt下所有表对象的DML语句。

4.2  操作步骤

1. 在线添加do范围解析指定表对象DML示例

(1)未执行在线添加do的范围(add-replicate-do)

① 在源端zxyt01.t3中插入数据:

insert into zxyt01.t3 values(47);

图片.png

② 查看源端kufl:

kufl -service kes_oracle_master01 list

图片.png

由上图可知,未解析zxyt01.t3的insert语句。这是由于源端flysync.ini文件配置了property=replicator.filter.replicate.do=zxyt.*,仅解析模式zxyt下所有对象的DML语句。

(2)执行在线添加do的范围(add-replicate-do)

① 在源端执行:

fsrepctl -service kes_oracle_master01 add-replicate-do zxyt01.t3

② 在源端zxyt01.t3中插入数据:

insert into zxyt01.t3 values(54);

图片.png

③ 查看源端kufl:

kufl -service kes_oracle_master01 list

图片.png

由上图可知,在线添加do命令生效,已成功解析指定对象zxyt01.t3的insert语句。

④ 查看目标端同步结果:

图片.png

由上图可知,目标端已同步往zxyt01.t3插入数据54。

2. 在线添加ignore范围过滤指定表对象DML示例

(1)未执行在线添加ignore的范围(add-replicate-ignore)

① 在源端zxyt.t1和zxyt.t2中插入数据:

insert into zxyt.t1 values(47);

图片.png

insert into zxyt.t2 values(54);

图片.png

② 查看源端kufl:

图片.png

由上图可知,zxyt.t1和zxyt.t2的insert语句已被成功解析

③ 查看目标端同步结果:

图片.png 

图片.png

由上图可知,目标端已同步往zxyt.t1插入数据47,往zxyt.t2插入数据54。

(2)执行在线添加ignore的范围(add-replicate-ignore)

① 在源端执行:

fsrepctl -service kes_oracle_master01 add-replicate-ignore zxyt.t1

fsrepctl -service kes_oracle_master01 add-replicate-ignore zxyt.t2

② 在源端zxyt.t1和zxyt.t2中插入数据:

insert into zxyt.t1 values(555);

图片.png

insert into zxyt.t2 values(777);

图片.png

③ 查看源端kufl:

图片.png

由上图可知,未解析指定对象zxyt.t1和zxyt.t2的insert语句,说明在线添加ignore命令生效,已成功过滤指定对象zxyt.t1和zxyt.t2的insert语句。

 

参考资料

《KFS特性配置&命令行工具列表》



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

评论