一、DTS数据新增同步对象原理
流程分析
13:00主任务同步对象为表a,b;
14:00进行修改同步对象表c; 发起修改同步对象后,DTS会创建一个子任务(子任务运行模块和主任务相同)去运行新增的c表;
17:00子任务增量写入模块无延迟,主任务也没有延迟,那么子任务会和主任务进行合并(合并完成后主任务的同步对象就从 a,b 变更成a,b,c)
总结:14:00~17:00分,这个任务在控制台状态就会显示“修改同步对象中”.
二、案例
1.查看DTS控制台任务状态,
2.点进任务里面查看详情,查看主任务增量写入模块是否无延迟(增量写入延迟低于5秒)
i、如果“增量写入模块”存在延迟,那么子任务(新增表产生的任务)是不会合并,任务状态就会处于“修改同步对象中”,需要修复下“增量写入”模块的延迟。
如果目标库是MySQL,PG等关系型数据库,可以开启这两个参数来加快追平任务延迟(提交参数后需要点击重启任务),需要重启才能正常生效,都改为"true" ;
ii、如果增量写入没有延迟,点击左侧菜单栏“同步对象修改记录”中, 查看修改同步对象产生的任务列表是否有异常
如此案例,任务异常 “同步初始化失败”,点击查看原因
如截图,超时类报错,可以尝试重启修复。其他报错,需要具体分析处理
iii、任务无异常,同步初始化中
点击“查看初始化”
点击“结构同步详情”,“全量同步详情”,查看任务运行状态
如果任务运行状态无异常,结构,全量也无异常,那么可以判断任务是正常的;
任务正常为什么还会“修改同步对象中”?可能的原因有:
1. 子任务表中的数据量较大,全量时间较长,那么增量延迟就会比较大,追平位点需要点时间。
2.子任务正常合并也是需要一点时间,需要等待下。
3.DTS控制台不是实时刷新的,需要您刷新下控制台页面查看任务状态是否已经恢复正常了。