中电科金仓KFS支持过滤DDL与DML混合事务中DML功能介绍与配置使用说明

91 阅读1分钟

关键字:

KingbaseFlySync、KFS、电科金仓、过滤、DML、混合

1.功能描述

中电科金仓KFS支过滤DDL与DML混合事务中DML功能。

2.使用场景介绍

同一个事务中既有DDL也有DML,但是需要过滤掉该事务中的DML。如复制表的操作(CREATE TABLE AS)不仅有DDL,复制数据时的操作也会被数据库日志记录下来,从而被解析,此时就需要将DML过滤,避免目标端数据冲突或重复。

3.配置使用方式介绍

前置条件:

  1. 源端KFS已安装完成
  2. 源端Oracle或KingbaseES V8

配置方式:

property=replicator.extractor.dbms.keepMixDML=false|true

在开启同步 DDL 后生效,主要针对 create tableas 类型语句,同时产生 DDL 和 DML,来确认是否保留 DML,true 为保留,false 为不保留。

4.使用示例

4.1前置条件

  1. 源端Oracle的KFS已部署完成
  2. 源端存在以下表结构及数据

CREATE TABLE T1 (ID INT PRIMARY KEY,C1 INT);

insert into t1 values (1,123);

insert into t1 values (2,123);

insert into t1 values (3,123);

insert into t1 values (4,123);

4.2操作步骤

  1. 修改源端配置并更新

property=replicator.extractor.dbms.keepMixDML=false

2.复制源端的t1表至t_copy3表

create table t_copy3 as select * from t1;

3.查看生成的kufl文件

image.png

4.修改源端配置并更新

property=replicator.extractor.dbms.keepMixDML=true

5.复制源端的t1表至t_copy4表

create table t_copy4 as select * from t1;

6.查看生成的kufl文件

image.png

4.3结果展示

当keepMixDML=false时,能成功过滤DDL和DML混合事务中的DML。

image.png

参考资料

《Kingbase FlySync 安装部署手册》、《Kingbase FlySync 命令行工具参考手册》