更新时间:2026-08-26 GMT+08:00
全量同步失败报错,关键词“Requested array size exceeds VM limit”
场景描述
Oracle->GaussDB/PostgreSQL同步任务全量阶段报错,同步日志界面提示: Requested array size exceeds VM limit.
可能原因
目标库为GaussDB、PostgreSQL链路全量同步默认用csv copy,csv copy传输数据时会将二进制类型转换成16进制并用string保存,数据长度放大两倍,然后csv接口需要传入byte数组,所以需要将string转成byte数组,string.getBytes()底层会根据字符集创建数据,如果是utf8会创建三倍长度的数组,而JAVA数组长度为int最大值2G,因此支持单行数据最大长度上限为2G/2/3 =333MB,如果单行数据超过333MB会出现上述报错。
解决方案
请参考修改任务参数调整参数“datamove_copy_mode”为“false”,false为insert模式,会引起同步速度下降。
父主题: Oracle为源实时同步