全部產品
Search
文件中心

Data Transmission Service:DTS-RETRY-ERR(0501~0600)

更新時間:Dec 18, 2025

本文為您介紹在配置DTS任務時,系統返回的報錯資訊(DTS-RETRY-ERR-0501至DTS-RETRY-ERR-0600)及其對應的解決方案。

說明

本文以Regex((.*)?)的形式表示報錯資訊中的變數。

DTS-RETRY-ERR-0501:Data too large

可能原因:Elasticsearch執行個體的記憶體不足,導致資料無法寫入。

解決方案:請升級Elasticsearch執行個體的配置,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IOException: es: DTS-10035: [parent] Data too large, data for [] would be [136509****/1.2gb], which is larger than the limit of ****

DTS-RETRY-ERR-0502:COPY with ON CONFLICT clause is not supported on AO/AOCO relation

可能原因:目標表的儲存格式為AO/AOCO(Append-Optimized/Append-Optimized Column-Oriented),而此類表不支援使用ON CONFLICT子句,導致資料無法寫入。

解決方案:修改目標表的儲存格式,然後重新啟動DTS任務

說明

若為同步執行個體,可以使用修改同步對象功能移除導致報錯的表,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-greenplum: DTS-65708: copy error, recordRange=**** FROM STDIN DELIMITER '|' ESCAPE '\' CSV QUOTE '"' DO on conflict DO update PSQLException: ERROR: COPY with ON CONFLICT clause is not supported on AO/AOCO relation. 

DTS-RETRY-ERR-0503:server closed the connection unexpectedly

可能原因:資料庫狀態異常(資料庫伺服器崩潰、資源耗盡或網路問題),導致DTS無法正常串連該資料庫。

解決方案:請確保資料庫的狀態正常、資源充足,且DTS可以正常串連該資料庫,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-greenplum: DTS-65708: copy error, recordRange={id:218227539994843****,schema:public.trade_order_status,indexName:,fields:[id BIGINT not nullable primary unique], **** FROM STDIN DELIMITER '|' ESCAPE '\' CSV QUOTE '"' DO on conflict DO update PSQLException: ERROR: Error on receive from seg73 172.31.XX.XX:XXX pid=16****: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. ****

DTS-RETRY-ERR-0504:PSQLException (.*)? could not open relation. (.*)? This can be validly caused by a concurrent delete operation on this object.

可能原因:存在其他事務等並行作業刪除了目標資料庫的對象,導致其相應的OID被刪除。

解決方案:請確保沒有其他事務在並發刪除目標對象,然後重新啟動DTS任務。若重啟後依然報錯,請聯絡雲原生資料倉儲AnalyticDB PostgreSQL版的技術支援人員進行處理。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-greenplum: DTS-65708: copy error, recordRange= **** FROM STDIN DELIMITER '|' ESCAPE '\' CSV QUOTE '"' DO on conflict DO update PSQLException: ERROR: could not open relation with OID 358**** TRACE_ID: 63033089393406**** Detail: This can be validly caused by a concurrent delete operation on this object.

DTS-RETRY-ERR-0505:MPP detected (.*)? segment failures, system is reconnected

可能原因:目標庫大規模平行處理(MPP)時出現異常,導致資料無法寫入。

解決方案:請查看目標庫日誌,排查異常並進行修複,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-greenplum: DTS-65708: copy error, recordRange={id:894369101000160****,schema:public.trade_order_header,indexName:,fields:[id BIGINT not nullable primary unique],leftValues:**** FROM STDIN DELIMITER '|' ESCAPE '\' CSV QUOTE '"' DO on conflict DO update PSQLException: ERROR: MPP detected 1 segment failures, system is reconnected TRACE_ID: ****

DTS-RETRY-ERR-0506:NotServingRegionException

可能原因:目標Lindorm執行個體的Region分區發生變化。

解決方案:重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: BatchUpdateException: Got error RetriesExhaustedException from storage engine: Server side Error:{ location: ****, name: NotServingRegionException: 6times, ...unrecorded exceptions num=4} at com.alibaba.lindorm.server.ldserver.queryprocessor.ServerCaller.getRetriesExhaustedException(ServerCaller.java:253) at ****  at com.alibaba.lindorm.sql.mysql.execution.executor.CommandExecutorTask.executeCommand(CommandExecutorTask.java:132) at com.alibaba.lindorm.sql.mysql.execution.executor.CommandExecutorTask.run(CommandExecutorTask.java:87) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627) at java.lang.Thread.run(Thread.java:882) SQLException: Got error RetriesExhaustedException from storage engine: Server side Error:{ location: ****, name: NotServingRegionException: 6times, ...unrecorded exceptions num=4} at com.alibaba.lindorm.server.ldserver.queryprocessor.ServerCaller.getRetriesExhaustedException(ServerCaller.java:253) at ****

DTS-RETRY-ERR-0507:Not allowed to execute statement that may change data on polar slave

可能原因:目標庫為PolarDB MySQL版執行個體的唯讀節點(Slave),導致資料無法寫入。

解決方案:使用PolarDB MySQL版執行個體的主節點作為目標庫,重新設定DTS任務。

報錯樣本

common(mysql-utils): DTS-10046: execute sql: CREATE TABLE if not exists `dts`.`pt****` ( `id` int(11) NOT NULL,`trx_count` bigint(20) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 failed. Create TransactionTable failed. cause: SQLException: Not allowed to execute statement that may change data on polar slave

DTS-RETRY-ERR-0508:No route info for this topic

可能原因

解決方案

目標庫中接收資料的Topic不存在。

在目標庫中建立對應的Topic,然後重新啟動DTS任務

DTS不支援該類型的RocketMQ執行個體。

使用DTS支援的RocketMQ執行個體,重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: MQClientException: No route info for this topic, ads_rom_rtm_ord_of_**** For more information, please visit the url, ****

DTS-RETRY-ERR-0509:date/time field value out of range

可能原因:目標表的日期格式與源表不相容,導致資料無法寫入。

解決方案:請根據源庫待同步或遷移資料的日期格式,修改目標表的日期格式,然後重新啟動DTS任務

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-30020: execute ****  fetchSize = 1024 PSQLException: ERROR: date/time field value out of range: "0001-2023-00 00:00:00.0" Hint: Perhaps you need a different "datestyle" setting. Where: portal "C_1" parameter $1 = '...'

DTS-RETRY-ERR-0510:Error message not available

可能原因:目標MaxCompute響應逾時。

解決方案:請確保目標MaxCompute的狀態正常且可以正常串連,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IOException: ErrorCode=Local Error, ErrorMessage=Error message not available TunnelException: ErrorCode=Local Error, ErrorMessage=Error message not available

DTS-RETRY-ERR-0511:Generated columns cannot be used in COPY

可能原因:源庫待同步或遷移的表中存在產生列,而產生列不支援COPY操作。

解決方案:修改該表的結構,然後重新設定DTS任務。

說明

若為同步執行個體,可以使用修改同步對象功能移除導致報錯的表,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-greenplum: DTS-65708: copy error, recordRange=**** BIGINT not nullable primary unique],leftValues:[null],rightValues:[null],partition:null}, copySql=**** FROM STDIN DELIMITER '|' ESCAPE '\' CSV QUOTE '"' DO on conflict DO update PSQLException: ERROR: column "computed_p****" is a generated column TRACE_ID: 489425612987842**** Detail: Generated columns cannot be used in COPY.

DTS-RETRY-ERR-0512:no partition of relation (.*)? found for row

可能原因:目標資料分割表中缺少對應的分區,導致資料無法寫入。

解決方案:請檢查分區表的定義,並請確保目標表中存在對應的分區以接收資料(建立分區或調整分區策略),然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-greenplum: DTS-65708: copy error, recordRange={id:919367515335399****,schema:np_erpc.bms_lot_def,indexName:,fields:[],leftValues:[null],rightValues:[null],partition:null}, copySql=**** FROM STDIN DELIMITER '|' ESCAPE '\' CSV QUOTE '"' DO on conflict DO update PSQLException: ERROR: no partition of relation "bms_****" found for row TRACE_ID: 280630901049587**** TRACE_ID: 280630901049587**** Detail: Partition key of the failing row contains (invaliddate) =****

DTS-RETRY-ERR-0514:terminating connection due to conflict with recovery

可能原因:源庫庫狀態異常(資料庫伺服器崩潰、資源耗盡或網路問題),導致DTS無法正常串連該資料庫。

解決方案:請確保源庫的狀態正常、資源充足,且DTS可以正常串連該資料庫,然後重新啟動DTS任務

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-30020: execute sql**** fetchSize = 1024 PSQLException: FATAL: terminating connection due to conflict with recovery Detail: User query might have needed to see row versions that must be removed.

DTS-RETRY-ERR-0515:xlog flush request (.*)? is not satisfied

可能原因:源庫庫狀態異常(資料庫伺服器崩潰、資源耗盡或網路問題),導致DTS無法正常串連該資料庫。

解決方案:請確保源庫的狀態正常、資源充足,且DTS可以正常串連該資料庫,然後重新啟動DTS任務

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-30020: execute sql**** fetchSize = 1024 PSQLException: ERROR: xlog flush request 9FA0/858A**** is not satisfied --- flushed only to 9F92/FF1B**** Where: writing block 433758 of relation ****

DTS-RETRY-ERR-0516:missing chunk number (.*)? for toast value (.*)? in pg_toast_(.*)?

可能原因:源庫庫狀態異常(資料庫伺服器崩潰、資源耗盡或網路問題),導致DTS無法正常串連該資料庫。

解決方案:請確保源庫的狀態正常、資源充足,且DTS可以正常串連該資料庫,然後重新啟動DTS任務

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-30020: execute sql:**** fetchSize = 1024 PSQLException: ERROR: missing chunk number 0 for toast value 1181**** in pg_toast_1**** 

DTS-RETRY-ERR-0517:could not read block (.*)? in file

可能原因:源庫庫狀態異常(資料庫伺服器崩潰、資源耗盡或網路問題),導致DTS無法正常串連該資料庫。

解決方案:請確保源庫的狀態正常、資源充足,且DTS可以正常串連該資料庫,然後重新啟動DTS任務

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-30020: execute sql:**** fetchSize = 1024 PSQLException: ERROR: could not read block 601620 in file "pg_tbl****": read only 0 of 8192 bytes

DTS-RETRY-ERR-0518:Canceling query because of high VMEM usage.

可能原因:源庫庫狀態異常(資料庫伺服器崩潰、資源耗盡或網路問題),導致DTS無法正常串連該資料庫。

解決方案:請確保源庫的狀態正常、資源充足,且DTS可以正常串連該資料庫,然後重新啟動DTS任務

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error PSQLException: ERROR: Canceling query because of high VMEM usage. Used: 413MB, available 571MB, red zone: 5160MB (runaway_cleaner.c:200) ****

DTS-RETRY-ERR-0519:PSQLException: ERROR: lock not available

可能原因:源庫存在死結,導致DTS無法讀取資料。

解決方案:請確保源庫的狀態正常無死結,且DTS可以正常串連該資料庫,然後重新啟動DTS任務

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error PSQLException: ERROR: lock not available

DTS-RETRY-ERR-0520:ERR DB index is out of range

可能原因:目標Redis執行個體中接收資料的DB不存在。

解決方案:重新設定DTS任務,並使用庫表列名映射功能將資料對應到目標Redis中存在的DB。

說明

若為同步執行個體,可以嘗試使用修改同步對象功能移除導致報錯的DB,再同時使用修改同步對象庫表列名映射功能將移除的DB添加回同步對象並映射。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: JedisDataException: ERR DB index is out of range

DTS-RETRY-ERR-0521:ERR DUMP payload version or checksum are wrong

可能原因:源Redis執行個體與目標Redis執行個體間的版本差異較大,無法僅遷移源Redis執行個體的全量資料。

解決方案:重新設定DTS任務,且該任務同時包含全量和增量任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: JedisDataException: ERR DUMP payload version or checksum are wrong

DTS-RETRY-ERR-0522:Aggregation stage not supported (.*)? changeStream

可能原因:未開啟變更流Change Streams的MongoDB為源庫時,遷移方式配置為ChangeStream

解決方案:給該MongoDB資料庫開啟變更流Change Streams,然後重新設定DTS任務。

說明

若該MongoDB資料庫已開啟Oplog日誌,您可以重新設定DTS任務,且將遷移方式配置為Oplog

報錯樣本

DTS-52700: Command failed with error 304: 'Aggregation stage not supported: '$changeStream'' on server mongo.overseauat.starcharge.com:6669. The full response is {"ok": 0.0, "code": 304, "errmsg": "Aggregation stage not supported: '$changeStream'", "operationTime": **** cause: MongoCommandException: Command failed with error 304: 'Aggregation stage not supported: '$changeStream'' on server mongo.overseauat.starcharge.com:6669. The full response is {"ok": 0.0, "code": 304, "errmsg": "Aggregation stage not supported: '$changeStream'", "operationTime":****

DTS-RETRY-ERR-0523:Timed out after

可能原因:DTS與資料庫的網路通訊逾時。

解決方案:請確保資料庫的狀態正常,且DTS可以正常串連該資料庫(檢查資料庫的串連設定、白名單設定、帳號和密碼的正確性等),然後重新啟動DTS任務

報錯樣本

DTS-52700: Timed out after 3600000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=REPLICA_SET, servers=**** cause: MongoTimeoutException: Timed out after 3600000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is ****

DTS-RETRY-ERR-0524:Invalid object name

可能原因

解決方案

目標表不存在。

請確保目標庫狀態正常且可以正常串連、目標庫中用於接收資料的表存在、DTS任務所使用的目標庫帳號許可權充足,然後重新啟動DTS任務

DTS任務使用的目標庫帳號許可權不足。

  • 方法一:根據報錯資訊給資料庫帳號授予足夠的許可權,然後重新啟動DTS任務

  • 方法二:使用許可權充足的資料庫帳號配置DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52340: Serial transaction log failed SQLServerException: Invalid object name ****

DTS-RETRY-ERR-0525:Not support fetch backup log MissActiveLogException: ERROR_MISS_TRANSACTION_LOG

可能原因:源庫備份日誌不支援讀取。

解決方案:請聯絡源庫的管理員(DBA)進行處理,然後重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: SQLServerRecordExtractor Init Error: sqlserver-reader: DTS-52061: Failed to seek sqlserver position CriticalAnyAllException: sqlserver-reader: DTS-52061: Failed to seek sqlserver position CriticalAnyAllException: sqlserver-reader: DTS-52411: Not support fetch backup log MissActiveLogException: ERROR_MISS_TRANSACTION_LOG(timestamp:174184****)

DTS-RETRY-ERR-0526:Miss backup log

可能原因:源庫備份日誌已被清理。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: SQLServerRecordExtractor Init Error: sqlserver-reader: DTS-52061: Failed to seek sqlserver position CriticalAnyAllException: sqlserver-reader: DTS-52061: Failed to seek sqlserver position CriticalAnyAllException: sqlserver-reader: DTS-52412: Miss backup log

DTS-RETRY-ERR-0527:is invalid as a backup device name for the specified device type. Reissue the BACKUP statement with a valid file name and device type

可能原因:源庫備份日誌已被清理。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-52110: SQLServerRecordExtractor Init Error: sqlserver-reader: DTS-52061: Failed to seek sqlserver position cause: CriticalAnyAllException: sqlserver-reader: DTS-52061: Failed to seek sqlserver position CriticalAnyAllException: sqlserver-reader: DTS--0001: execute sql select top(1) [Current LSN], Operation, Context, CAST([Begin Time] as DATETIME2) from [CarlsbergReport].[sys].[fn_dump_dblog]**** where [Begin Time] is not null failed, case by common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds SQLServerException: The file name "****" is invalid as a backup device name for the specified device type. Reissue the BACKUP statement with a valid file name and device type.

DTS-RETRY-ERR-0528:Cannot replicate because the master purged required binary logs

可能原因:源庫的Binlog已被清除。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: Cannot replicate because the master purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new slave from backup. Consider increasing the master's binary log expiration period. The GTID sets and the missing purged transactions are too long to print in this message. For more information, please see the master's error log or the manual for GTID_SUBTRACT SQLException: Cannot replicate because the master purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new slave from backup. Consider increasing the master's binary log expiration period. The GTID sets and the missing purged transactions are too long to print in this message. For more information, please see the master's error log or the manual for GTID_SUBTRACT CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: Cannot replicate because the master purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new slave from backup. Consider increasing the master's binary log expiration period. The GTID sets and the missing purged transactions are too long to print in this message. For more information, please see the master's error log or the manual for GTID_SUBTRACT SQLException: Cannot replicate because the master purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new slave from backup. Consider increasing the master's binary log expiration period. The GTID sets and the missing purged transactions are too long to print in this message. For more information, please see the master's error log or the manual for GTID_SUBTRACT

DTS-RETRY-ERR-0529:Cannot replicate because the source purged required binary logs

可能原因:源庫的Binlog已被清除。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: Cannot replicate because the source purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new replica from backup. Consider increasing the source's binary log expiration period. The GTID set sent by the replica is **** and the missing transactions are **** SQLException: Cannot replicate because the source purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new replica from backup. Consider increasing the source's binary log expiration period. ****

DTS-RETRY-ERR-0530:Client requested master to start replication from position > file size

可能原因:源庫的Binlog異常,導致DTS無法進行解析。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: Client requested master to start replication from position > file size SQLException: Client requested master to start replication from position > file size CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: Client requested master to start replication from position > file size SQLException: Client requested master to start replication from position > file size

DTS-RETRY-ERR-0531:java.sql.SQLException: could not find next log

可能原因:源庫的Binlog異常,導致DTS無法進行解析。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: could not find next log; the first event '' at 4, the last event read from **** 

DTS-RETRY-ERR-0532:Could not open log file

可能原因:源庫的Binlog異常,導致DTS無法進行解析。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: Could not open log file SQLException: Could not open log file CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: Could not open log file SQLException: Could not open log file

DTS-RETRY-ERR-0533:mysql row image valid failed, miss

可能原因:源庫的Binlog異常,導致DTS無法進行解析。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52230: mysql-reader: DTS-52230: mysql row image valid failed, miss 2, event: Header:**** CriticalAnyAllException: mysql-reader: DTS-52230: mysql-reader: DTS-52230: mysql row image valid failed, miss 2, event: Header:**** CriticalAnyAllException: mysql-reader: DTS-52230: mysql row image valid failed, miss 2, event: Header:****

DTS-RETRY-ERR-0534:Valid type fail

可能原因:源庫的Binlog異常,導致DTS無法進行解析。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52230: Valid type fail, Column:planOrdinal,Type:5 cause: IllegalArgumentException: Valid type fail, Column:planOrdinal,Type:5 CriticalAnyAllException: mysql-reader: DTS-52230: Valid type fail, Column:planOrdinal,Type:5 IllegalArgumentException: Valid type fail, Column:planOrdinal,Type:5

DTS-RETRY-ERR-0535:Transaction entry load failed FileNotFoundException

可能原因:DTS處理大事務處時出現異常。

解決方案:重新啟動DTS任務若異常無法解決,請聯絡阿里雲技術支援人員處理。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: oracle-reader: DTS-52330: Transaction entry merge failed CriticalAnyAllException: oracle-reader: DTS-52330: Transaction entry load failed FileNotFoundException: ****

DTS-RETRY-ERR-0536:Binary log is not open

可能原因:源庫未開啟Binlog。

解決方案:請開啟並正確配置源庫的Binlog,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: Binary log is not open SQLException: Binary log is not open CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: Binary log is not open SQLException: Binary log is not open

DTS-RETRY-ERR-0537:Database connection failed when reading from copy PSQLException: Database connection failed when reading from copy EOFException: null

可能原因:PostgreSQL原生邏輯複製協議具備一項心跳機制,若超過wal_sender_timeout時間未收到心跳訊號,系統將會中斷連線。在過濾大量不需要同步的事務後,未能及時檢測心跳,直接判斷上次心跳時間是否超出wal_sender_timeout,從而導致儘管下遊發送了心跳,系統仍然認為下遊直連已中止。對於下遊(即DTS而言),這意味著在正常運行過程中,串連突然被中斷。可以通過檢查源庫錯誤記錄檔中是否存在terminating walsender process due to replication timeout來判斷此問題是否為導致串連中斷的原因。

該問題已在PostgreSQL 15中得到修複,具體修複內容為:Fix for unexpected timeout error

解決方案:在源庫中執行如下命令修改該參數為0規避該問題,然後重新啟動DTS任務

ALTER SYSTEM SET wal_sender_timeout = '0';
SELECT pg_reload_conf();

報錯樣本

DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds IOException: org.postgresql.util.PSQLException: Database connection failed when reading from copy PSQLException: Database connection failed when reading from copy EOFException: null

DTS-RETRY-ERR-0538:[polardbx]please try later

可能原因:源庫CDC功能異常。

解決方案

  • 方法一:請聯絡源庫的管理員(DBA)進行處理,然後重新啟動DTS任務

  • 方法二:重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: [19a7407da540****][10.32.XX.XX:XXX][polardbx]please try later... SQLException: [19a7407da540****][10.32.XX.XX:XXX][polardbx]please try later... CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: ****

DTS-RETRY-ERR-0539:canceling statement due to user request

可能原因:DTS在資料庫中執行SQL語句逾時。

解決方案

報錯樣本

DTS-52110: PostgresRecordExtractor Init Error: postgresql-reader: DTS-52511: alter replica identity thread exception, readerContext=ReaderContext [****] cause: CriticalAnyAllException: postgresql-reader: DTS-52511: alter replica identity thread exception ExecutionException: postgresql-reader: DTS--0001: alter table identity: "****"/d failed, case by common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to user request CriticalAnyAllException: postgresql-reader: DTS--0001: alter table identity: "****"/d failed, case by common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to user request

DTS-RETRY-ERR-0541: Only tables can be added to publications

可能原因:同步或遷移對象中包含外表。

解決方案:重新設定DTS任務,任務對象中不包含外表。

說明

若為同步執行個體,可以使用修改同步對象功能移除外表。

報錯樣本

DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed CriticalAnyAllException: postgresql-reader: DTS-52514: create publication error for dts_sync_h55r44gha27**** CriticalAnyAllException: postgresql-reader: DTS--0001: execute sql alter publication "****" add table "public"."****" failed, case by common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: "****" is not a table Detail: Only tables can be added to publications.

DTS-RETRY-ERR-0542:SSLProtocolException: Received fatal alert: unexpected_message

可能原因:源庫網路不穩定或網路發生變化,導致DTS與源庫的串連出現異常。

解決方案:請確保DTS可以正常串連並讀取源庫的資料,然後重新啟動DTS任務

報錯樣本

DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds IOException: org.postgresql.util.PSQLException: Database connection failed when reading from copy PSQLException: Database connection failed when reading from copy SSLProtocolException: Received fatal alert: unexpected_message

DTS-RETRY-ERR-0543:seek timestamp for topic (.*)? with timestamp (.*)? failed NoSuchElementException: null

可能原因:TiDB資料庫的增量資料,無法複製到目標Topic中ID為0的分區,或該分區中儲存的位點資料異常。

解決方案:請確保目標Topic已正常儲存TiDB的增量資料(ID為0的分區中已儲存相應的增量資料,且位點資料正常),然後重新啟動DTS任務若異常無法解決,請聯絡阿里雲技術支援人員處理。

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds RuntimeException: seek timestamp for topic [****] with timestamp [174186187****] failed NoSuchElementException: null

DTS-RETRY-ERR-0544:Can’t find primary key info for target table

可能原因:目標表缺少主鍵。

解決方案:根據報錯資訊和源庫的表結構,給目標表添加主鍵,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: replicate-adb30: DTS-70020: Can’t find primary key info for target table: `****`

DTS-RETRY-ERR-0545:Could not create connection to database server

可能原因:DTS無法串連目標庫。

解決方案:請確保目標庫的狀態正常且可以正常串連,然後重新啟動DTS任務

報錯樣本

Connect Target DB failed. cause by [Could not create connection to database server. Attempted reconnect 1 times. Giving up.] About more information in ****

DTS-RETRY-ERR-0546:out of range for decimal

可能原因:由於目標庫的欄位類型與源庫不相容,導致資料無法寫入到目標庫。

解決方案:請根據源庫待同步或遷移欄位的類型,修改目標表的欄位類型,然後重新啟動DTS任務

報錯樣本

DTS-077100: Record Replicator error in table ****.****. cause by [java.sql.SQLException: [15018, 2025042117135301001****] (Column => VIP_MEMBER_LEVEL_INDICATOR.INDEX_VALUE), Value[10000****.36] out of range for decimal(10, 2)] About more information in ****

DTS-RETRY-ERR-0547:Can't find any matching password for myadmin

可能原因:DTS任務使用的目標資料庫的帳號或密碼錯誤。

解決方案

  • 資料庫密碼錯誤:進入DTS執行個體控制台的基本資料頁面,在目標端地區單擊修改密碼,糾正資料庫的密碼,然後重新啟動DTS任務

  • 資料庫帳號錯誤:使用正確的資料庫帳號和密碼,重新設定DTS任務。

報錯樣本

java.sql.SQLException: [10000, 2025032923342501002000****] Can't find any matching password for myadmin

DTS-RETRY-ERR-0548:Throwable occurs in QueueStorage

可能原因:目標AnalyticDB MySQL版叢集異常,導致資料無法寫入到目標庫。

解決方案:請聯絡AnalyticDB MySQL版的技術支援人員進行處理,然後重新啟動DTS任務

報錯樣本

DTS-077501: Target Instance error in table ****.****, Please contact ADS support. cause by [java.sql.SQLException: Error Code:60008, RealtimeDataFailedException:Insert failed with 1 data records: [partition=9] Throwable occurs in QueueStorage: null] About more information in ****

DTS-RETRY-ERR-0549:database (.*)? does not exist

可能原因:目標庫不存在,導致資料無法寫入。

解決方案:根據報錯資訊手動建立目標庫,然後重新啟動DTS任務

說明

建議重新設定DTS任務,然後使用DTS同步或遷移庫表結構(同步執行個體的同步類型需勾選庫表結構同步,遷移執行個體的遷移類型需勾選庫表結構遷移)。

報錯樣本

org.postgresql.util.PSQLException: FATAL: database "****" does not exist

DTS-RETRY-ERR-0550:The connection attempt failed

可能原因:DTS無法串連資料庫。

解決方案:請確保資料庫執行個體的狀態正常,且DTS可以正常串連該資料庫(檢查資料庫的串連設定、白名單設定、帳號和密碼的正確性等),然後重新啟動DTS任務

報錯樣本

org.postgresql.util.PSQLException: The connection attempt failed.

DTS-RETRY-ERR-0551:RecordBatchTooLargeException: The request included message batch larger than the configured segment size on the server

可能原因:寫入Kafka單條訊息體的大小超過目標端Kafka設定的最大值。

解決方案

  • 同步執行個體:請自行確認該訊息所對應的大欄位,然後使用修改同步對象功能移除或過濾該大欄位。

  • 遷移執行個體:請自行確認該訊息所對應的大欄位,然後重新設定遷移任務,並從待遷移的對象中過濾該大欄位。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: ExecutionException: com.****.****.common.errors.RecordBatchTooLargeException: The request included message batch larger than the configured segment size on the server. RecordBatchTooLargeException: The request included message batch larger than the configured segment size on the server.

DTS-RETRY-ERR-0553:was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction

可能原因:目標庫存在死結,導致資料無法寫入。

解決方案:請聯絡資料庫管理員(DBA)恢複資料庫,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 2 execute transaction has excess max transaction retry time [64] cause:transaction-replicate: DTS-70004: EXEC statement failed, may try it again RecoverableAnyAllException: transaction-replicate: DTS-70004: EXEC statement failed, may try it again SQLServerException: Transaction (Process ID 73) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

DTS-RETRY-ERR-0554:No operations allowed after connection closed

可能原因:資料庫連接被關閉,導致DTS無法串連到資料庫執行個體。

解決方案:根據報錯資訊和資料庫日誌進行排查和處理,然後重新啟動DTS任務

報錯樣本

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.

DTS-RETRY-ERR-0555:The server is currently in offline mode

可能原因:資料庫當前處於離線模式,無法處理請求。

解決方案:請聯絡資料庫管理員(DBA)恢複資料庫,然後重新啟動DTS任務

報錯樣本

java.sql.SQLException: The server is currently in offline mode

DTS-RETRY-ERR-0556:maximum (.*)? partitions allowed, or more than (.*)? partitions created

可能原因:DTS在目標庫寫入資料時,目標表的Partition超出了限制。

解決方案:根據報錯資訊進行相應的處理,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: transaction-replicate: DTS-70004: execute upload failed, may try it again TransactionReplicateException: transaction-replicate: DTS-70003: 3 execute transaction has excess max transaction retry time [100] cause:Catalog Service Failed. ErrorCode:105. ErrorMessage:ODPS-0110061: Failed to run ddltask - Modify DDL meta encounter exception : ODPS-0123031:ODPS partition exception - maximum 60000 partitions allowed, or more than 10240 partitions created OdpsException: Catalog Service Failed. ErrorCode:105. ErrorMessage:ODPS-0110061: Failed to run ddltask - Modify DDL meta encounter exception : ODPS-0123031:ODPS partition exception - maximum 60000 partitions allowed, or more than 10240 partitions created

DTS-RETRY-ERR-0557:RuntimeException (.*)? not support

可能原因:DTS在資料庫中執行SQL命令時,出現異常。

解決方案:請檢查資料庫的狀態和日誌,並進行相應的修複,然後重新啟動DTS任務

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds RuntimeException: not support

DTS-RETRY-ERR-0558:The server has been locked

可能原因:資料庫執行個體已被鎖定。

解決方案:請聯絡資料庫管理員(DBA)恢複資料庫,然後重新啟動DTS任務

報錯樣本

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: The server has been locked

DTS-RETRY-ERR-0559:missing column (.*)? in source record

可能原因:由於資料庫本身的限制,導致DTS無法採集到源庫的部分DDL操作(源庫刪除列的操作未被同步到目標庫),進而導致在同步或遷移後續增量變更時,源庫與目標庫的列無法對應。

解決方案:在業務允許的前提下,清空目標庫中DTS同步或遷移過去的資料,然後重新設定DTS任務。

說明

若為同步執行個體,可以嘗試使用修改同步對象功能移除導致報錯的表,再清空目標資料庫中該表的DTS同步或遷移過去的資料,然後再使用修改同步對象功能將移除的表添加回同步對象。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: replicate-postgresql: DTS-70029: missing column was_control in source record

DTS-RETRY-ERR-0560:Syntax parse error in condition, conditionSQL

可能原因:DTS執行個體設定的過濾條件不正確。

解決方案

  • 同步執行個體:修改過濾條件中的過濾語句,並重新啟動DTS任務。更多資訊,請參見後續操作

  • 遷移執行個體:重新啟動DTS任務,若執行個體無法恢複,請重新設定DTS任務。

若異常無法解決,請聯絡阿里雲技術支援人員處理。

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: capture-dstore: DTS-51004: Syntax parse error in condition, conditionSQL:****

DTS-RETRY-ERR-0561:DbException: Table (.*)? not found

可能原因:DTS執行個體設定的過濾條件不正確。

解決方案

  • 同步執行個體:修改過濾條件中的過濾語句,並重新啟動DTS任務。更多資訊,請參見後續操作

  • 遷移執行個體:重新啟動DTS任務,若執行個體無法恢複,請重新設定DTS任務。

若異常無法解決,請聯絡阿里雲技術支援人員處理。

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds DbException: Table "****" not found [42102-193] JdbcSQLException: ****

DTS-RETRY-ERR-0562:ERR syntax error

可能原因:源和目標Redis版本不相容。

解決方案:檢查源和目標Redis版本,並進行相應的處理(如升級)以使其相容性,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: JedisDataException: ERR syntax error

DTS-RETRY-ERR-0563:No enum constant com.alibaba.amp.any.redis.writer.ExtendRedisCommand.

可能原因:DTS無法解析源Redis執行個體中的執行命令。

解決方案:重新啟動DTS任務若異常無法解決,請聯絡阿里雲技術支援人員處理。

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds IllegalArgumentException: No enum constant com.alibaba.amp.any.redis.writer.ExtendRedisCommand.FLUSHDB_XSJ

DTS-RETRY-ERR-0564:full replication not allowed in INC mode

可能原因:DTS無法採集反向同步任務的增量資料。

解決方案重設並重新設定該反向同步任務。

報錯樣本

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds RedisServerException: redis: DTS-10015: redis: DTS-10009: redis: DTS-10013: full replication not allowed in INC mode. RedisCannotRetryException: redis: DTS-10009: redis: DTS-10013: full replication not allowed in INC mode. RedisReFullSyncException: redis: DTS-10013: full replication not allowed in INC mode.

DTS-RETRY-ERR-0565:TableStoreException: The AccessKeyID is disabled

可能原因:目標庫為Table Store(Tablestore)的任務,其配置的AccessKey已被禁用。

解決方案:重新啟用該AccessKey,然後重新啟動DTS任務;或者使用有效AccessKey重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: ClientException: [ErrorCode]:OTSAuthFailed, [Message]:The AccessKeyID is disabled., [RequestId]:00063****-50eb-a71e-c97a-261a0481****, [TraceId]:092f****-e3fa-8066-efc4-0c1ce00****, [HttpStatus:]403 TableStoreException: The AccessKeyID is disabled. TableStoreException: The AccessKeyID is disabled.

DTS-RETRY-ERR-0566:TableStoreException: You have no permission to access the requested resource, please contact the resource owner.

可能原因:目標庫為Table Store(Tablestore)的任務,其配置的AccessKey許可權不足。

解決方案:請確保AccessKey所屬的阿里雲帳號有Tablestore的寫入許可權,然後重新啟動DTS任務

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: ClientException: [ErrorCode]:OTSNoPermissionAccess, [Message]:You have no permission to access the requested resource, please contact the resource owner., [RequestId]:0006****-65b5-b7da-c97a-261a112****, [TraceId]:f2a6****-ce44-d9bf-e4bf-205b7d92****, [HttpStatus:]403 TableStoreException: You have no permission to access the requested resource, please contact the resource owner. TableStoreException: You have no permission to access the requested resource, please contact the resource owner.

DTS-RETRY-ERR-0567:Unable to parse the date

可能原因:源庫中待同步或遷移對象中存在無效的日期格式的資料,導致DTS無法將其轉換為整數或有效日期格式。

解決方案:請根據報錯資訊和資料格式要求修改源庫的資料,然後重新設定DTS任務。

報錯樣本

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: tablestore: DTS-11001: Failed to disperse value 0000-00-00 00:00:00.0 of type {typeName:UNKNOWN, typeId:12, isLobType:false,}tablestore: DTS-11001: Can not convert value: 0000-00-00 00:00:00.0 to Integer.java.text.ParseException: Unable to parse the date: 0000-00-00 00:00:00.0

DTS-RETRY-ERR-0569:503 Service Temporarily Unavailable

可能原因:目標端ClickHouse叢集的某個節點健康狀態異常或暫時不可用,導致服務無法訪問。

解決方案:請檢查目標端ClickHouse執行個體的健康狀態,確保所有節點均正常運行。問題修複後,然後重新啟動DTS任務

報錯樣本

java.sql.BatchUpdateException: <center><h1>503 Service Temporarily Unavailable</h1></center> <hr/><center>nginx</center> , server ClickHouseNode [uri=http://10.xxx.xxx.xxx:xxx/default]@-477967xxx

DTS-RETRY-ERR-0570:違反外鍵約束

可能原因:向目標PostgreSQL資料庫寫入資料時,違反了外鍵(Foreign Key)約束。這通常是因為目標庫仍然存在使用限制,並未使用同步帳號設定session_replication_role參數為replica,導致在資料匯入期間外鍵約束仍然生效。

解決方案:請為用於資料同步的目標資料庫帳號設定session_replication_role參數,以在同步期間臨時禁用外鍵約束。問題修複後,然後重新啟動DTS任務

報錯樣本

common: DTS-100047: retry 60 times, 601 seconds, which exceed the supposed 600 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-q7bj8hxd128xxx */insert into "public"."ApprovalFlow"(xxx) values (xxx) on conflict do nothing,currentRow:xxx, 
reason: Batch entry 0 /* DTS-full-q7bj8hxd128xxx */insert into "public"."ApprovalFlow"(xxx) values (xxx) on conflict do nothing was aborted: 錯誤: 插入或更新表 "ApprovalFlow" 違反外鍵約束 "FK_ApprovalFlow_User_CreateUserId" Detail: 索引值對(CreateUserId)=(8219xxxx-e9eb-41d8-9fa8-40cee856xxxx)沒有在表"User"中出現. 

DTS-RETRY-ERR-0571:因為資料庫副本不是PRIMARY或SECONDARY角色。僅當資料庫副本是PRIMARY或SECONDARY角色時才允許串連到可用性資料庫

可能原因:DTS嘗試串連的SQL Server可用性資料庫副本,其角色既不是主副本(PRIMARY)也不是輔助副本(SECONDARY),導致串連被拒絕。

解決方案:請檢查您的SQL Server AlwaysOn High Availability Group配置,確保DTS串連的資料庫副本處於正常的PRIMARY或SECONDARY角色。修複資料庫狀態後,重新啟動DTS任務

報錯樣本

com.microsoft.sqlserver.jdbc.SQLServerException: 無法訪問可用性資料庫“SIT_MSCRM”,因為資料庫副本不是 PRIMARY 或 SECONDARY 角色。僅當資料庫副本是 PRIMARY 或 SECONDARY 角色時才允許串連到可用性資料庫。

DTS-RETRY-ERR-0572:Access Mode is AllDenied

可能原因:用於資料同步的帳號沒有訪問目標端MaxCompute(原ODPS)表的odps:Describe許可權。

解決方案:請為DTS任務配置的RAM使用者或角色授予訪問目標MaxCompute表的相應許可權。授權完成後,重新啟動DTS任務

報錯樣本

DTS-077000: Record Replicator Unknown error. cause by [ODPS-0420095: Access Denied - Authorization Failed [4093], You have NO privilege 'odps:Describe' on {acs:odps:*:projects/xxx/tables/xxx}. Access Mode is AllDenied

DTS-RETRY-ERR-0573:An error occurred when accessing your server. Please retry or report your issues.

可能原因:DTS在訪問源端MySQL資料庫時發生未知異常。這可能是由於網路波動、資料庫瞬時不可用或配置問題引起的。

解決方案:請檢查源端MySQL資料庫的運行狀態、網路連接以及防火牆設定,確保DTS伺服器可以正常訪問。確認無誤後,重新啟動DTS任務

報錯樣本

java.sql.SQLException: An error occurred when accessing your server. Please retry or report your issues.

DTS-RETRY-ERR-0574:At most (.*)? new range partitions can be automatically created at once for interval partitioning

可能原因:目標資料庫(如PolarDB)的表採用了區間分區(Interval Partitioning),但在資料寫入過程中,需要一次性自動建立的分區數量超過了資料庫設定的上限。

解決方案:請調整目標資料庫的相關參數,增加單次可自動建立的分區數量上限,或提前手動建立所需分區。修改資料庫配置後,重新啟動DTS任務

報錯樣本

DTS-30011: currentRunningSQL: /* DTS-full-v0cg6k8717xxxx */insert ignore into `xxxx`.`xxxx`() VALUES (),currentRow:xxx,
reason: At most xxx new range partitions can be automatically created at once for interval partitioning. cause: BatchUpdateException: At most 30 new range partitions can be automatically created at once for interval partitioning. SQLException: At most xxx new range partitions can be automatically created at once for interval partitioning.

DTS-RETRY-ERR-0575:Authentication Failed For (.*)? maybe username or password is incorrect

可能原因:DTS串連來源資料庫時使用的使用者名稱或密碼不正確,導致身分識別驗證失敗。

解決方案:請檢查DTS任務中配置的源庫串連資訊,確認使用者名稱和密碼是否正確,特別是近期是否對資料庫密碼進行過修改。更新為正確的串連資訊後,重啟DTS任務。

報錯樣本

java.sql.SQLException: Authentication Failed For RDS maybe username or password is incorrect

DTS-RETRY-ERR-0576:because the database replica is not in the PRIMARY or SECONDARY role. Connections to an availability database is permitted only when the database replica is in the PRIMARY or SECONDARY role

可能原因:DTS嘗試串連的SQL Server可用性資料庫副本,其角色既不是主副本(PRIMARY)也不是輔助副本(SECONDARY),導致串連被拒絕。

解決方案:請檢查您的SQL Server AlwaysOn High Availability Group配置,確保DTS串連的資料庫副本處於正常的PRIMARY或SECONDARY角色。修複資料庫狀態後,重新啟動DTS任務

報錯樣本

com.microsoft.sqlserver.jdbc.SQLServerException: Unable to access availability database 'xxx' because the database replica is not in the PRIMARY or SECONDARY role. Connections to an availability database is permitted only when the database replica is in the PRIMARY or SECONDARY role. Try the operation again later. ClientConnectionId:f2f1xxxx-c943-4348-95b3-520074baxxxx

DTS-RETRY-ERR-0577:binlog controller is not exist, binlog dump

可能原因:源端AnalyticDB MySQL 3.0執行個體的Binlog Controller組件異常,導致DTS無法拉取增量日誌。

解決方案:此問題源於資料庫內部組件。請聯絡AnalyticDB MySQL的支援人員進行排查。

報錯樣本

DTS-52110: MySQLRecordExtractor Init Error: mysql-reader: DTS-52060: initial fetch position failed cause: CriticalAnyAllException: mysql-reader: DTS-52060: initial fetch position failed IOException: java.sql.SQLException: [40089, 2025070914xxxx0210170500400315135xxxx] binlog controller is not exist, binlog dump request is not supported SQLException: [40089, 2025070914xxxx0210170500400315135xxxx] binlog controller is not exist, binlog dump request is not supported

DTS-RETRY-ERR-0578:binlog file adb-binlog.log is not a binlog file

可能原因:將AnalyticDB MySQL 3.0執行個體作為源端時,在建立DTS任務時,錯誤地選擇了MySQL作為源執行個體類型。

解決方案:請重新建立DTS任務,並在選擇源端類型時,請選擇AnalyticDB MySQL 3.0類型進行接入。

報錯樣本

DTS-100047: retry 1714 times, 43203826 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: MySQLRecordExtractor Init Error: mysql-reader: DTS-52060: initial fetch position failed CriticalAnyAllException: mysql-reader: DTS-52060: initial fetch position failed IOException: java.sql.SQLException: [40087, 20250718144xxxx100090801240315125xxxx] binlog file adb-binlog.log is not a binlog file SQLException: [40087, 20250718144xxxx100090801240315125xxxx] binlog file adb-binlog.log is not a binlog file

DTS-RETRY-ERR-0579:binlog file adb-klog.log is not a binlog file

可能原因:將AnalyticDB MySQL 3.0執行個體作為源端時,在建立DTS任務時,錯誤地選擇了MySQL作為源執行個體類型。

解決方案:請重新建立DTS任務,並在選擇源端類型時,請選擇AnalyticDB MySQL 3.0類型進行接入。

報錯樣本

DTS-100047: retry 1730 times, 43217716 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: MySQLRecordExtractor Init Error: mysql-reader: DTS-52060: initial fetch position failed CriticalAnyAllException: mysql-reader: DTS-52060: initial fetch position failed IOException: java.sql.SQLException: [40087, 20250718144xxxx100090801240315125xxxx] binlog file adb-klog.log is not a binlog file SQLException: [40087, 20250718144xxxx100090801240315125xxxx] binlog file adb-klog.log is not a binlog file

DTS-RETRY-ERR-0580:binlog file adb-system.log is not a binlog file

可能原因:將AnalyticDB MySQL 3.0執行個體作為源端時,在建立DTS任務時,錯誤地選擇了MySQL作為源執行個體類型。

解決方案:請重新建立DTS任務,並在選擇源端類型時,請選擇AnalyticDB MySQL 3.0類型進行接入。

報錯樣本

DTS-100047: retry 1706 times, 43206894 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: MySQLRecordExtractor Init Error: mysql-reader: DTS-52060: initial fetch position failed CriticalAnyAllException: mysql-reader: DTS-52060: initial fetch position failed IOException: java.sql.SQLException: [40087, 20250718144xxxx100090801240315125xxxx] binlog file adb-system.log is not a binlog file SQLException: [40087, 20250718144xxxx100090801240315125xxxx] binlog file adb-system.log is not a binlog file

DTS-RETRY-ERR-0581:binlog is not enable

可能原因:將AnalyticDB MySQL 3.0執行個體作為源端時,在建立DTS任務時,錯誤地選擇了MySQL作為源執行個體類型。

解決方案:請重新建立DTS任務,並在選擇源端類型時,請選擇AnalyticDB MySQL 3.0類型進行接入。

報錯樣本

java.sql.SQLException: [30000, 2025071409510xxxx1681812390315112xxxx] can't show binary logs for sg_b_phy_in_notices_wide because binlog is not enable

DTS-RETRY-ERR-0582:binlog truncated in the middle of event; consider out of disk space on master

可能原因:來源資料庫的Binlog檔案在某個事件中間被截斷,變得不完整。這通常是由於主庫磁碟空間不足等原因造成的。

解決方案

  1. 請立即檢查來源資料庫伺服器的磁碟空間和健康情況。

  2. 由於Binlog已損壞,DTS無法繼續。您需要通過修改同步或遷移執行個體的當前位點來跳過損壞的日誌部分。

    說明

    跳過位點可能導致部分資料丟失,操作前請務必評估對業務的影響。

  3. 修複源庫問題並調整位點後,重新啟動DTS任務

報錯樣本

DTS-100047: retry 0 times, 1000 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: binlog truncated in the middle of event; consider out of disk space on master; the first event 'mysql-bin.000100' at 63072xxxx, the last event read from './mysql-bin.000100' at 63072xxxx, the last byte read from './mysql-bin.000100' at 63072xxxx. 
SQLException: binlog truncated in the middle of event; consider out of disk space on master; the first event 'mysql-bin.000100' at 63072xxxx, the last event read from './mysql-bin.000100' at 63072xxxx, the last byte read from './mysql-bin.000100' at 63072xxxx. CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: binlog truncated in the middle of event; consider out of disk space on master; the first event 'mysql-bin.000100' at 63072xxxx, the last event read from './mysql-bin.000100' at 63072xxxx, the last byte read from './mysql-bin.000100' at 63072xxxx. 

DTS-RETRY-ERR-0583:(.*)? bytes when serialized which is larger than the total memory buffer you have configured with the buffer

可能原因:DTS在處理資料時,單條記錄序列化後的大小超過了內部配置的記憶體緩衝區(buffer)上限。

解決方案:這是一個DTS內部的資源配置問題,通常不需要您手動介入。請嘗試重新啟動DTS任務,系統可能會自動調整或解決此問題。

報錯樣本

DTS-52122: Error on Send.The message is xxx bytes when serialized which is larger than the total memory buffer you have configured with the buffer.memory configuration. cause: RecordTooLargeException: The message is xxx bytes when serialized which is larger than the total memory buffer you have configured with the buffer.memory configuration.

DTS-RETRY-ERR-0584:can not find disperser for (.*)?

可能原因:DTS在進行資料類型轉換時,找不到合適的轉換器。這通常是由於源端和目標端表的欄位類型不相容,且DTS不支援該類型間的自動轉換。

解決方案:請檢查並對比源端與目標端不相容欄位的表結構。您可以嘗試修改目標表欄位類型,使其與源端相容,或者在DTS任務中排除該欄位的同步。調整後,重新啟動DTS任務

報錯樣本

full-selectdb: DTS-61001: disperser is null,can not find disperser for field is_platform_account

DTS-RETRY-ERR-0585:cannot insert NULL into (.*)?

可能原因:目標Oracle表的某個列被定義為NOT NULL(不允許為空白),但從源端同步過來的資料中該列的值為NULL,導致插入失敗。

解決方案

  1. 檢查並對比源端和目標端的表結構,確認是哪個欄位引發的問題。

  2. 根據業務需求,您可以選擇以下任一方式處理:

    • 修改目標表結構,允許該列為NULL或為其設定一個預設值。

    • 檢查源端資料,確保該列不存在NULL值。

  3. 調整後,重新啟動DTS任務

報錯樣本

DTS-077100: Record Replicator error in table sas2erp.orderstateflow. cause by [java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("xxx"."xxx") ] About more information in [https://yq.aliyun.com/articles/508049].

DTS-RETRY-ERR-0586:cannot insert NULL into (.*)?

可能原因:目標Oracle表的某個列被定義為NOT NULL(不允許為空白),但從源端同步過來的資料中該列的值為NULL,導致插入失敗。

解決方案

  1. 檢查並對比源端和目標端的表結構,確認是哪個欄位引發的問題。

  2. 根據業務需求,您可以選擇以下任一方式處理:

    • 修改目標表結構,允許該列為NULL或為其設定一個預設值。

    • 檢查源端資料,確保該列不存在NULL值。

  3. 調整後,重新啟動DTS任務

報錯樣本

DTS-100047: retry 4300 times, 43203 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-tf3u6r91200xxxx */insert into "xxx"."xxx"() VALUES (),currentRow:,
reason: ORA-01400: cannot insert NULL into ("xxx"."xxx"."xxx") BatchUpdateException: ORA-01400: cannot insert NULL into ("xxx"."xxx"."xxx")

DTS-RETRY-ERR-0588:check the etl document for the right syntax to use near script

可能原因:您在DTS任務中配置的ETL指令碼存在語法錯誤。

解決方案:請檢查您編寫的ETL指令碼,對照在DTS遷移或同步任務中配置ETL進行修正。

報錯樣本

ETL: DTS--0001: You have an error in your ETL syntax; check the etl document for the right syntax to use near script^^^: at line 1

DTS-RETRY-ERR-0589:close wait failed coz rpc error

可能原因:DTS通過StreamLoad向目標SelectDB寫入資料時,SelectDB內部返回了RPC錯誤。這表明目標SelectDB執行個體可能存在健康問題或內部錯誤。

解決方案:請檢查目標SelectDB執行個體的運行狀態、日誌和負載情況。確認資料庫恢複正常後,重新啟動DTS任務

報錯樣本

java.io.IOException: Failed to stream load data to SelectDB.Key status is fail. Load result: {"Status":"Fail","Comment":"","BeginTxnTimeMs":15,"Message":"[INTERNAL_ERROR][INTERNAL_ERROR]close wait failed coz rpc error. VNodeChannel[173908364xxxx-173899408xxxx], load_id=247bc89eabexxxx-56cfe111acd6xxxx, txn_id=2946215958969xxxx, node=172.xxx.xxx.xxx:xxx, add batch req success but status isn't ok, err: [DATA_QUALITY_ERROR]PStatus: (172.xxx.xxx.xxx)[DATA_QUALITY_ERROR]Reached max column size limit 2048, host: 172.xxx.xxx.xxx","NumberUnselectedRows":0,"CommitAndPublishTimeMs":0,"Label":"DTS-SelectDB-Sink0b7170a9-xxxx-4dc4-xxxx-1bc2e043141d","LoadBytes":31146554,"StreamLoadPutTimeMs":7,"NumberTotalRows":9949,"WriteDataTimeMs":9800,"ReceiveDataTimeMs":70,"TxnId":2946215958969xxxx,"LoadTimeMs":9824,"TwoPhaseCommit":"false","ReadDataTimeMs":93,"NumberLoadedRows":0,"NumberFilteredRows":0}

DTS-RETRY-ERR-0590:CN failed to send & exec SQL to PN

可能原因:目標PolarDB-X資料庫的計算節點(CN)無法成功將SQL請求發送到物理節點(PN)執行。這通常表示資料庫內部節點間通訊異常。

解決方案:請檢查您的PolarDB-X執行個體的健康狀態,特別是CN和PN節點是否都正常運行且通訊無誤。待資料庫恢複正常後,重新啟動DTS任務

報錯樣本

DTS-30011: currentRunningSQL: /* DTS-full-vkxf76uu16qxxxx */insert ignore into `xxx`.`xxx`() VALUES (),currentRow:null, reason: Internal error: CN failed to send & exec SQL to PN cause: BatchUpdateException: Internal error: CN failed to send & exec SQL to PN SQLException: Internal error: CN failed to send & exec SQL to PN

DTS-RETRY-ERR-0591:Column has no default value

可能原因:目標SelectDB表的某個列定義為NOT NULL但沒有設定預設值。當源端資料中不包含該列或該列值為NULL時,寫入操作會因缺少值而失敗。

解決方案

  1. 檢查源端資料和DTS同步對象配置,確認是否同步了該列。

  2. 修改目標SelectDB的表結構,為該列設定一個預設值。例如:ALTER TABLE your_table ALTER COLUMN your_column SET DEFAULT 'your_default_value';

  3. 修改後,重新啟動DTS任務

報錯樣本

java.io.IOException: Failed to stream load data to SelectDB.Key status is fail. Load result: {"Status":"Fail","Comment":"","BeginTxnTimeMs":23,"Message":"[ANALYSIS_ERROR]TStatus: errCode = 2, detailMessage = Column has no default value. column: assets_quantity","NumberUnselectedRows":0,"CommitAndPublishTimeMs":0,"Label":"DTS-SelectDB-Sink193914c2-xxxx-4beb-xxxx-e6e4a89276c4","LoadBytes":0,"StreamLoadPutTimeMs":0,"NumberTotalRows":0,"WriteDataTimeMs":0,"TxnId":1674029191551xxxx,"LoadTimeMs":0,"TwoPhaseCommit":"false","ReadDataTimeMs":0,"NumberLoadedRows":0,"NumberFilteredRows":0}

DTS-RETRY-ERR-0592:com.ibm.as400.access.ExtendedIllegalArgumentException

可能原因:源端中的資料格式不被DTS支援,導致解析失敗。

解決方案:此錯誤表明存在DTS無法處理的資料類型或格式。請檢查源端資料。

報錯樣本

DTS-31009: In process of processing data (recordRange: 456002531641996xxxx) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 14 seconds, which exceed the supposed 43200 seconds RuntimeException: AS400DB2Source:JournalEntryParser: parser entry failed, cause java.util.concurrent.ExecutionException: java.lang.RuntimeException: com.ibm.as400.access.ExtendedIllegalArgumentException: source (07/09/2511): Parameter value is not valid.

DTS-RETRY-ERR-0593:Communications link failure during commit(). Transaction resolution unknown.

可能原因:DTS在向目標資料庫提交事務時,網路連接中斷。這可能是由於網路不穩定或目標資料庫連接異常導致的。

解決方案:請檢查DTS伺服器與目標資料庫之間的網路連接穩定性,包括防火牆、安全性群組和路由配置。確保網路通暢後,重新啟動DTS任務

報錯樣本

DTS-30011: currentRunningSQL: /* DTS-full-q8sh6ybp20jxxx */insert ignore into `xxx`.`xxx`() VALUES (),currentRow:xxx, reason: Communications link failure during commit(). Transaction resolution unknown. cause: MySQLNonTransientConnectionException: Communications link failure during commit(). Transaction resolution unknown.

DTS-RETRY-ERR-0594:Connect Failed For Mysql Server No Response

可能原因:DTS嘗試串連源端MySQL伺服器,但伺服器沒有響應。這可能是由於網路不通、防火牆攔截、資料庫服務未啟動或負載過高。

解決方案:請檢查源端MySQL伺服器的運行狀態、網路連通性以及安全性原則,確保DTS可以正常訪問。確認無誤後,重新啟動DTS任務

報錯樣本

java.sql.SQLException: Connect Failed For Mysql Server No Response

DTS-RETRY-ERR-0595:Connection attempt timed out

可能原因:DTS串連PostgreSQL資料庫時逾時,表明在規定時間內未能建立串連。

解決方案:請檢查網路連接、防火牆設定以及目標資料庫的主機名稱和連接埠是否正確,確保DTS可以正常訪問。修複後,重新啟動DTS任務

報錯樣本

org.postgresql.util.PSQLException: Connection attempt timed out.

DTS-RETRY-ERR-0596:Connection refused

可能原因:DTS串連MongoDB伺服器的請求被拒絕。常見原因包括網路不通、目標連接埠未監聽、防火牆或安全性群組攔截。

解決方案:請檢查DTS與MongoDB伺服器之間的網路連通性,確認MongoDB服務已啟動且連接埠正確,並檢查相關的網路安全性原則。重新啟動DTS任務

報錯樣本

java.lang.RuntimeException: com.mongodb.MongoQueryException: Query failed with error code 6 and error message 'Connection refused' on server 10.27.185.136:24214

DTS-RETRY-ERR-0597:Connection to (.*)? refused

可能原因:DTS串連PostgreSQL資料庫的請求被拒絕。常見原因包括網路不通、目標連接埠未監聽、防火牆攔截或資料庫未配置接受外部串連。

解決方案:請檢查網路連接、防火牆設定以及目標資料庫的主機名稱和連接埠是否正確,確保DTS可以正常訪問。修複後,重新啟動DTS任務

報錯樣本

org.postgresql.util.PSQLException: Connection to 10.xxx.xxx.xxx:xxx refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

DTS-RETRY-ERR-0598:execute sql (.*)? could not create file

可能原因:目標PostgreSQL資料庫在執行DTS的DDL語句(如建立內部標記表)時,因磁碟空間不足、許可權問題或檔案系統錯誤而無法建立檔案。

解決方案:請檢查目標資料庫伺服器的磁碟空間、檔案系統狀態以及資料庫運行使用者對資料目錄的寫入權限。確認無誤後,重新啟動DTS任務

報錯樣本

DTS-10046: execute sql: CREATE TABLE IF NOT EXISTS "xxx"."xxx" ();CREATE INDEX "xxx" ON "xxx"."xxx"("xxx", "xxx"); CREATE INDEX "xxx" ON "xxx"."xxx"("xxx", "xxx"); failed. Create TransactionTable failed. cause: PSQLException: ERROR: could not create file "/39667142-1/data/base/xxx/xxx": Unknown error 1001

DTS-RETRY-ERR-0599:Fetch postgresql logical log failed (.*)? could not create file

可能原因:源端PostgreSQL資料庫在為DTS建立邏輯複製槽(Replication Slot)時失敗。錯誤資訊File exists表明嘗試建立的臨時檔案已存在,可能是上一次異常中斷的殘留。

解決方案:請聯絡源端PostgreSQL資料庫管理員(DBA),排查邏輯複製功能異常原因。

報錯樣本

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed IOException: org.postgresql.util.PSQLException: ERROR: could not create file "pg_replslot/dts_sync_kh81092l29exxxx/state.tmp": File exists PSQLException: ERROR: could not create file "pg_replslot/dts_sync_kh81092l29exxxx/state.tmp": File exists

DTS-RETRY-ERR-0600:Could not route this query because target db is not healthy.

可能原因:源端資料庫在處理DTS的查詢請求時,其內部的某個節點處於不健康狀態,導致無法路由該查詢。

解決方案:請檢查源端執行個體的整體健康狀態,確保所有計算節點和資料節點都運行正常。待資料庫叢集恢複後,重新啟動DTS任務

報錯樣本

java.sql.SQLException: Could not route this query because target db is not healthy.