同步报错了,一直在重试【UID】:1974894787907993
【实例ID】:dtsjfh124u014mo3pi
【Job ID】:w3q12nh814ah1ia
【任务名称】:g3s-正式-rds-迁移-2023
【所有报错信息】:
CODE:DTS-RETRY-ERR-0042
错误概述:连接数据库遇到问题。
解决方案:请检查数据库是否可以正常连接。
帮助文档:https://help.aliyun.com/document_detail/462133.html#DTS-RETRY-ERR-0042
详细报错信息:将数据写入目标库异常,正在重试,重试了435次,重试了4348s,异常重试原因:
database-framework: DTS-61001: disperse error for column:id BIGINT not nullable unique as id of table:g_a128_db.send_bi, value=49101813, valueType=IntegerNumeric, disperser=com.alibaba.amp.any.mysql.disperse.impl.IntegerValue2MySQLNumericDisperser@4c2d7007, source schema=g_a128_db.send_bi{isWidthTable:false,tableEngine:InnoDB}
cause:
SQLException: No operations allowed after statement closed.
【URL】:https://dtsnew.console.aliyun.com/sync/cn-zhangjiakou
【当前时间】:2023-12-14 17:14:17
【Region】:cn-zhangjiakou
DMS同步报错了,一直在重试怎么解决?[阿里云]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
问题出在连接数据库时,具体原因是SQLException: No operations allowed after statement closed。这个错误表示在关闭语句后,不允许进行其他操作。这可能是因为在执行插入操作时,发生了异常,导致插入操作被关闭,但重试机制仍在尝试执行插入操作。
要解决这个问题,你可以尝试以下方法:
您好,原因为目标库性能原因导致批量写入数据量过大时目标库连接断开,目前适当降低了全量速率,已正常写入,但写入较慢,建议您检查下目标库性能和负载情况,看下是否有异常的指标 —该回答整理自钉群“阿里云DMS数据管理用户交流群”
从提供的报错信息来看,存在以下问题:
连接数据库遇到问题:这可能是因为数据库服务器不可达、网络问题、数据库服务未运行或者访问权限问题等。你需要检查源数据库和目标数据库的网络连接、服务状态和访问权限设置。
数据写入目标库异常:具体错误为在插入数据到目标表
g_a128_db.send_bi
的id
列时出现问题。id
列被定义为BIGINT类型,且不允许为空和重复。但在插入值49101813时出现了分散错误(disperse error)。SQL异常:报错信息中提到”No operations allowed after statement closed.”,这意味着在尝试执行SQL操作时,该语句已经被关闭,可能是由于之前的操作导致了语句关闭,或者在处理过程中存在资源释放不当的问题。
解决这个问题的步骤可能包括:
检查源数据库和目标数据库的网络连接、服务状态和访问权限设置,确保DTS服务能够正常连接和访问这两个数据库。
对于数据写入异常,需要检查源数据中的
id
值是否合法,是否存在重复或者不符合目标表定义的情况。如果源数据有问题,需要修复源数据;如果目标表定义过于严格,可能需要适当调整目标表的约束条件。对于SQL异常,需要查看相关的代码或者日志,找出导致语句关闭的原因。可能需要优化代码以确保资源正确管理和释放。