文章目录
增量同步方法
1.先同步存量数据
2.再同步增量数据(根据自增ID、日期条件)
前提条件:
1.只针对数据增长,如果老数据被update/delete则无法使用增量同步方式。
基于主键自增ID增量同步
Oracle同步Mysql演示
idno采用序列自增
添加项目
AutoIncrID-Project
添加模板
构建reader,添加增量同步SQL
select IDNO,COL1,COL2,COL3,DT,COL5,COL6,COL7,COL8,COL9,COL10 from otbs1 where idno > ${startId} and idno <= ${endId}
说明:
采用的是左开右闭 同步原则:
大于0小于等于当前最大max(idno)(0,1048576]
左闭右闭和左闭右开 都存在数据缺失和重复数据的现象!
构建writer
编辑任务
修改任务名称
辅助参数选择主键自增
-DstartId='%s' -DendId='%s'# 表名
otbs1#主键
idno
清理数据
将Mysql数据库中的otbs1数据清空
执行一次
查看实时日志,任务尚未执行完成,需要手动点击【刷新日志】
Mysql最大的idno是1048576
上面是第一次同步存量数据,下一次同步应该是大于1048576小于 最大的idno,如果单独使用datax需要自己设置,datax-web帮我们做了这个事情。
刷新页面,点击编辑
在Oracle数据中的otbs1表中添加一条数据,这是同步应该是同步(1048576,max(idno)]简言之(1048576,1048577],同步数量为1条,对吧!
插入数据
-- 初始化数据
insert into OTBS1 (IDNO,COL1, COL2, COL3, DT, COL5,COL6, COL7,COL8, COL9, COL10)
Values (1048577,'字符串1', 1, 1696248667889, sysdate,3.141592653578,'字符串2','字符串3','字符串4','字符串5','字符串6');