需求:根据业务时间增量上传第一次推送全部,后续一小时推送一次,推送完成后记录上一次时间点,下次推送时取上次推送时间到当前时间;
源库:mysql
目标库:oracle
问题描述:
线上服务在做数据增量上传时,获取上一次时间和当前时间,出现漏传数据情况;
分析:
1. kettle日志漏传的那个时段并没有异常,同时段推送的已完成,仅个别点遗漏,排除kettle运行失败;
2. 在数据上传的那个时间段,并没有查询到遗漏的数据,是在上传之后,那个时间才插入的数据库中;出现了车走了,人没上来的情况;经排查业务服务器与mysql服务器有40秒钟的延迟;
解决:
1.推送的结束时间取当前时间-10分钟;
2.业务应用服务器统一改为同一时间,使用同一个ntp
使用
1)安装工具:yum -y install ntp ntpdate
2)设置系统时间与网络时间同步:ntpdate cn.pool.ntp.org