Topik ini menjelaskan pesan kesalahan DTS dari DTS-RETRY-ERR-0601 hingga DTS-RETRY-ERR-0700 beserta solusinya.
Topik ini menggunakan ekspresi reguler ((.*)?) untuk merepresentasikan variabel dalam pesan kesalahan.
DTS-RETRY-ERR-0601: could not write to file
Kemungkinan penyebab: Server database PostgreSQL sumber memiliki ruang disk yang tidak mencukupi. Saat DTS melakukan replikasi logis, database sumber mencoba membuat file snapshot, tetapi operasi tersebut gagal karena perangkat kehabisan ruang.
Solusi: Bebaskan ruang disk pada server PostgreSQL sumber untuk memastikan tersedia penyimpanan yang cukup bagi operasi replikasi logis. Setelah ruang disk dibebaskan, restart the DTS task.
Contoh kesalahan:
DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed FatalAnyAllException: common: DTS-100047: retry 0 times, 5029990526 seconds, which exceed the supposed 43200 seconds IOException: org.postgresql.util.PSQLException: ERROR: could not write to file "pg_logical/snapshots/401-xxx.snap.xxx.tmp": No space left on device PSQLException: ERROR: could not write to file "pg_logical/snapshots/401-xxx.snap.xxx.tmp": No space left on device
DTS-RETRY-ERR-0602: CROSSSLOT Keys
Kemungkinan penyebab: DTS mencoba mengeksekusi perintah yang melibatkan beberapa key di kluster Redis tujuan, tetapi key-key tersebut di-hash ke slot yang berbeda. Kesalahan ini biasanya terjadi ketika topologi database sumber dan tujuan tidak konsisten—misalnya, sumber adalah instans Edisi Standar sedangkan tujuan adalah instans Edisi Kluster.
Solusi: Pastikan database sumber dan tujuan memiliki topologi yang sama.
Contoh kesalahan:
redis.clients.jedis.exceptions.JedisDataException: CROSSSLOT Keys in request don't hash to the same slot
DTS-RETRY-ERR-0603: Database (.*)? cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.
Kemungkinan penyebab: Database SQL Server tujuan tidak dapat dibuka karena masalah sumber daya mendasar, seperti file data yang tidak dapat diakses, memori server yang tidak mencukupi, atau disk penuh.
Solusi: Login ke server database tujuan dan periksa log kesalahan SQL Server untuk mengidentifikasi penyebab spesifik kegagalan tersebut. Setelah masalah izin file, memori, atau ruang disk diselesaikan berdasarkan informasi dari log, restart the DTS task.
Contoh kesalahan:
DTS-100047: retry 112 times, 1208 seconds, which exceed the supposed 1200 seconds cause: SQLServerException: Database 'xxx' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.
DTS-RETRY-ERR-0604: Database (.*)? is in transition. Try the statement later.
Kemungkinan penyebab: Database SQL Server tujuan sedang dalam keadaan transisi, seperti startup, pemulihan, atau failover, sehingga sementara tidak dapat menerima koneksi atau operasi baru.
Solusi: Tunggu hingga database tujuan menyelesaikan operasi saat ini dan kembali ke keadaan berjalan. Setelah database tersedia, restart the DTS task.
Contoh kesalahan:
com.microsoft.sqlserver.jdbc.SQLServerException: Database 'xxx' is in transition. Try the statement later.
DTS-RETRY-ERR-0605: Database connection failed when reading from copy EOFException: null
Kemungkinan penyebab: Koneksi replikasi logis ke database PostgreSQL sumber terputus karena nilai wal_sender_timeout telah terlampaui. Jika DTS tidak berinteraksi dengan database sumber dalam waktu lama—misalnya saat menyaring banyak transaksi yang tidak perlu disinkronkan—database sumber mungkin secara aktif menutup koneksi karena tidak menerima heartbeat.
Solusi: Hubungkan ke database sumber dan atur parameter wal_sender_timeout menjadi 0 untuk menonaktifkan mekanisme timeout.
-
Eksekusi perintah SQL berikut:
ALTER SYSTEM SET wal_sender_timeout = '0'; -
Muat ulang konfigurasi:
SELECT pg_reload_conf(); -
Setelah konfigurasi diubah, restart the DTS task.
Contoh kesalahan:
xDTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed FatalAnyAllException: common: DTS-100047: retry 0 times, 1016336561 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-0606: date format not recognized
Kemungkinan penyebab: Database Oracle sumber berisi data dalam format tanggal yang tidak dapat dikenali atau diurai oleh DTS, sehingga menyebabkan kegagalan ekstraksi data penuh.
Solusi: Berdasarkan ROWID atau konten data dalam pesan kesalahan, temukan baris data abnormal di database sumber dan perbaiki menjadi format tanggal standar. Setelah data diperbaiki, restart the DTS task.
Contoh kesalahan:
DTS-30020: execute sql:/* DTS-full-dl0y6l2a214xxxx */SELECT xxx FROM "xxx"."xxx" --> (null, null) record range id = 48754756125982xxxx, fetchSize = 1024 cause: SQLDataException: ORA-01821: date format not recognized
DTS-RETRY-ERR-0607: Disperse target record field (.*)? failed
Kemungkinan penyebab: Saat memproses data, DTS tidak dapat mengonversi nilai suatu field dari database sumber ke tipe field yang sesuai di database tujuan. Hal ini biasanya terjadi karena tipe field di database sumber dan tujuan tidak kompatibel, serta DTS tidak mendukung konversi tipe tersebut.
Solusi: Periksa tipe data field di database sumber dan tujuan. Anda dapat memodifikasi skema tabel tujuan agar kompatibel atau mengecualikan field tersebut dari sinkronisasi dalam tugas DTS. Setelah penyesuaian dilakukan, restart the DTS task.
Contoh kesalahan:
DTS-71001: Disperse target record field collectInfo BYTES nullable as collectInfo failed for record databaseName: xxx tableName:xxx {offset [35699] operationType [UPDATE],checkpoint [0@35699@160288815@12568@175275215xxx]} cause: ConcurrentModificationException: null
DTS-RETRY-ERR-0608: disperser is null
Kemungkinan penyebab: Saat melakukan konversi tipe data, DTS tidak dapat menemukan konverter (disperser) untuk memproses field tertentu. Kesalahan ini biasanya disebabkan oleh ketidakcocokan tipe field antara tabel sumber dan tujuan.
Solusi: Periksa dan bandingkan skema tabel untuk field yang tidak kompatibel di database sumber dan tujuan. Anda dapat memodifikasi tipe field tabel tujuan agar kompatibel dengan sumber atau mengecualikan field tersebut dari sinkronisasi dalam tugas DTS. Setelah penyesuaian dilakukan, restart the DTS task.
Contoh kesalahan:
DTS-61001: disperser is null, can not find disperser for field billing_date
DTS-RETRY-ERR-0609: document size is larger than maximum
Kemungkinan penyebab: Data yang akan disinkronkan berisi dokumen tunggal yang melebihi batas ukuran maksimum 16 MB yang diizinkan oleh MongoDB, sehingga mencegah dokumen tersebut ditulis ke database tujuan.
Solusi: Tangani dokumen yang terlalu besar di database sumber sesuai kebutuhan bisnis Anda, misalnya dengan membagi atau menghapusnya.
Contoh kesalahan:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 922337203685477xxxx seconds cause: SQLException: DTS full single insert oversize, throw exception and retry, caused by:Payload document size is larger than maximum of xxxx.
DTS-RETRY-ERR-0610: does not contain shard key
Kemungkinan penyebab: Koleksi MongoDB tujuan adalah koleksi sharded, tetapi catatan yang akan disinkronkan tidak memiliki field sharding key yang diperlukan, sehingga mencegah data ditulis.
Solusi: Periksa data sumber untuk memastikan semua catatan yang akan disinkronkan mencakup field sharding key yang diperlukan oleh tabel tujuan.
Contoh kesalahan:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 922337203685477xxxx seconds cause: SQLException: com.mongodb.MongoWriteException: Write operation error on server 10.xxx.xxx.xxx:xxx. Write error: WriteError{code=61, message='document { xxx } does not contain shard key for pattern { brandId: 1.0, createTime: 1.0 }', details={}}. MongoWriteException: Write operation error on server 10.xxx.xxx.xxx:xxx. Write error: WriteError{code=61, message='document { xxx } does not contain shard key for pattern { brandId: 1.0, createTime: 1.0 }', details={}}.
DTS-RETRY-ERR-0611: Don't allow to dump binary log on standby instance
Kemungkinan penyebab: DTS dikonfigurasi untuk terhubung ke instans standby atau slave dari database MySQL sumber. Konfigurasi instans standby ini melarang koneksi eksternal seperti DTS untuk mengekstrak log binernya.
Solusi: Ubah informasi koneksi database sumber dalam tugas DTS agar mengarah ke instans primary atau master dari database sumber.
Contoh kesalahan:
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..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: Don't allow to dump binary log on standby instance SQLException: Don't allow to dump binary log on standby instance CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: Don't allow to dump binary log on standby instance SQLException: Don't allow to dump binary log on standby instance
DTS-RETRY-ERR-0612: DTS-50019
Deskripsi kesalahan: Modul writer DTS tidak dapat membaca data dari modul cache DTS pada titik waktu tertentu.
Kemungkinan penyebab dan solusi:
-
Kemungkinan penyebab 1: Tugas dijeda terlalu lama. Setelah tugas dimulai ulang, data pada offset yang sesuai (misalnya, 2021-05-20 21:17:51) tidak lagi ada di modul cache DTS.
CatatanPesan kesalahan menampilkan Stempel waktu UNIX. Anda dapat menggunakan mesin pencari untuk menemukan konverter stempel waktu UNIX dan mengonversi stempel waktu tersebut ke UTC.
Solusi 1:
-
Metode 1: Periksa log yang digunakan untuk penguraian data inkremental di database sumber, seperti log biner atau redo log, untuk menentukan apakah rentang waktunya mencakup titik waktu tersebut.
-
Metode 2: Buat ulang tugas. Jangan menjeda tugas terlalu lama karena tugas yang dijeda lebih dari enam jam tidak dapat dimulai dengan sukses.
-
-
Kemungkinan penyebab 2: Tugas gagal dan tidak diperbaiki dalam waktu lama. Setelah masalah diperbaiki, data pada offset yang sesuai tidak lagi ada di modul cache DTS.
Solusi 2: Buat ulang tugas. Jika tugas gagal, segera perbaiki masalah dan lanjutkan tugas untuk mencegahnya menjadi tidak dapat dipulihkan.
-
Kemungkinan penyebab 3: Selama migrasi penuh atau sinkronisasi penuh, DTS menyimpan secara lokal log data 24 jam terakhir atau 50 GB dari database sumber untuk penguraian data inkremental. Jika migrasi atau sinkronisasi penuh memakan waktu lama, DTS mungkin telah membersihkan log data yang di-cache, sehingga mengakibatkan log yang tidak lengkap untuk penguraian inkremental.
Solusi 3: Buat ulang tugas. Sebelum membuat tugas, perkirakan volume data. Jika volume data besar, Anda dapat membaginya menjadi beberapa tugas migrasi atau sinkronisasi.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 15907394498750xxx) failed cause: FatalAnyAllException: common:
DTS-100047: retry 0 times, 3 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: capture-as400:
DTS-50019: Lost journal {timestampMs: 1752047995xxx} log {journalName: NBJRN, journalLibraryName: COASSYSTF1}
DTS-RETRY-ERR-0613: DTS-52061
Deskripsi kesalahan: Modul writer DTS tidak dapat membaca data dari modul cache DTS pada titik waktu tertentu.
Kemungkinan penyebab dan solusi:
-
Kemungkinan penyebab 1: Tugas dijeda terlalu lama. Setelah tugas dimulai ulang, data pada offset yang sesuai (misalnya, 2021-05-20 21:17:51) tidak lagi ada di modul cache DTS.
CatatanPesan kesalahan menampilkan Stempel waktu UNIX. Anda dapat menggunakan mesin pencari untuk menemukan konverter stempel waktu UNIX dan mengonversi stempel waktu tersebut ke UTC.
Solusi 1:
-
Metode 1: Periksa log yang digunakan untuk penguraian data inkremental di database sumber, seperti log biner atau redo log, untuk menentukan apakah rentang waktunya mencakup titik waktu tersebut.
-
Metode 2: Buat ulang tugas. Jangan menjeda tugas terlalu lama karena tugas yang dijeda lebih dari enam jam tidak dapat dimulai dengan sukses.
-
-
Kemungkinan penyebab 2: Tugas gagal dan tidak diperbaiki dalam waktu lama. Setelah masalah diperbaiki, data pada offset yang sesuai tidak lagi ada di modul cache DTS.
Solusi 2: Buat ulang tugas. Jika tugas gagal, segera perbaiki masalah dan lanjutkan tugas untuk mencegahnya menjadi tidak dapat dipulihkan.
-
Kemungkinan penyebab 3: Selama migrasi penuh atau sinkronisasi penuh, DTS menyimpan secara lokal log data 24 jam terakhir atau 50 GB dari database sumber untuk penguraian data inkremental. Jika migrasi atau sinkronisasi penuh memakan waktu lama, DTS mungkin telah membersihkan log data yang di-cache, sehingga mengakibatkan log yang tidak lengkap untuk penguraian inkremental.
Solusi 3: Buat ulang tugas. Sebelum membuat tugas, perkirakan volume data. Jika volume data besar, Anda dapat membaginya menjadi beberapa tugas migrasi atau sinkronisasi.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 15907394498750xxxx) failed cause: FatalAnyAllException: common:
DTS-100047: retry 0 times, 161765 seconds, which exceed the supposed 43200 seconds RuntimeException: AS400DB2Source:journalFetcher-1: failed cause retrieve capture-as400:
DTS-52061: {ReceiverName: NBRCV9xxxx, ReceiverLibrary: COASSYSTF1}'s journal receiver is deleted, That journal log isn't continuous
DTS-RETRY-ERR-0615: DTS-52722
Kemungkinan penyebab: Akun database yang dikonfigurasi untuk tugas DTS tidak memiliki izin untuk membaca tabel yang diperlukan.
Solusi: Berikan izin baca pada objek sinkronisasi kepada akun yang digunakan oleh DTS. Setelah izin diberikan, restart the DTS task.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 456002531641996xxxx) failed cause: FatalAnyAllException: common:
DTS-100047: retry 0 times, 81170 seconds, which exceed the supposed 43200 seconds RuntimeException: AS400DB2Source:JournalEntryParser: parser entry failed, cause capture-as400: DTS-52722: Read table xxx.xxx info error, case by [SQL0551] Not authorized to object xxx in xxx type *FILE. Cause . . . . . : An operation was attempted on object xxx in xxx type *FILE. This operation cannot be performed without the required authority. Recovery . . . : Obtain the required authority from either the security officer, the object owner, or a user that is authorized to the QIBM_DB_SECADM function. If you are not authorized to a logical file, obtain the authority to the based-on files of the logical file. Try the operation again.
DTS-RETRY-ERR-0616: ERR DUMP payload version or checksum are wrong
Kemungkinan penyebab: Versi Redis sumber dan tujuan tidak kompatibel, sehingga mencegah DTS memigrasi data biner secara langsung menggunakan perintah RESTORE.
Solusi: Masalah ini tidak dapat diselesaikan dengan me-restart tugas. Anda dapat mengambil salah satu langkah berikut:
-
Menyesuaikan versi instans Redis tujuan agar kompatibel atau sama dengan versi sumber.
-
Mengonfigurasi ulang tugas DTS dan memilih mode sinkronisasi penuh dan sinkronisasi inkremental.
Contoh kesalahan:
DTS-100047: retry 614 times, 43208 seconds, which exceed the supposed 43200 seconds cause: JedisDataException: ERR DUMP payload version or checksum are wrong
DTS-RETRY-ERR-0617: ERR invalid DB index
Kemungkinan penyebab: DTS mencoba memilih DB yang tidak valid di Redis tujuan.
Solusi: Dalam konfigurasi tugas DTS, gunakan fitur pemetaan skema untuk memetakan DB sumber ke DB yang diizinkan di Redis tujuan.
Contoh kesalahan:
DTS-100047: retry 60 times, 601 seconds, which exceed the supposed 43200 seconds cause: RedisCannotRetryException: redis: DTS-10009: Exception in stage: [begin], errMsg: ERR invalid DB index JedisDataException: ERR invalid DB index
DTS-RETRY-ERR-0618: ERR-CODE: [TDDL-10000][ERR_X_PROTOCOL_BAD_PACKET]
Kemungkinan penyebab: Ukuran paket data yang dikirim oleh DTS melebihi batas packet dari database tujuan.
Solusi: Login ke database tujuan dan tingkatkan nilai parameter packet.
Contoh kesalahan:
java.sql.BatchUpdateException: [19d7e170d4402000][26.xxx.xxx.xxx:xxx][pro_scrm]ERR-CODE: [TDDL-10000][ERR_X_PROTOCOL_BAD_PACKET] X-NIO-Client /26.xxx.xxx.xxx:xxx to /10.xxx.xxx.xxx:xxx sent packet length (81341097) exceeds the allowed maximum (67108864).
DTS-RETRY-ERR-0619: ERR-CODE: [TDDL-5311][ERR_GLOBAL_SECONDARY_INDEX_MODIFY_GSI_TABLE_DIRECTLY]
Kemungkinan penyebab: DTS mencoba memodifikasi tabel indeks sekunder global (GSI) secara langsung, tetapi database tujuan tidak mengizinkan operasi ini.
Solusi: Masalah ini tidak dapat diselesaikan dengan me-restart tugas. Indeks sekunder global harus diperbarui melalui tabel primernya. Periksa konfigurasi objek sinkronisasi Anda untuk memastikan bahwa Anda menyinkronkan tabel primer, bukan tabel GSI.
Contoh kesalahan:
java.sql.BatchUpdateException: [1a0e2bffcfb3xxxx][172.xxx.xxx.xxx:xxx][sto_sitems]ERR-CODE: [TDDL-5311][ERR_GLOBAL_SECONDARY_INDEX_MODIFY_GSI_TABLE_DIRECTLY] Does not support modify global secondary index table 'xxxx'
DTS-RETRY-ERR-0622: Error on Send.This server does not host this topic-partition
Kemungkinan penyebab: Informasi metadata partisi data dalam DTS sudah usang. Kesalahan ini biasanya disebabkan oleh komponen internal, seperti DStore, yang melakukan restart atau migrasi.
Solusi: Ini adalah kesalahan internal DTS. Anda dapat mencoba restart the DTS task untuk memaksa pembaruan informasi metadata.
Contoh kesalahan:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: RuntimeException: Error on Send.This server does not host this topic-partition. UnknownTopicOrPartitionException: This server does not host this topic-partition.
DTS-RETRY-ERR-0623: estimated need client-output-buffer
Kemungkinan penyebab: Buffer output klien yang dialokasikan oleh Redis sumber untuk DTS tidak mencukupi, sehingga menyebabkan koneksi ditutup secara aktif untuk melindungi database sumber.
Solusi: Berdasarkan nilai yang direkomendasikan untuk estimated need client-output-buffer dalam pesan kesalahan, tingkatkan nilai konfigurasi ini di Redis sumber. Untuk instans ApsaraDB for Redis, buffer output slave tidak dapat dimodifikasi dengan menjalankan perintah CONFIG atau mengubah parameter. Kami menyarankan Anda melakukan migrasi selama jam-jam tidak sibuk untuk penulisan, atau meningkatkan spesifikasi instans Redis sumber.
Contoh kesalahan:
DTS-10015: Slave connection closed by source redis, Reach 90.00% hard-client-output-buffer-limit, current size: 1453056xxx, hard limit: 1610612xxx.RDB parse progress: 28.97%, already cost time: 209, estimated finish cost time: 721, remaining time: 512, current client-output-buffer: 1453056xxx, estimated need client-output-buffer: 478x.xxMB.
DTS-RETRY-ERR-0624: Expiring (.*)? record(s) (.*)?
Kemungkinan penyebab: Pesan yang dikirim DTS ke kluster Kafka tujuan tidak menerima konfirmasi dalam waktu lama, sehingga menyebabkan pesan tersebut timeout. Kesalahan ini mungkin disebabkan oleh broker Kafka yang abnormal atau daftar putih alamat IP DTS belum dikonfigurasi di semua broker.
Solusi:
-
Periksa status kesehatan semua broker di kluster Kafka tujuan.
-
Konfirmasi bahwa daftar putih alamat IP DTS telah ditambahkan ke semua node broker di kluster Kafka.
-
Periksa adanya latensi tinggi atau kehilangan paket dalam koneksi jaringan antara DTS dan kluster Kafka.
Contoh kesalahan:
DTS-100047: retry 107 times, 43338 seconds, which exceed the supposed 43200 seconds cause: ExecutionException: com.xxx.kafka_thin_client1d0d0.common.errors.TimeoutException: Expiring xxx record(s) for dls_hr_ram_t_xxx_tp-22: 391390 ms has passed since last append TimeoutException: Expiring xxx record(s) for dls_hr_ram_t_xxx_tp-22: 391390 ms has passed since last append
DTS-RETRY-ERR-0625: Failed to calculate delete bitmap
Kemungkinan penyebab: Saat DTS menulis data ke SelectDB tujuan menggunakan StreamLoad, terjadi timeout atau kesalahan dalam SelectDB saat menghitung bitmap penghapusan. Hal ini menunjukkan bahwa instans SelectDB tujuan mungkin mengalami masalah kesehatan atau perselisihan kunci internal.
Solusi: Periksa status berjalan, log, dan beban instans SelectDB tujuan. Setelah database kembali normal, restart the DTS task.
Contoh kesalahan:
java.io.IOException: Failed to stream load data to SelectDB.Key status is fail. Load result: {"Status":"Fail","Comment":"","BeginTxnTimeMs":28,"Message":"[DELETE_BITMAP_LOCK_ERROR]TStatus: errCode = 301, detailMessage = Failed to calculate delete bitmap. Timeout. Unfinished mark: 392787086xxx=23524707046653xxx","NumberUnselectedRows":0,"CommitAndPublishTimeMs":0,"Label":"DTS-SelectDB-Sink2ea489f7-1684-xxxx-xxxx-9c6adc2e36d0","LoadBytes":2285539,"StreamLoadPutTimeMs":17,"NumberTotalRows":10240,"WriteDataTimeMs":70024,"ReceiveDataTimeMs":118,"TxnId":2352470704665xxxx,"LoadTimeMs":220693,"TwoPhaseCommit":"false","ReadDataTimeMs":1,"NumberLoadedRows":10240,"NumberFilteredRows":0}
DTS-RETRY-ERR-0626: Failed to create upload session with tunnel endpoint
Kemungkinan penyebab: DTS tidak dapat membuat saluran unggah data ke tabel MaxCompute tujuan. Kesalahan ini biasanya disebabkan oleh masalah jaringan atau layanan tujuan yang tidak tersedia.
Solusi: Periksa koneksi jaringan antara DTS dan layanan MaxCompute. Setelah jaringan lancar dan layanan MaxCompute normal, restart the DTS task.
Contoh kesalahan:
DTS-70004: execute upload failed, may try it again cause: TransactionReplicateException: transaction-replicate: DTS-70003: 5 execute transaction has excess max transaction retry time [100] cause:odps: DTS-11014: Failed to get the upload session for Prd_IOT_DataWorks.ods_t_ord_affiliated_deduction_log caused by ErrorCode=Local Error, ErrorMessage=Failed to create upload session with tunnel endpoint xxx ErrorCode=Local Error, ErrorMessage=Failed to create upload session with tunnel endpoint xxx CriticalAnyAllException: odps: DTS-11014: Failed to get the upload session for Prd_IOT_DataWorks.ods_t_ord_affiliated_deduction_log caused by ErrorCode=Local Error, ErrorMessage=Failed to create upload session with tunnel endpoint xxx ErrorCode=Local Error, ErrorMessage=Failed to create upload session with tunnel endpoint xxx...
DTS-RETRY-ERR-0627: failed to parse field
Kemungkinan penyebab: Data suatu field di database sumber tidak sesuai dengan tipe pemetaan yang ditentukan di Elasticsearch (ES) tujuan, sehingga menyebabkan ES gagal mengurai data dan menolak operasi penulisan. Misalnya, kesalahan ini terjadi jika Anda menulis string ke field yang didefinisikan sebagai tipe long.
Solusi: Periksa data sumber dan pemetaan ES tujuan untuk memastikan kompatibilitas tipe data. Anda dapat memilih untuk:
-
Memperbaiki data sumber.
-
Memodifikasi pemetaan indeks ES tujuan lalu mengimpor ulang data.
Contoh kesalahan:
DTS-100047: retry 15 times, 43 seconds, which exceed the supposed 922337203685477xxxx seconds cause: IOException: es: DTS-10035: [1:412] failed to parse field [xxx.xxx] of type [long] in document with id 'xxx'. Preview of field's value: 'xxx', For input string: "xxx" CriticalAnyAllException: es: DTS-10035: [1:412] failed to parse field [xxx.xxx] of type [long] in document with id 'xxx'. Preview of field's value: 'xxx', For input string: "xxx"
DTS-RETRY-ERR-0628: fetch target schema from target table (.*)? failed
Kemungkinan penyebab: DTS tidak dapat memperoleh informasi skema tabel dari database tujuan. Hal ini mungkin karena tabel tujuan tidak ada atau akun database yang digunakan oleh DTS tidak memiliki izin yang cukup untuk melihat skema tabel.
Solusi:
-
Konfirmasi bahwa tabel ada di database tujuan.
-
Periksa dan pastikan akun sinkronisasi DTS memiliki izin
DESCRIBEatau setara pada tabel tersebut. -
Setelah konfirmasi dilakukan, restart the DTS task.
Contoh kesalahan:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: AnyCoreException: framework: DTS-31008: fetch target schema from target table xxx.xxx failed
DTS-RETRY-ERR-0629: file (.*)? cannot be read at this time ORA-01110: data file (.*)?
Kemungkinan penyebab: Saat membaca dari database Oracle sumber, DTS tidak dapat membaca file data (.dbf). Hal ini biasanya karena akun DTS tidak memiliki izin akses ke ruang tabel tempat file tersebut berada, atau database sedang dalam pemulihan dan file tersebut offline.
Solusi: Periksa status database Oracle sumber untuk memastikan database terbuka dan berjalan normal. Juga, konfirmasi bahwa akun yang digunakan oleh DTS memiliki izin untuk mengakses ruang tabel yang diperlukan. Setelah konfirmasi dilakukan, restart the DTS task.
Contoh kesalahan:
DTS-30020: execute sql:/* DTS-full-xa7m7590u2xxxx */SELECT xxx FROM xxx.xxx --> (null, null) record range id = 25182463197225xxxx, fetchSize = 1024 cause: SQLException: ORA-00376: file xxx cannot be read at this time ORA-01110: data file 13: 'xxx'
DTS-RETRY-ERR-0630: get table read lock timeout
Kemungkinan penyebab: Saat DTS menulis data ke SelectDB tujuan menggunakan StreamLoad, operasi gagal karena tidak dapat memperoleh kunci baca pada tabel dalam periode timeout. Hal ini biasanya menunjukkan adanya operasi DDL berjalan lama atau tugas pemblokiran lainnya pada tabel tujuan.
Solusi: Periksa instans SelectDB tujuan untuk operasi berjalan lama seperti ALTER TABLE. Setelah tugas pemblokiran selesai, restart the DTS task.
Contoh kesalahan:
java.io.IOException: Failed to stream load data to SelectDB.Key status is fail. Load result: {"Status":"Fail","Comment":"","BeginTxnTimeMs":11,"Message":"[ANALYSIS_ERROR]TStatus: errCode = 2, detailMessage = get table read lock timeout, database=xxx,table=xxx","NumberUnselectedRows":0,"CommitAndPublishTimeMs":0,"Label":"DTS-SelectDB-Sink1b0aec5d-xxxx-xxxx-b9f1-9a1e62dde118","LoadBytes":0,"StreamLoadPutTimeMs":60000,"NumberTotalRows":0,"WriteDataTimeMs":0,"ReceiveDataTimeMs":0,"TxnId":2581391489973xxxx,"LoadTimeMs":0,"TwoPhaseCommit":"false","ReadDataTimeMs":0,"NumberLoadedRows":0,"NumberFilteredRows":0}
DTS-RETRY-ERR-0631: given ts is smaller than oldest message's ts, some binlogs may lose
Kemungkinan penyebab: DTS mencoba menarik data dari stempel waktu mulai tertentu di Kafka sumber (digunakan untuk TiDB Binlog), tetapi pesan paling awal di Kafka lebih baru daripada stempel waktu tersebut. Artinya, log inkremental yang diperlukan telah dibersihkan.
Solusi: Periksa kebijakan retensi data TiDB Binlog di Kafka sumber dan pastikan periode retensi cukup panjang.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 776029846907125xxxx) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds RuntimeException: seek timestamp for topic [xxx] with timestamp [1747724390xxx] failed RuntimeException: given ts is smaller than oldest message's ts, some binlogs may lose, given ts: 1747724390xxx, oldest ts: 1747726918xxx
DTS-RETRY-ERR-0632: got sequence entry (.*)? for toast chunk (.*)?
Kemungkinan penyebab: Terjadi kesalahan logika internal di database PostgreSQL sumber saat memproses data objek besar (TOAST), sehingga menyebabkan DTS menerima entri log yang tidak berurutan atau tidak terduga. Ini adalah kesalahan spesifik database.
Solusi: Ini adalah kesalahan internal database. Periksa status kesehatan dan log kesalahan database PostgreSQL sumber.
Contoh kesalahan:
DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed FatalAnyAllException: common: DTS-100047: retry 58 times, 600947 seconds, which exceed the supposed 600 seconds IOException: org.postgresql.util.PSQLException: ERROR: got sequence entry xxx for toast chunk xxx instead of seq 0 PSQLException: ERROR: got sequence entry xxx for toast chunk xxx instead of seq 0
DTS-RETRY-ERR-0633: Got timeout reading communication packets
Kemungkinan penyebab: Terjadi timeout baca pada koneksi jaringan antara DTS dan database MySQL sumber. Hal ini biasanya disebabkan oleh latensi jaringan tinggi, ketidakstabilan, atau server database yang sangat sibuk sehingga merespons lambat.
Solusi: Pecahkan masalah kualitas tautan jaringan antara DTS dan database sumber. Jika jaringan normal, periksa beban pada server database. Me-restart tugas DTS dapat menyelesaikan masalah jaringan sementara.
Contoh kesalahan:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Got timeout reading communication packets
DTS-RETRY-ERR-0635: Host (.*)? is not allowed to connect to this (.*)? server
Kemungkinan penyebab: Daftar putih alamat IP database tujuan tidak mencakup alamat IP server DTS, sehingga menyebabkan database menolak koneksi.
Solusi: Tambahkan alamat IP server DTS ke daftar putih alamat IP instans database tujuan.
Contoh kesalahan:
java.sql.SQLException: null, message from server: "Host '100.xxx.xxx.xxx' is not allowed to connect to this xxx server"
DTS-RETRY-ERR-0636: ignore with global index not supported
Kemungkinan penyebab: Tabel di database PolarDB-X 2.0 tujuan memiliki indeks global, dan pernyataan INSERT IGNORE yang digunakan oleh DTS tidak didukung dalam kasus ini.
Solusi: Ini adalah keterbatasan database. Jika bisnis Anda mengizinkan, Anda dapat mempertimbangkan untuk menghapus indeks global dari tabel tujuan atau mengubah tabel partisi menjadi tabel non-partisi. Setelah memodifikasi skema database, restart the DTS task.
Contoh kesalahan:
DTS-30011: currentRunningSQL: /* DTS-full-ch7c7pjz16mxxxx */insert ignore into `xxx`.`xxx`() VALUES (),currentRow:,
reason: ignore with global index not supported cause: BatchUpdateException: ignore with global index not supported SQLException: ignore with global index not supported
DTS-RETRY-ERR-0638: immediate shutdown in progress - no operations are permitted
Kemungkinan penyebab: Database Oracle yang dicoba dihubungkan oleh DTS sedang melakukan shutdown segera, di mana tidak ada operasi baru yang diterima.
Solusi: Tunggu hingga database Oracle menyelesaikan shutdown dan restart. Setelah database kembali memberikan layanan normal, restart the DTS task.
Contoh kesalahan:
java.sql.SQLRecoverableException: ORA-01089: immediate shutdown in progress - no operations are permitted
DTS-RETRY-ERR-0639: insufficient privileges
Kemungkinan penyebab: Akun yang digunakan DTS untuk terhubung ke database Oracle sumber tidak memiliki izin yang diperlukan, seperti izin untuk mengakses tampilan kamus data sistem seperti sys.USER$.
Solusi: Untuk informasi lebih lanjut, lihat Batasan dan persiapan untuk database Oracle. Berikan semua izin yang diperlukan kepada akun DTS khusus untuk database Oracle sumber.
Contoh kesalahan:
DTS-52110: OracleRecordExtractor Init Error: oracle-reader: DTS-52050: Mirror Meta error, cause: CriticalAnyAllException: oracle-reader: DTS-52050: Mirror Meta error, CriticalAnyAllException: oracle-reader: DTS-52050: Mirror meta failed CriticalAnyAllException: oracle-reader: DTS--0002: execute sql SELECT USER#,NAME,TYPE# FROM sys.USER$ failed, case by common: DTS-100047: retry 4307 times, 43200410 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 4307 times, 43200410 seconds, which exceed the supposed 43200 seconds SQLSyntaxErrorException: ORA-01031: insufficient privileges
DTS-RETRY-ERR-0640: Insufficient result space to convert uniqueidentifier value to char.
Kemungkinan penyebab: Saat DTS membaca data dari SQL Server, ruang buffer internal untuk menyimpan hasil konversi tipe uniqueidentifier tidak mencukupi. Hal ini mungkin merupakan masalah internal yang disebabkan oleh DTS yang tidak menyinkronkan metadata tepat waktu setelah perubahan DDL.
Solusi: Konfirmasi apakah perubahan DDL telah dilakukan dan coba restart the DTS task.
Contoh kesalahan:
DTS-31009: read source data error cause: SQLServerException: Insufficient result space to convert uniqueidentifier value to char.
DTS-RETRY-ERR-0641: invalid input syntax for type money
Kemungkinan penyebab: Database sumber dan tujuan memiliki unit yang berbeda untuk tipe money, sehingga menyebabkan string format mata uang yang ditulis oleh DTS (seperti ¥118,971.00) ditolak oleh database tujuan.
Solusi: Periksa dan seragamkan pengaturan format mata uang pada database sumber dan tujuan. Setelah pengaturan diperbaiki, mulai ulang Tugas DTS.
Contoh kesalahan:
DTS-100047: retry 180 times, 1802 seconds, which exceed the supposed 1800 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-jw3c85ox14cxxxx */insert into "xxx"."xxx"() values () on conflict do nothing,currentRow:,
reason: Batch entry 0 /* DTS-full-jw3c85ox14cxxxx */insert into "xxx"."xxx"() values () on conflict do nothing was aborted: ERROR: invalid input syntax for type money: "¥118,971.00" Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 /* DTS-full-jw3c85ox14cxxx */insert into "xxx"."xxx"() values () on conflict do nothing was aborted: ERROR: invalid input syntax for type money: "¥118,971.00" Call getNextException to see other errors in the batch. PSQLException: ERROR: invalid input syntax for type money: "¥118,971.00"
DTS-RETRY-ERR-0642: invalid username/password; logon denied
Kemungkinan penyebab: Username atau password yang digunakan DTS untuk terhubung ke database Oracle salah.
Solusi: Periksa dan perbarui akun dan password database Oracle dalam konfigurasi tugas DTS untuk memastikan bahwa akun dan password tersebut benar dan valid. Setelah konfirmasi dilakukan, restart the DTS task.
Contoh kesalahan:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
DTS-RETRY-ERR-0643: (.*)? is an identity column defined as GENERATED ALWAYS
Kemungkinan penyebab: Kolom di tabel PostgreSQL tujuan didefinisikan sebagai kolom identitas GENERATED ALWAYS. Kolom jenis ini tidak mengizinkan penyisipan nilai eksplisit, tetapi DTS mencoba menulis nilai dari database sumber ke kolom ini.
Solusi: Masalah ini tidak dapat diselesaikan dengan me-restart tugas. Anda perlu memodifikasi skema tabel tujuan, misalnya dengan mengubah kolom menjadi GENERATED BY DEFAULT atau mengecualikan kolom ini dari sinkronisasi dalam pemetaan kolom DTS.
Contoh kesalahan:
DTS-30011: currentRunningSQL: /* DTS-full-nezi7395167xxxx */insert into "xxx"."xxx"() values () on conflict do nothing,currentRow:xxx, reason: Batch entry 0 /* DTS-full-nezi7395167xxx */insert into "xxx"."xxx"() values (xxx) on conflict do nothing was aborted: ERROR: cannot insert a non-DEFAULT value into column "id" Detail: Column "id" is an identity column defined as GENERATED ALWAYS. Hint: Use OVERRIDING SYSTEM VALUE to override. Call getNextException to see ...
DTS-RETRY-ERR-0644: (.*)? is INTEGER, but it's defined as STRING in table meta
Kemungkinan penyebab: Tipe kolom kunci primer dalam data yang akan disinkronkan (misalnya, INTEGER) tidak sesuai dengan tipe metadata yang didefinisikan di Tablestore tujuan (misalnya, STRING).
Solusi: Periksa dan satukan tipe data sumber dengan definisi skema tabel Tablestore tujuan. Setelah masalah diperbaiki, restart the DTS task.
Contoh kesalahan:
DTS-100047: retry 0 times, 1 seconds, which exceed the supposed 43200 seconds cause: ClientException: The type of primary key column 'xxx' is INTEGER, but it's defined as STRING in table meta.
DTS-RETRY-ERR-0645: java.net.UnknownHostException
Kemungkinan penyebab: Server DTS tidak dapat menyelesaikan nama domain yang dikonfigurasi untuk database sumber melalui DNS.
Solusi: Periksa apakah alamat koneksi database sumber benar. Juga, konfirmasi bahwa nama domain dapat diselesaikan secara normal di lingkungan jaringan tempat server DTS berada.
Contoh kesalahan:
java.sql.SQLException: java.net.UnknownHostException: database-instance-1.c96cqe6wxxxx.ap-southeast-1.rds.xxx.com
DTS-RETRY-ERR-0646: java.sql.SQLException: Binary log is not open
Kemungkinan penyebab: Database sumber tidak mengaktifkan binary logging seperti yang diharapkan.
Solusi: Periksa dan pastikan fitur binary logging diaktifkan dengan benar di database sumber. Setelah konfirmasi dilakukan, restart the DTS task.
Contoh kesalahan:
DTS-100047: retry 0 times, 1101 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-0647: java.sql.SQLException: Not Support Unusing binary logging.
Kemungkinan penyebab: Database MySQL sumber belum mengaktifkan binary logging, yang diperlukan untuk sinkronisasi inkremental DTS.
Solusi: Login ke database MySQL sumber, periksa dan aktifkan binary logging, lalu restart the DTS task.
Contoh kesalahan:
java.sql.SQLException: Not Support Unusing binary logging.
DTS-RETRY-ERR-0648: java.sql.SQLException: The requested gtid transaction no longer exists and may have been cleaned up
Kemungkinan penyebab: Selama sinkronisasi inkremental, offset GTID yang diperlukan oleh DTS tidak lagi ada di file log biner MySQL sumber. Hal ini biasanya karena file log biner telah dibersihkan secara otomatis oleh database.
Solusi: Perpanjang periode retensi log biner database sumber. Setelah masalah diperbaiki, Anda perlu mengonfigurasi ulang tugas DTS untuk menyinkronkan dari awal.
Contoh kesalahan:
DTS-100047: retry 0 times, 1101 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: The requested gtid transaction no longer exists and may have been cleaned up SQLException: The requested gtid transaction no longer exists and may have been cleaned up CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: The requested gtid transaction no longer exists and may have been cleaned up SQLException: The requested gtid transaction no longer exists and may have been cleaned up
DTS-RETRY-ERR-0649: java.sql.SQLNonTransientConnectionException: Got timeout reading communication packets
Kemungkinan penyebab: Terjadi timeout jaringan saat DTS membaca respons dari database MySQL sumber. Hal ini mungkin disebabkan oleh latensi jaringan atau beban database yang tinggi.
Solusi: Periksa kondisi jaringan antara DTS dan database sumber, serta selidiki beban kinerja database sumber. Me-restart tugas DTS dapat menyelesaikan masalah sementara.
Contoh kesalahan:
java.sql.SQLNonTransientConnectionException: Got timeout reading communication packets
DTS-RETRY-ERR-0650: java.sql.SQLNonTransientConnectionException: Server shutdown in progress
Kemungkinan penyebab: Server database MySQL sumber sedang dalam proses shutdown dan tidak lagi menerima operasi apa pun.
Solusi: Periksa status database sumber. Setelah menyelesaikan proses shutdown dan restart serta kembali memberikan layanan, restart the DTS task.
Contoh kesalahan:
java.sql.SQLNonTransientConnectionException: Server shutdown in progress
DTS-RETRY-ERR-0651: LeaderNotAvailableException
Kemungkinan penyebab: Kluster Kafka tujuan sedang menjalani migrasi partisi, sehingga partisi tersebut sementara tidak tersedia untuk penulisan. Hal ini biasanya dipicu oleh restart node kluster atau fluktuasi jaringan.
Solusi: Masalah ini biasanya bersifat sementara. Anda dapat restart the DTS task. DTS akan mencoba koneksi ulang dan mengambil informasi leader partisi terbaru.
Contoh kesalahan:
java.util.concurrent.ExecutionException: com.xxx.kafka_thin_client1d0d0.common.errors.LeaderNotAvailableException: There is no leader for this topic-partition as we are in the middle of a leadership election.
DTS-RETRY-ERR-0652: listener does not currently know of SID given in connect descriptor
Kemungkinan penyebab: Pendengar database Oracle sumber tidak mengenali ID sistem (SID) yang ditentukan dalam permintaan koneksi DTS. Hal ini mungkin karena SID dikonfigurasi salah, instans database tidak berjalan, atau tidak terdaftar di pendengar.
Solusi: Periksa informasi koneksi database sumber untuk memastikan SID benar. Juga, konfirmasi bahwa database Oracle dan layanan pendengarnya berjalan normal. Setelah konfirmasi dilakukan, restart the DTS task.
Contoh kesalahan:
java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
DTS-RETRY-ERR-0653: MySQLSyntaxErrorException: Result consisted of more than one row
Kemungkinan penyebab: Saat DTS mengeksekusi operasi yang diharapkan hanya memengaruhi satu baris di database MySQL tujuan, database mengembalikan beberapa baris. Kesalahan ini biasanya menunjukkan bahwa tabel tujuan berisi data duplikat, yang kemungkinan besar disebabkan oleh kurangnya kunci primer atau kendala unik.
Solusi: Periksa tabel tujuan, temukan dan bersihkan data duplikat berdasarkan kunci primer bisnis. Juga, pastikan tabel tujuan memiliki kendala kunci primer atau indeks unik yang benar.
Contoh kesalahan:
DTS-100047: retry 3106 times, 43203 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-y5jg7pd1138xxxx */insert ignore into `xxx`.`xxx`() VALUES (),currentRow:xxx, reason: Result consisted of more than one row BatchUpdateException: Result consisted of more than one row MySQLSyntaxErrorException: Result consisted of more than one row
DTS-RETRY-ERR-0654: new row for relation (.*)? violates check constraint
Kemungkinan penyebab: Catatan dari sumber tidak memenuhi kendala CHECK yang didefinisikan pada tabel PostgreSQL tujuan.
Solusi: Temukan dan perbaiki data di database sumber yang tidak mematuhi aturan bisnis. Atau, jika logika bisnis mengizinkan, Anda dapat mempertimbangkan untuk memodifikasi atau menghapus kendala CHECK dari tabel tujuan. Setelah menyesuaikan data atau skema tabel, restart the DTS task.
Contoh kesalahan:
DTS-100047: retry 4247 times, 43207 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-j87z7m2b16dxxxx */insert into "xxx"."xxx"() values () on conflict do nothing,currentRow:xxx, reason: Batch entry 32 /* DTS-full-j87z7m2b16dxxxx */insert into "xxx"."xxx"() values () on conflict do nothing was aborted: ERROR: new row for relation "xxx" violates check constraint "xxx_constraint" Detail: Failing row contains (). Call getNextException to see other errors in the batch.
BatchUpdateException: Batch entry 32 /* DTS-full-j87z7m2b16dxxxx */insert into "xxx"."xxx"() values (xxx) on conflict do nothing was aborted: ERROR: new row for relation "xxx" violates check constraint "xxx_constraint" Detail: Failing row contains (). Call getNextException to see other errors in the batch. PSQLException: ERROR: new row for relation "xxx" violates check constraint "xxx_constraint" Detail: Failing row contains ().
DTS-RETRY-ERR-0655: No more data to read from socket
Kemungkinan penyebab: Koneksi jaringan antara DTS dan database Oracle terputus secara tak terduga. Hal ini dapat disebabkan oleh proses abnormal di sisi database, perangkat jaringan seperti firewall yang memutus sesi karena timeout idle, atau gangguan jaringan sementara.
Solusi: Periksa stabilitas jaringan antara DTS dan server Oracle, dan pastikan tidak ada firewall yang mengganggu koneksi persisten. Juga, periksa log alert Oracle untuk kesalahan di sisi server. Me-restart tugas DTS biasanya dapat menyelesaikan masalah sementara.
Contoh kesalahan:
DTS-30020: execute sql:/* DTS-full-etzf7t4x24xxxxx */SELECT /*+ index("xxx" SYS_C0044122) */ xxx FROM xxx WHERE xxx --> (null, [Lcom.alibaba.amp.any.record.value.Value;@20510xxx) record range id = 712551168722599xxxx, fetchSize = 1024 cause: SQLRecoverableException: No more data to read from socket
DTS-RETRY-ERR-0656: no privileges on tablespace (.*)?
Kemungkinan penyebab: Akun yang terhubung ke database Oracle tujuan tidak memiliki izin untuk membuat objek di ruang tabel tertentu.
Solusi: Berikan izin pada ruang tabel yang relevan kepada akun database tujuan yang digunakan oleh DTS.
Contoh kesalahan:
DTS-100047: retry 4314 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-r87i6i04j33xxxx */insert into "xxx"."xxx"() VALUES (),currentRow:xxx, reason: ORA-01950: no privileges on tablespace 'xxx' BatchUpdateException: ORA-01950: no privileges on tablespace 'xxx'
DTS-RETRY-ERR-0657: no privileges on tablespace (.*)?
Kemungkinan penyebab: Akun yang terhubung ke database tujuan tidak memiliki izin untuk membuat objek di ruang tabel tertentu.
Solusi: Berikan izin pada ruang tabel yang relevan kepada akun database tujuan yang digunakan oleh DTS.
Contoh kesalahan
DTS-30011: currentRunningSQL: /* DTS-full-q0yy62nq16fxxx */insert into "xxx"."xxx"() VALUES (),currentRow:null, reason: ORA-01950: no privileges on tablespace 'xxx' cause: BatchUpdateException: ORA-01950: no privileges on tablespace 'xxx'
DTS-RETRY-ERR-0658: No route to host (Host unreachable)
Kemungkinan penyebab: DTS tidak dapat menemukan rute jaringan ke host database sumber, sehingga menyebabkan koneksi gagal. Hal ini biasanya disebabkan oleh konfigurasi jaringan yang salah, kebijakan firewall, atau kurangnya routing antar subnet.
Solusi: Periksa konfigurasi jaringan dan konektivitas antara server DTS dan server database sumber. Anda dapat mencoba menggunakan perintah ping atau telnet di server DTS untuk menguji keterjangkauan host tujuan.
Contoh kesalahan:
java.sql.SQLException: java.net.NoRouteToHostException: No route to host (Host unreachable)
DTS-RETRY-ERR-0659: Not allowed to perform current operation on async materialized view
Kemungkinan penyebab: DTS mencoba menulis data ke tampilan yang di-materialisasi async di SelectDB (Doris) tujuan menggunakan StreamLoad, tetapi operasi ini tidak diizinkan. Data harus ditulis ke tabel dasar.
Solusi: Ubah konfigurasi tugas DTS untuk mengatur objek sinkronisasi ke tabel dasar yang sesuai dengan tampilan yang di-materialisasi async, bukan tampilan yang di-materialisasi itu sendiri.
Contoh kesalahan:
DTS-70003: 29 execute transaction has excess max transaction retry time [64] cause:Failed to stream load data to table: xxx.xxx status is fail. Load result: {"Status":"Fail","Comment":"","BeginTxnTimeMs":0,"Message":"[ANALYSIS_ERROR]TStatus: errCode = 2, detailMessage = Not allowed to perform current operation on async materialized view","NumberUnselectedRows":0,"CommitAndPublishTimeMs":0,"Label":"DTS-SelectDB-Sink4b5a1dcd-xxx-xxx-88ad-d9ce08bcf343","LoadBytes":0,"StreamLoadPutTimeMs":0,"NumberTotalRows":0,"WriteDataTimeMs":0,"ReceiveDataTimeMs":0,"TxnId":-1,"LoadTimeMs":0,"TwoPhaseCommit":"false","ReadDataTimeMs":0,"NumberLoadedRows":0,"NumberFilteredRows":0} cause: IOException: Failed to stream load data to table: xxx.xxx status is fail. Load result: {"Status":"Fail","Comment":"","BeginTxnTimeMs":0,"Message":"[ANALYSIS_ERROR]TStatus: errCode = 2, detailMessage = Not allowed to perform current operatio...
DTS-RETRY-ERR-0660: not enough space. (NOT_ENOUGH_SPACE)
Kemungkinan penyebab: Instans ClickHouse tujuan atau node tempatnya berada memiliki ruang disk yang tidak mencukupi, sehingga tidak dapat menyediakan memori yang diperlukan atau menulis data untuk operasi penulisan.
Solusi: Periksa kapasitas penyimpanan instans ClickHouse tujuan dan bebaskan atau perluas ruang disk.
Contoh kesalahan:
DTS-100047: retry 1044 times, 43202 seconds, which exceed the supposed 43200 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 5 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 SQLException: ClickHouseEngine(5): meet error, insertSQL:insert into `xxx`.`xxx` () values (), error detail message:Code: 243. DB::Exception: Cannot reserve 1.00 MiB, not enough space. (NOT_ENOUGH_SPACE) (version 23.8.16.1) , server ClickHouseNode [uri=http://10.xxx.xxx.xxx:xxx/x_magnet_dev]@-184683xxxx SQLException: Code: 243. DB::Exception: Cannot reserve 1.00 MiB, not enough space. (NOT_ENOUGH_SPACE) (version 23.8.16.1) , server ClickHouseNode [uri=http://10.xxx.xxx.xxx:xxx/x_magnet_dev]@-184683xxx IOException: Code: 243. DB::Exception: Cannot reserve 1.00 MiB, not enough space. (NOT_ENOUGH_SPACE) (version 23.8.16.1)
DTS-RETRY-ERR-0661: not support exactly-once with thread id mode
Kemungkinan penyebab: Tugas DTS dikonfigurasi dengan fitur Penulisan Exactly-Once, tetapi GTID tidak diaktifkan di database sumber. Mode ini sangat bergantung pada GTID untuk memastikan keunikan transaksi.
Solusi: Aktifkan fitur GTID untuk database sumber.
Contoh kesalahan:
DTS-11005: not support exactly-once with thread id mode
DTS-RETRY-ERR-0662: Not support fetch backup log MissActiveLogException
Kemungkinan penyebab: Saat DTS membaca log inkremental dari database sumber, ditemukan bahwa log yang diperlukan, termasuk log aktif dan log cadangan, telah dibersihkan.
Solusi: Perpanjang periode retensi cadangan log transaksi database sumber.
Contoh kesalahan:
DTS-100047: retry 0 times, 107903 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:1749775487)
DTS-RETRY-ERR-0663: Object (.*)? in library (.*)? not found
Kemungkinan penyebab: DTS tidak dapat menemukan objek tertentu, seperti file log Journal, di database sumber. Hal ini biasanya berarti bahwa log yang diperlukan oleh DTS telah dibersihkan atau dipindahkan.
Solusi: Periksa kebijakan manajemen log database sumber untuk memastikan periode retensi log cukup panjang.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 456002531641996xxxx) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 276393 seconds, which exceed the supposed 43200 seconds RuntimeException: AS400DB2Source:journalFetcher-0: failed cause false; rc=0x501 CPF9801: Object xxx in library xxx not found.
DTS-RETRY-ERR-0664: ODPS partition exception - maximum (.*)? partitions allowed, or more than (.*)? partitions created
Kemungkinan penyebab: Jumlah partisi di tabel MaxCompute tujuan telah mencapai batas atas, atau satu operasi mencoba membuat lebih banyak partisi daripada batas waktu tunggal.
Solusi: Periksa strategi partisi Anda untuk menghindari pembuatan terlalu banyak partisi. Anda mungkin perlu membersihkan partisi historis yang tidak perlu atau mengoptimalkan desain field partisi.
Contoh kesalahan:
DTS-70004: execute upload failed, may try it again cause: TransactionReplicateException: transaction-replicate: DTS-70003: 17 execute transaction has excess max transaction retry time [100] cause:ODPS-0110061: Failed to run ddltask - Modify DDL meta encounter exception : ODPS-0123031:ODPS partition exception - maximum xxx partitions allowed, or more than xxx partitions created OdpsException: ODPS-0110061: Failed to run ddltask - Modify DDL meta encounter exception : ODPS-0123031:ODPS partition exception - maximum xxx partitions allowed, or more than xxx partitions created
DTS-RETRY-ERR-0665: Operation is not allowed under READ-ONLY mode!
Kemungkinan penyebab: Instans AnalyticDB for MySQL 3.0 tujuan saat ini dalam mode read-only, dan DTS tidak dapat menulis data.
Solusi: Periksa status instans AnalyticDB for MySQL 3.0 tujuan.
Contoh kesalahan:
java.sql.SQLException: [xxx, 202507301xxxx41921680681130315111xxxx] Operation is not allowed under READ-ONLY mode!
DTS-RETRY-ERR-0666: ORACLE initialization or shutdown in progress
Kemungkinan penyebab: Database Oracle yang dicoba dihubungkan oleh DTS sedang menjalani inisialisasi atau shutdown dan sementara tidak tersedia.
Solusi: Tunggu hingga database Oracle menyelesaikan proses startup atau shutdown dan kembali memberikan layanan normal. Kemudian, restart the DTS task.
Contoh kesalahan:
java.sql.SQLRecoverableException: ORA-01033: ORACLE initialization or shutdown in progress
DTS-RETRY-ERR-0669: org.bson.json.JsonParseException
Kemungkinan penyebab: Kondisi filter yang dikonfigurasi untuk sumber MongoDB dalam tugas DTS bukan string format JSON yang valid.
Solusi: Periksa dan perbaiki pernyataan JSON dalam kondisi filter tugas DTS untuk memastikan sintaksnya benar.
Contoh kesalahan:
org.bson.json.JsonParseException: Invalid JSON input. Position: 2. Character: '“'.
DTS-RETRY-ERR-0670: PROCEDURE (.*)? does not exist
Kemungkinan penyebab: Data yang disinkronkan oleh DTS memicu operasi di database MySQL tujuan, seperti pemicu, yang mencoba memanggil prosedur tersimpan yang tidak ada.
Solusi: Periksa database tujuan untuk memastikan prosedur tersimpan yang diperlukan telah dibuat, atau hapus logika, seperti pemicu, yang memanggil prosedur tersimpan tersebut. Setelah masalah diperbaiki, restart the DTS task.
Contoh kesalahan:
DTS-100047: retry 4290 times, 43205 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-lsqb6q1p18txxx */insert ignore into `xxx`.`xxx`() VALUES (),currentRow:xxx, reason: PROCEDURE xxx.xxx does not exist BatchUpdateException: PROCEDURE xxx.xxx does not exist SQLSyntaxErrorException: PROCEDURE xxx.xxx does not exist
DTS-RETRY-ERR-0671: Project: (.*)? Slot Quota Exceeded
Kemungkinan penyebab: Sumber daya komputasi (slot) yang dikonsumsi oleh MaxCompute tujuan telah melebihi kuotanya.
Solusi: Periksa penggunaan sumber daya proyek MaxCompute. Anda dapat menunggu tugas lain melepaskan sumber daya atau meningkatkan kuota slot untuk proyek tersebut. Setelah konfirmasi dilakukan, restart the DTS task.
Contoh kesalahan:
DTS-70004: execute upload failed, may try it again cause: TransactionReplicateException: transaction-replicate: DTS-70003: 12 execute transaction has excess max transaction retry time [100] cause:odps: DTS-11014: Failed to get the upload session for xxx.xxx caused by RequestId=20250601131605b381c40b05d6xxxx, ErrorCode=SlotExceeded, ErrorMessage=Region: cn-zhangjiakou Project: xxx Slot Quota Exceeded. Total:300, Acquired:349RequestId=20250601131605b381c40b05d6xxxx, ErrorCode=SlotExceeded, ErrorMessage=Region: cn-zhangjiakou Project: xxxx Slot Quota Exceeded. Total:300, Acquired:349 CriticalAnyAllException: odps: DTS-11014: Failed to get the upload session for xxx.xxx caused by RequestId=20250601131605b381c40b05d6xxxx, ErrorCode=SlotExceeded, ErrorMessage=Region: cn-zhangjiakou Project: xxx Slot Quota Exceeded. Total:3...
DTS-RETRY-ERR-0672: Query was selected to stop by OvercommitTracker
Kemungkinan penyebab: Instans ClickHouse tujuan menghentikan kueri DTS karena mekanisme OvercommitTracker internalnya, yang dipicu oleh overcommitment memori.
Solusi: Periksa penggunaan memori dan beban instans ClickHouse tujuan. Anda mungkin perlu mengoptimalkan kueri, meningkatkan memori node, atau meningkatkan tipe instans.
Contoh kesalahan:
java.sql.BatchUpdateException: Code: 241. DB::Exception: Memory limit (total) exceeded: would use xxx GiB (attempt to allocate chunk of xxx bytes), maximum: xxx GiB. OvercommitTracker decision: Query was selected to stop by OvercommitTracker.: (avg_value_size_hint = xxx, avg_chars_size = xxx, limit = xxx): (while reading column order_sn): (while reading from part /clickhouse/xxx/xxx/store/xxx/c3ff3852-5f5d-xxx-xxx-95e34f91fdf8/all_xxx/ in table xxx (c3ff3852-5f5d-xxx-xxx-95e34f91fdf8) located on disk default of type local, from mark 192 with max_rows_to_read = xxx): While executing MergeTreeThread: while pushing to view xxx (2b1cfb37-6694-xxx-xxx-785513b23836). (MEMORY_LIMIT_EXCEEDED) (version 23.8.16.1) , server ClickHouseNode [uri=http://10.xxx.xxx.xxx:xxx/default]@742123xxx
DTS-RETRY-ERR-0673: READONLY You can't write against a read only replica.
Kemungkinan penyebab: DTS dikonfigurasi untuk menulis data ke node replika Redis read-only.
Solusi: Ubah konfigurasi tujuan tugas DTS agar mengarah ke node master Redis.
Contoh kesalahan:
redis.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a read only replica.
DTS-RETRY-ERR-0674: RecordTooLargeException
Kemungkinan penyebab: Ukuran pesan yang dicoba dikirim DTS ke Kafka tujuan melebihi batas ukuran pengiriman pesan maksimum Kafka.
Solusi: Periksa data sumber untuk mengonfirmasi apakah ada catatan yang berisi field terlalu besar, seperti field TEXT atau BLOB yang sangat besar. Jika data normal, tingkatkan batas ukuran pengiriman pesan maksimum Kafka tujuan. Anda juga dapat mengonfigurasi pemetaan kolom objek dalam tugas DTS untuk mengecualikan field yang menyebabkan pesan terlalu besar.
Contoh kesalahan:
DTS-100047: retry 4102 times, 43206 seconds, which exceed the supposed 43200 seconds cause: ExecutionException: com.xxx.kafka_thin_xxx.common.errors.RecordTooLargeException: The request included a message larger than the max message size the server will accept. RecordTooLargeException: The request included a message larger than the max message size the server will accept.
DTS-RETRY-ERR-0675: rejected execution of primary operation
Kemungkinan penyebab: Elasticsearch tujuan telah memicu mekanisme pemutus sirkuit karena tekanan sumber daya berlebihan, seperti CPU, memori, atau penggunaan disk tinggi, dan telah menolak permintaan penulisan dari DTS.
Solusi: Periksa status kesehatan dan beban sumber daya Elasticsearch tujuan. Anda mungkin perlu memperluas kluster, mengoptimalkan indeks, atau mengurangi laju penulisan.
Contoh kesalahan:
DTS-100047: retry 15 times, 219 seconds, which exceed the supposed 922337203685477xxxx seconds cause: IOException: es: DTS-10035: Index error: rejected execution of primary operation [coordinating_and_primary_bytes=xxx, replica_bytes=0, all_bytes=xxx, primary_operation_bytes=xxx, max_coordinating_and_primary_bytes=xxx] CriticalAnyAllException: es: DTS-10035: Index error: rejected execution of primary operation [coordinating_and_primary_bytes=xxx, replica_bytes=0, all_bytes=141360231, primary_operation_bytes=xxx, max_coordinating_and_primary_bytes=xxx]
DTS-RETRY-ERR-0676: Requests rate limit exceeded
Kemungkinan penyebab: Laju penulisan dari DTS ke instans Elasticsearch tujuan telah melebihi batas frekuensi permintaan layanan.
Solusi: Atur batas laju sinkronisasi yang wajar dalam konfigurasi tugas DTS, atau tingkatkan instans Elasticsearch tujuan untuk mendapatkan kapasitas throughput yang lebih tinggi.
Contoh kesalahan:
DTS-100047: retry 15 times, 79 seconds, which exceed the supposed 922337203685477xxx seconds cause: IOException: es: DTS-10035: Index error: Error from remote service: {"error": {"code": "Throttling.RateQuota", "message": "Requests rate limit exceeded, please try again later."}} CriticalAnyAllException: es: DTS-10035: Index error: Error from remote service: {"error": {"code": "Throttling.RateQuota", "message": "Requests rate limit exceeded, please try again later."}}
DTS-RETRY-ERR-0677: rollback segment number (.*)? with name "(.*)?" too small
Kemungkinan penyebab: Ini adalah kesalahan Oracle ORA-01555: snapshot too old. Kueri penuh yang dieksekusi oleh DTS memakan waktu terlalu lama. Selama waktu ini, banyak perubahan data terjadi di database sumber, sehingga Oracle tidak dapat menggunakan informasi UNDO untuk membangun tampilan data konsisten pada waktu mulai kueri.
Solusi: Tingkatkan ukuran ruang tabel UNDO di database Oracle sumber.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 868490004694617xxxx) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 48910 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error SQLException: ORA-01555: snapshot too old: rollback segment number xxx with name "xxx" too small
DTS-RETRY-ERR-0678: routing is required
Kemungkinan penyebab: Indeks Elasticsearch tujuan memerlukan nilai _routing untuk diberikan saat dokumen ditulis, tetapi tugas DTS belum mengonfigurasi aturan routing yang sesuai.
Solusi: Dalam tugas DTS, konfigurasikan field routing yang benar berdasarkan desain indeks Elasticsearch Anda.
Contoh kesalahan:
DTS-100047: retry 15 times, 15 seconds, which exceed the supposed 922337203685477xxxx seconds cause: IOException: es: DTS-10035: routing is required for [xxx]/[xxx] CriticalAnyAllException: es: DTS-10035: routing is required for [xxx]/[xxx]
DTS-RETRY-ERR-0679: Row size too large
Kemungkinan penyebab: Ukuran total baris yang dicoba ditulis DTS melebihi batas ukuran baris maksimum tabel MySQL tujuan.
Solusi: Periksa dan optimalkan skema tabel sumber dan tujuan. Anda dapat mengubah beberapa field VARCHAR panjang menjadi tipe TEXT atau BLOB, karena data dalam tipe ini tidak sepenuhnya dihitung terhadap batas ukuran baris. Setelah memodifikasi skema tabel, restart the DTS task.
Contoh kesalahan:
DTS-100047: retry 112 times, 1203 seconds, which exceed the supposed 1200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-dedl7sabm8gxxxx */insert ignore into `xxx`.`xxx`() VALUES (),currentRow:xxx, reason: Row size too large (> xxx). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline. BatchUpdateException: Row size too large (> xxx). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline. MySQLSyntaxErrorException: Row size too large (> xxx). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
DTS-RETRY-ERR-0680: Running in read-only mode
Kemungkinan penyebab: Instans database MySQL tujuan saat ini dalam mode read-only (read_only=ON), dan DTS tidak dapat menulis data.
Solusi: Periksa status database tujuan, atur ke mode read-write, lalu restart the DTS task.
Contoh kesalahan:
DTS-100047: retry 4201 times, 43203 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-ia8o8et1129xxxx */insert ignore into `xxx`.`xxx`() VALUES (),currentRow:null, reason: Running in read-only mode BatchUpdateException: Running in read-only mode SQLException: Running in read-only mode
DTS-RETRY-ERR-0681: Schema (.*)? not found
Kemungkinan penyebab: Saat DTS mengakses database, tidak dapat menemukan skema yang ditentukan, yang setara dengan database atau pengguna di beberapa database. Hal ini mungkin karena skema tidak ada atau akun DTS tidak memiliki izin untuk mengaksesnya.
Solusi: Pastikan nama skema yang dikonfigurasi di DTS benar dan akun DTS telah diberikan izin untuk mengakses skema tersebut.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 232142460080776xxxx) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 2 seconds, which exceed the supposed 43200 seconds DbException: Schema "xxx" not found [90079-193] JdbcSQLException: Schema "xxx" not found [90079-193]
DTS-RETRY-ERR-0682: Server shutdown in progress
Kemungkinan penyebab: Server database MySQL sumber sedang dalam proses shutdown dan tidak lagi menerima operasi apa pun.
Solusi: Periksa status database sumber. Setelah menyelesaikan proses shutdown dan restart serta kembali memberikan layanan, restart the DTS task.
Contoh kesalahan:
DTS-31009: read source data error cause: MySQLNonTransientConnectionException: Server shutdown in progress
DTS-RETRY-ERR-0683: set connection_id fail
Kemungkinan penyebab: DTS gagal mengatur connection_id saat terhubung ke PolarDB Multi-master Cluster (Limitless) Edition. Hal ini mungkin menunjukkan bahwa versi atau konfigurasi database tujuan tidak mendukung operasi spesifik ini.
Solusi: Ini adalah masalah kompatibilitas antara DTS dan versi database tertentu. Konfirmasi apakah database mendukung operasi ini.
Contoh kesalahan:
DTS-70032: set connection_id fail exceed retry time=4, threadid=4294963209, biId=264, adaptedBiId=9, fatal error, let's exit
DTS-RETRY-ERR-0684: SQLException: could not find next log
Kemungkinan penyebab: Saat membaca file log biner MySQL sumber secara berurutan, DTS tidak dapat menemukan file berikutnya yang diharapkan. Misalnya, tidak dapat menemukan .000906 setelah mysql-bin.000905. Hal ini biasanya berarti bahwa file log biner telah dibersihkan secara manual atau otomatis oleh database.
Solusi: Perpanjang kebijakan retensi log biner database sumber. Anda perlu restart the DTS task atau melanjutkan tugas dengan melewati offset, yang membawa risiko kehilangan data.
Contoh kesalahan:
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: could not find next log; the first event 'mysql-bin.000345' at 763652xxx, the last event read from './mysql-bin.000905' at 1073755xxx, the last byte read from './mysql-bin.000905' at 1073755xxx. SQLException: could not find next log; the first event 'mysql-bin.000345' at 763652xxx, the last event read from './mysql-bin.000905' at 1073755xxx, the last byte read from './mysql-bin.000905' at 1073755xxx. CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: could not find next log; the first event 'mysql-bin.000345' at 763652xxx, the last event read from './mysql-bin.000905' at 1073755xxx, the last byte read from './mysql-bin.000905' at 1073755xxx. SQLException: could not find next log; the first event 'mysql-bin.000345' at 763652xxx, the last event read from './mysql-bin.000905' at 1073755xxx, the last byte read from './mysql-bin.000905' at 1073755xxx.
DTS-RETRY-ERR-0685: SQLException: Operand should contain 1 column
Kemungkinan penyebab: Dalam kueri SQL yang dibuat oleh DTS, subkueri mengembalikan lebih dari satu kolom, sedangkan konteksnya hanya mengizinkan satu kolom. Hal ini biasanya terjadi ketika DTS dikonfigurasi dengan kondisi filter yang mengandung kesalahan sintaksis.
Solusi: Periksa kondisi filter yang dikonfigurasi untuk objek sumber dalam tugas DTS dan pastikan kondisi tersebut mematuhi sintaksis SQL, terutama penggunaan subkueri.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 692535449456161xxxx) failed cause: FatalAnyAllException: common: DTS-100047: retry 4296 times, 43209 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-30020: execute sql:/* DTS-full-h78o5f6927bxxxx */SELECT xxx FROM xxx WHERE ( xxx ) --> (null, null) record range id = 692535449456161xxx, fetchSize = -214748xxx SQLException: Operand should contain 1 column(s)
DTS-RETRY-ERR-0686: SSLProtocolException: Received fatal alert: unexpected_message
Kemungkinan penyebab: Selama komunikasi terenkripsi SSL antara DTS dan database PostgreSQL sumber, diterima pesan tak terduga yang tidak sesuai dengan protokol SSL, sehingga menyebabkan handshake gagal.
Solusi: Periksa adanya kelainan di jaringan antara DTS dan database sumber. Setelah konfirmasi dilakukan, restart the DTS task.
Contoh kesalahan:
DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed FatalAnyAllException: common: DTS-100047: retry 0 times, 851577266 seconds, which exceed the supposed 600 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-0687: STANDBY_MAX_DATA_DELAY of (.*)? seconds exceeded
Kemungkinan penyebab: DTS terhubung ke database standby Oracle yang dikonfigurasi dengan mode perlindungan data. Latensi sinkronisasi antara database primer dan standby telah melebihi ambang batas yang ditetapkan oleh parameter STANDBY_MAX_DATA_DELAY, sehingga menyebabkan database standby menolak kueri untuk memastikan konsistensi data.
Solusi: Periksa dan selesaikan masalah latensi antara database Oracle primer dan standby. Atau, jika bisnis Anda mengizinkan, pertimbangkan untuk terhubung ke database primer untuk sinkronisasi.
Contoh kesalahan:
java.sql.SQLException: ORA-03172: STANDBY_MAX_DATA_DELAY of xxx seconds exceeded
DTS-RETRY-ERR-0688: String or binary data would be truncated in table (.*)?, column '(.*)?. Truncated value
Kemungkinan penyebab: Panjang field dalam data sumber melebihi panjang maksimum kolom yang sesuai di tabel SQL Server tujuan, sehingga menyebabkan data terpotong saat ditulis.
Solusi: Bandingkan skema tabel sumber dan tujuan. Anda perlu meningkatkan panjang kolom yang sesuai di tabel tujuan (misalnya, dari VARCHAR(50) menjadi VARCHAR(200)) untuk mengakomodasi data sumber. Setelah memodifikasi skema tabel, restart the DTS task.
Contoh kesalahan:
java.sql.BatchUpdateException: String or binary data would be truncated in table 'xxx', column 'xxx'. Truncated value: 'xxx'.
DTS-RETRY-ERR-0689: Subquery returned more than 1 value.
Kemungkinan penyebab: Pernyataan SQL yang dieksekusi oleh DTS berisi subkueri yang mengembalikan lebih dari satu nilai saat digunakan sebagai ekspresi, yang tidak diizinkan dalam SQL. Hal ini sering disebabkan oleh pemicu atau logika kunci asing di database tujuan yang memicu subkueri bermasalah saat DTS menulis data.
Solusi: Periksa logika otomatis di database tujuan yang terkait dengan tabel yang disinkronkan, seperti pemicu dan kunci asing. Pastikan logika tersebut tidak menghasilkan kesalahan jenis ini saat DTS menulis data. Kami menyarankan Anda menonaktifkan logika ini selama sinkronisasi atau migrasi.
Contoh kesalahan:
com.microsoft.sqlserver.jdbc.SQLServerException: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
DTS-RETRY-ERR-0690: Table has no partition for value
Kemungkinan penyebab: Nilai kunci partisi untuk data yang dicoba ditulis oleh DTS tidak memiliki partisi yang sesuai di tabel partisi MySQL tujuan.
Solusi: Berdasarkan nilai kunci partisi data sumber, periksa dan modifikasi definisi partisi tabel tujuan untuk memastikan semua data yang mungkin dapat diarahkan ke partisi yang sesuai. Misalnya, Anda dapat menambahkan partisi baru untuk rentang waktu mendatang.
Contoh kesalahan:
DTS-077100: Record Replicator error in table xxx. cause by [java.sql.SQLException: Table has no partition for value from column_list] About more information in [https://xxx].
DTS-RETRY-ERR-0691: table not found
Kemungkinan penyebab: DTS mencoba menulis data ke SelectDB (Doris) tujuan, tetapi tabel yang ditentukan tidak ada di database tujuan.
Solusi: Periksa apakah objek sinkronisasi yang dikonfigurasi dalam tugas DTS benar, dan pastikan tabel yang sesuai telah dibuat di database tujuan.
Contoh kesalahan:
java.io.IOException: Failed to stream load data to SelectDB.Key status is fail. Load result: {"Status":"Fail","Comment":"","BeginTxnTimeMs":0,"Message":"[NOT_FOUND]TStatus: errCode = 7, detailMessage = table not found, tableName=xxx","NumberUnselectedRows":0,"CommitAndPublishTimeMs":0,"Label":"DTS-SelectDB-Sinkc16c2c5d-xxx-xxx-xxx-5a647cb41cf1","LoadBytes":0,"StreamLoadPutTimeMs":0,"NumberTotalRows":0,"WriteDataTimeMs":0,"ReceiveDataTimeMs":0,"TxnId":-1,"LoadTimeMs":0,"TwoPhaseCommit":"false","ReadDataTimeMs":0,"NumberLoadedRows":0,"NumberFilteredRows":0}
DTS-RETRY-ERR-0692: the database system is in recovery mode
Kemungkinan penyebab: Database PostgreSQL yang dicoba dihubungkan oleh DTS saat ini dalam mode pemulihan dan tidak dapat menerima koneksi normal.
Solusi: Tunggu hingga database menyelesaikan proses pemulihan. Setelah database kembali beroperasi normal, mulai ulang Tugas DTS.
Contoh kesalahan:
org.postgresql.util.PSQLException: FATAL: the database system is in recovery mode
DTS-RETRY-ERR-0693: the database system is not yet accepting connections
Kemungkinan penyebab: Database PostgreSQL yang dicoba dihubungkan oleh DTS sedang startup tetapi belum mencapai keadaan pemulihan konsisten tempat dapat menerima koneksi.
Solusi: Tunggu hingga database menyelesaikan proses startup. Setelah database kembali memberikan layanan normal, restart the DTS task.
Contoh kesalahan:
org.postgresql.util.PSQLException: FATAL: the database system is not yet accepting connections Detail: Consistent recovery state has not been yet reached.
DTS-RETRY-ERR-0694: the database system is starting up
Kemungkinan penyebab: Database PostgreSQL yang dicoba dihubungkan oleh DTS sedang dalam proses startup dan sementara tidak dapat menerima koneksi.
Solusi: Tunggu hingga database selesai startup. Setelah database kembali memberikan layanan normal, restart the DTS task.
Contoh kesalahan:
org.postgresql.util.PSQLException: FATAL: the database system is starting up
DTS-RETRY-ERR-0695: The index entry of length (.*)? bytes for the index (.*)? exceeds the maximum length of (.*)? bytes
Kemungkinan penyebab: Dalam baris yang akan dimasukkan atau diperbarui, nilai gabungan satu atau beberapa kolom menyebabkan panjang total entri indeks melebihi panjang kunci indeks maksimum yang diizinkan oleh SQL Server (misalnya, xxx byte untuk indeks non-terkluster).
Solusi: Periksa data sumber untuk nilai yang terlalu panjang. Anda perlu memperpendek panjang data field yang relevan atau mendesain ulang indeks tabel tujuan untuk menghindari memasukkan kolom yang terlalu panjang dalam indeks.
Contoh kesalahan:
com.microsoft.sqlserver.jdbc.SQLServerException: Operation failed. The index entry of length xxx bytes for the index 'xxx' exceeds the maximum length of xxx bytes.
DTS-RETRY-ERR-0696: The INSERT permission was denied on the object (.*)?
Kemungkinan penyebab: Akun yang digunakan DTS untuk terhubung ke database SQL Server tujuan tidak memiliki izin untuk melakukan operasi INSERT pada tabel tertentu.
Solusi: Berikan izin INSERT pada tabel yang relevan kepada akun database tujuan yang digunakan oleh DTS.
Contoh kesalahan:
java.sql.BatchUpdateException: The INSERT permission was denied on the object 'xxx', database 'xxx', schema 'xxx'.
DTS-RETRY-ERR-0697: The SELECT would examine more than (.*)? rows
Kemungkinan penyebab: Kueri yang dieksekusi oleh DTS pada node read-only indeks penyimpanan kolom PolarDB diharapkan memindai lebih banyak baris daripada ambang batas yang ditetapkan oleh parameter RDS_AP_THREHOLD. Database menolak kueri untuk mencegah masalah kinerja.
Solusi: Tingkatkan nilai parameter RDS_AP_THREHOLD untuk database PolarDB tujuan, atau atur sesi menjadi SET SQL_AP_SELECTS=ON. Setelah penyesuaian dilakukan, restart the DTS task.
Contoh kesalahan:
DTS-30020: execute sql:/* DTS-full-d1gc8s3615zxxx */SELECT xxx FROM xxx --> (null, null) record range id = 271169604478094xxxx, fetchSize = -214748xxxx cause: SQLException: The SELECT would examine more than RDS_AP_THREHOLD rows; SET SQL_AP_SELECTS=ON or redirect to AP node.
DTS-RETRY-ERR-0698: The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs
Kemungkinan penyebab: DTS menggunakan mode GTID untuk replikasi, tetapi file log biner yang berisi offset GTID awal yang diperlukan telah dibersihkan di server MySQL sumber.
Solusi: Segera tingkatkan periode retensi log biner database MySQL sumber.
Contoh kesalahan:
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: The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires. Replicate the missing transactions from elsewhere, or provision a new slave from backup. Consider increasing the master's binary log expiration period. The GTID set sent by the slave is '487e509d-316f-xxx-xxx-00163e257207:1-xxxx', and the missing transactions are '487e509d-316f-xxx-xxx-00163e257207:125941-xxx'. SQLException: The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires. Replicate the missing transactions from elsewhere, or provision a new slave from backup. Consider increasing the master's binary log expiration period. The GTID set sent by the slave is '487e509d-xxxx-xxx-xxx-00163e257207:1-125xxxx', and the missing transactions are '487e509d-xxx-xxx-xxxx-00163e257207:125941-12xxx'. CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires. Replicate the missing transactions from elsewhere, or provision a new slave from backup. Consider increasing the master's binary log expiration period. The GTID set sent by the slave is '487e509d-xxx-xxx-xxx-00163e257207:1-125xxx', and the missing transactions are '487e509d-xxx-xxx-xxx-00163e257207:125941-12xxx'. SQLException: The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires. Replicate the
DTS-RETRY-ERR-0699: The specified download session id does not exist.
Kemungkinan penyebab: ID sesi yang digunakan DTS untuk mengunduh data dari MaxCompute telah kedaluwarsa atau tidak valid.
Solusi: Ini adalah masalah sesi sementara. Anda dapat restart the DTS task. DTS akan secara otomatis membuat sesi unduh baru.
Contoh kesalahan:
RequestId=20250626174326a181c40b04xxxx, ErrorCode=NoSuchDownload, ErrorMessage=The specified download session id does not exist.
DTS-RETRY-ERR-0700: The specified table has been modified since the download initiated.
Kemungkinan penyebab: Selama proses DTS memuat data dari MaxCompute, skema tabel tujuan dimodifikasi (misalnya, dengan mengeksekusi ALTER TABLE), sehingga menyebabkan sesi unduh menjadi tidak valid.
Solusi: Jangan melakukan operasi DDL pada tabel tujuan di MaxCompute selama sinkronisasi penuh DTS.
Contoh kesalahan:
DTS-31009: In process of processing data (recordRange: 788966514532706xxx) failed cause: CriticalAnyAllException: odps: DTS-11014: odps getRecordReader error,project:xxx table:xxx FatalAnyAllException: common: DTS-100047: retry 2535 times, 43206 seconds, which exceed the supposed 43200 seconds TunnelException: RequestId=202507290629070934c40b02fxxx, ErrorCode=TableModified, ErrorMessage=The specified table has been modified since the download initiated. Try initiate another download.