关键字:
KingbaseFlySync、KFS、电科金仓、过滤、DML、混合
1.功能描述
中电科金仓KFS支过滤DDL与DML混合事务中DML功能。
2.使用场景介绍
同一个事务中既有DDL也有DML,但是需要过滤掉该事务中的DML。如复制表的操作(CREATE TABLE AS)不仅有DDL,复制数据时的操作也会被数据库日志记录下来,从而被解析,此时就需要将DML过滤,避免目标端数据冲突或重复。
3.配置使用方式介绍
前置条件:
- 源端KFS已安装完成
- 源端Oracle或KingbaseES V8
配置方式:
property=replicator.extractor.dbms.keepMixDML=false|true
在开启同步 DDL 后生效,主要针对 create tableas 类型语句,同时产生 DDL 和 DML,来确认是否保留 DML,true 为保留,false 为不保留。
4.使用示例
4.1前置条件
- 源端Oracle的KFS已部署完成
- 源端存在以下表结构及数据
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操作步骤
- 修改源端配置并更新
property=replicator.extractor.dbms.keepMixDML=false
2.复制源端的t1表至t_copy3表
create table t_copy3 as select * from t1;
3.查看生成的kufl文件
4.修改源端配置并更新
property=replicator.extractor.dbms.keepMixDML=true
5.复制源端的t1表至t_copy4表
create table t_copy4 as select * from t1;
6.查看生成的kufl文件
4.3结果展示
当keepMixDML=false时,能成功过滤DDL和DML混合事务中的DML。
参考资料
《Kingbase FlySync 安装部署手册》、《Kingbase FlySync 命令行工具参考手册》