文档首页/ 数据治理中心 DataArts Studio/ 常见问题/ 数据集成(CDM作业)/ 使用OceanBase源端进行迁移,任务报错:query has reached the maximum query timeout,怎么办?
更新时间:2025-10-16 GMT+08:00
分享

使用OceanBase源端进行迁移,任务报错:query has reached the maximum query timeout,怎么办?

问题描述

使用OceanBase源端进行迁移,任务报错:query has reached the maximum query timeout。

图1 报错代码

原因分析

在分片过程中,CDM 将查询表字段的 MIN MAX 值作为分片字段,执行 SQL: SELECT MIN(ORA_HASH(ROWID)) FROM "HEIO"."ORDERS" WHERE 1 = 1; SELECT MAX(ORA_HASH(ROWID)) FROM "HEIO"."ORDERS" WHERE 1 = 1。在原生 Oracle 中,处理百万数据量时,执行 MIN/MAX SQL 通常耗时很短,大约 500ms 即可得到结果。然而,在 OceanBase 中处理相同数据量时,执行 MIN/MAX SQL 耗时较长,平均需要 10s 左右才能得到结果,导致 SQL 任务超时返回。

解决方案

针对这种情况,可以对OceanBase服务端进行SQL超时时间配置:SET GLOBAL ob_query_timeout = 60000000; 即60秒 = 60 * 1,000,000 微秒。

相关文档