Topik ini menjelaskan kesalahan umum (DTS-RETRY-ERR-0301 hingga DTS-RETRY-ERR-0400) yang terjadi selama eksekusi tugas DTS dan menyediakan solusinya.
Topik ini menggunakan ekspresi reguler ((.*)?) untuk merepresentasikan variabel dalam pesan error.
DTS-RETRY-ERR-0301: Data karakter tidak valid ditemukan
Kemungkinan penyebab: Database atau tabel tujuan menggunakan set karakter yang tidak kompatibel dengan sumber, sehingga mencegah penulisan data.
Solusi: Ubah set karakter database atau tabel tujuan menjadi yang kompatibel dengan sumber, lalu restart tugas DTS.
Contoh pesan error:
truncated CriticalAnyAllException: postgresql: DTS-11002: Invalid character data was found.DTS-RETRY-ERR-0302: (.*)? adalah none dalam klausa where
Kemungkinan penyebab: Kondisi filter yang dikonfigurasi pada instans DTS salah.
Solusi:
Instans sinkronisasi: Perbaiki klausa filter, lalu restart tugas DTS. Untuk informasi lebih lanjut, lihat Langkah berikutnya.
Instans migrasi: Restart tugas DTS. Jika instans tidak dapat dipulihkan, konfigurasi ulang tugas DTS.
Contoh pesan error:
TransactionReplicateException: transaction-replicate: DTS-71001: MysqlRelatedTextSqlBuilderTools: record **** msg is none in where causes.DTS-RETRY-ERR-0303: Ukuran kolom atribut (.*)? telah melebihi panjang maksimum
Kemungkinan penyebab: Panjang beberapa kolom dalam data yang akan ditulis melebihi panjang maksimum kolom tersebut di database tujuan.
Solusi: Ubah panjang maksimum kolom bermasalah pada tabel database tujuan agar memenuhi kebutuhan penulisan data, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: ClientException: The size of attribute column 'task_i****' has exceeded the max length: 2097152.DTS-RETRY-ERR-0306: Error saat mengurai nilai kolom ETL untuk perintah
Kemungkinan penyebab: Pernyataan pemrosesan data extract, transform, and load (ETL) salah, sehingga eksekusi ETL gagal.
Solusi:
Instans sinkronisasi: Periksa dan perbaiki pernyataan pemrosesan data, lalu restart tugas DTS.
Instans migrasi: Konfigurasi ulang tugas migrasi dengan pernyataan pemrosesan data yang benar.
Contoh pesan error:
ETL: DTS--0001: Error while parsing column ETL value for command e_switch ****DTS-RETRY-ERR-0307: Writer telah ditutup
Kemungkinan penyebab: Data tidak dapat ditulis ke database tujuan.
Solusi: Verifikasi bahwa log perubahan inkremental tersedia di database sumber, database tujuan berjalan normal, skema database tujuan kompatibel dengan sumber, dan akun database tujuan memiliki izin yang diperlukan. Lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 15 times, 15 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: Writer has been closed.DTS-RETRY-ERR-0308: Error saat mengeksekusi ETL
Kemungkinan penyebab: Pernyataan pemrosesan data ETL salah, sehingga eksekusi ETL gagal.
Solusi:
Instans sinkronisasi: Periksa dan perbaiki pernyataan pemrosesan data, lalu restart tugas DTS.
Instans migrasi: Konfigurasi ulang tugas migrasi dengan pernyataan pemrosesan data yang benar.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 330151334436352****) failed cause: FatalAnyAllException: common: DTS-100047: retry 4251 times, 43201 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: ETL: DTS--0001: Error while executing ETL: e_switch ****DTS-RETRY-ERR-0310: Fungsi (.*)? tidak ditemukan
Kemungkinan penyebab | Solusi |
Fungsi yang disebutkan dalam pesan error tidak ada di database tujuan. | Buat fungsi yang sesuai di database tujuan berdasarkan pesan error dan definisi fungsi di database sumber, lalu restart tugas DTS. |
Database tujuan tidak mendukung fungsi. | Konfigurasi ulang tugas DTS. |
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 782344968821171****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds DbException: Function "UNIX_TIMESTAMP" not found [90022-193] JdbcSQLException: Function "UNIX_TIMESTAMP" not found [90022-193]DTS-RETRY-ERR-0311: MongoExecutionTimeoutException: operasi melebihi batas waktu
Kemungkinan penyebab: DTS timeout saat mengeksekusi operasi perubahan di database MongoDB tujuan.
Solusi: Jika bisnis Anda mengizinkan, hapus batas timeout database atau tingkatkan spesifikasi database, lalu restart tugas DTS.
Contoh pesan error:
FatalAnyAllException: common: DTS-100047: retry 1 times, 45662 seconds, which exceed the supposed 43200 seconds RuntimeException: com.mongodb.MongoExecutionTimeoutException: operation exceeded time limit MongoExecutionTimeoutException: operation exceeded time limitDTS-RETRY-ERR-0312: Tabel tidak memenuhi persyaratan oleh plugin eksternal
Kemungkinan penyebab: Database tujuan tidak dapat melakukan operasi tulis karena pembatasan plugin eksternal.
Solusi: Atasi dan selesaikan masalah plugin database, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 3957 times, 43202 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** reason: The table does not comply with the requirements by an external plugin. BatchUpdateException: The table does not comply with the requirements by an external plugin. SQLException: The table does not comply with the requirements by an external plugin.DTS-RETRY-ERR-0313: Koneksi telah ditutup
Kemungkinan penyebab: Koneksi database telah ditutup, sehingga DTS tidak dapat terhubung ke instans database.
Solusi: Periksa log database untuk mengidentifikasi akar masalah, selesaikan masalah tersebut, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 953 seconds, which exceed the supposed 600 seconds cause: SQLServerException: SQL Server returned an incomplete response. The connection has been closed.DTS-RETRY-ERR-0314: Gagal mendapatkan kunci global untuk tabel/tampilan
Kemungkinan penyebab: Tidak dapat membuat tabel atau tampilan di database tujuan.
Solusi: Atasi masalah terkait status database dan izin akun database, lalu restart tugas DTS.
Contoh pesan error:
DTS-10046: execute sql: CREATE TABLE if not exists **** ENGINE=InnoDB DEFAULT CHARSET=utf8 failed. Create TransactionTable failed. cause: SQLException: Failed to get global lock for table/view 'dts.dts****' on master 1DTS-RETRY-ERR-0315: Tidak dapat mengonversi nilai NULL ke tipe non-Nullable
Kemungkinan penyebab: Nilai null sedang ditulis ke kolom dengan kendala NOT NULL di database tujuan.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan sesuai (misalnya, hapus kendala NOT NULL dari kolom bermasalah). Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 4123 times, 43209 seconds, which exceed the supposed 43200 seconds cause: BatchUpdateException: Code: 349. DB::Exception: Cannot convert NULL value to non-Nullable type: while converting source column alerting_time to destination column alerting_time: while executing 'FUNCTION _CAST****DTS-RETRY-ERR-0319: Tidak dapat mengatur null ke kolom non-nullable
Kemungkinan penyebab: Nilai null sedang ditulis ke kolom dengan kendala NOT NULL di database tujuan.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan sesuai (misalnya, hapus kendala NOT NULL dari kolom bermasalah). Restart tugas DTS.
Contoh pesan error:
common: DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: SQLException: Cannot set null to non-nullable column #7 ****DTS-RETRY-ERR-0321: Host (.*)? tidak diizinkan terhubung ke server MySQL ini
Kemungkinan penyebab: DTS tidak dapat terhubung ke database.
Solusi: Atasi masalah daftar putih database dan tambahkan rentang alamat IP server DTS ke pengaturan keamanan database. Lalu restart tugas DTS.
Contoh pesan error:
java.sql.SQLException: null, message from server: "Host '100.104.XX.XX' is not allowed to connect to this MySQL server"DTS-RETRY-ERR-0322: Disk penuh
Kemungkinan penyebab: Disk database tujuan penuh.
Solusi: Perluas disk space database tujuan, lalu restart tugas DTS.
Contoh pesan error:
DTS-10046: execute sql: CREATE TABLE if not exists **** ENGINE=InnoDB DEFAULT CHARSET=utf8 failed. Create TransactionTable failed. cause: SQLException: Create table/tablespace 'dts****' failed, as disk is fullDTS-RETRY-ERR-0325: Error dispersi untuk kolom
Kemungkinan penyebab: Skema database tujuan (seperti tipe atau panjang kolom) tidak konsisten dengan sumber, sehingga mencegah penulisan data.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 15 times, 15 seconds, which exceed the supposed 922337203685477**** seconds cause: CriticalAnyAllException: database-framework: DTS-61001: disperse error for column:bo_**** BIGINT nullable as bo_**** of table ****DTS-RETRY-ERR-0326: Socket ditutup
Kemungkinan penyebab: Koneksi database telah ditutup, sehingga DTS tidak dapat terhubung ke instans database.
Solusi: Periksa log database untuk mengidentifikasi akar masalah, selesaikan masalah tersebut, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: SQLException: java.lang.reflect.InvocationTargetException InvocationTargetException: null IOException: Socket is closedDTS-RETRY-ERR-0327: Error saat mengeksekusi ETL pengguna
Kemungkinan penyebab: Pernyataan pemrosesan data ETL salah, sehingga eksekusi ETL gagal.
Solusi:
Instans sinkronisasi: Periksa dan perbaiki pernyataan pemrosesan data, lalu restart tugas DTS.
Instans migrasi: Konfigurasi ulang tugas migrasi dengan pernyataan pemrosesan data yang benar.
Contoh pesan error:
framework: DTS-31009: In process of processing data (recordRange: 273076918923611****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: ETL: DTS--0001: Error while executing user ETL: For input string: ****DTS-RETRY-ERR-0328: Mendapat error IllegalDataException dari mesin penyimpanan
Kemungkinan penyebab: Terjadi pengecualian di database tujuan.
Solusi: Verifikasi bahwa database tujuan berjalan normal dan dapat dihubungi, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: BatchUpdateException: Got error IllegalDataException from storage engine. Detailed error: Must not use byte[0] for BINARY/VARBINARY, please use null instead. ****DTS-RETRY-ERR-0329: Error konversi data saat mengonversi
Kemungkinan penyebab: Skema database tujuan (seperti tipe atau panjang kolom) tidak konsisten dengan sumber, sehingga mencegah penulisan data.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 576317120221859****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds DbException: Data conversion error converting "2024-12-19 00:00:00" [22018-193] JdbcSQLException: Data conversion error converting "2024-12-19 00:00:00" [22018-193] NumberFormatException: For input string: "2024-12-19 00:00:00"DTS-RETRY-ERR-0330: Error saat mengurai skrip ETL
Kemungkinan penyebab: Pernyataan pemrosesan data ETL salah, sehingga eksekusi ETL gagal.
Solusi:
Instans sinkronisasi: Periksa dan perbaiki pernyataan pemrosesan data, lalu restart tugas DTS.
Instans migrasi: Konfigurasi ulang tugas migrasi dengan pernyataan pemrosesan data yang benar.
Contoh pesan error:
ETL: DTS--0001: Error while parsing ETL script You have an error in your ETL syntax; check the etl document for the right syntax to use near ****DTS-RETRY-ERR-0331: Pengguna (.*)? sudah memiliki lebih dari (.*)? koneksi aktif
Kemungkinan penyebab: Batas koneksi database telah tercapai.
Solusi: Tingkatkan batas koneksi database, lalu restart tugas DTS.
Contoh pesan error:
DTS-61015: Create connection failed **** cause: MySQLSyntaxErrorException: User hzdball already has more than 'max_****' active connectionsDTS-RETRY-ERR-0332: SocketTimeoutException: Read timed out
Kemungkinan penyebab: Komunikasi jaringan antara DTS dan database timeout.
Solusi: Verifikasi bahwa database sumber berjalan normal dan DTS dapat terhubung dengannya (periksa pengaturan koneksi database, pengaturan daftar putih, dan kredensial akun). Lalu restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 513789742289413****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 3667 seconds, which exceed the supposed 600 seconds CriticalAnyAllException: framework: DTS-31009: read source data error CommunicationsException: Application was streaming results when the connection failed. Consider raising value of 'net_****' on the server. SocketTimeoutException: Read timed outDTS-RETRY-ERR-0333: Operasi tidak diizinkan pada koneksi yang ditutup
Kemungkinan penyebab: Koneksi database telah ditutup, sehingga DTS tidak dapat terhubung ke instans database.
Solusi: Periksa log database untuk mengidentifikasi akar masalah, selesaikan masalah tersebut, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: SQLException: java.lang.reflect.InvocationTargetException InvocationTargetException: null MySQLNonTransientConnectionException: Operation not allowed on closed connectionDTS-RETRY-ERR-0334: Tidak dapat mendapatkan objek geometri dari data yang Anda kirim ke bidang GEOMETRY
Kemungkinan penyebab: Data yang ditulis ke bidang tipe GEOMETRY tidak dapat diurai sebagai objek geometri.
Solusi: Sesuaikan tipe bidang yang sesuai di database tujuan, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 4316 times, 43206 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Data truncation: Cannot get geometry object from data you send to the GEOMETRY field BatchUpdateException: Data truncation: Cannot get geometry object from data you send to the GEOMETRY field MysqlDataTruncation: Data truncation: Cannot get geometry object from data you send to the GEOMETRY fieldDTS-RETRY-ERR-0335: Tidak dapat mengurai konstanta (.*)?
Kemungkinan penyebab: Skema database tujuan (seperti tipe atau panjang kolom) tidak konsisten dengan sumber, sehingga mencegah penulisan data.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 436256372039247****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 1 seconds, which exceed the supposed 43200 seconds DbException: Cannot parse "TIMESTAMP" constant "2024-11-01 00:00" [22007-193] JdbcSQLException: Cannot parse "TIMESTAMP" constant "2024-11-01 00:00" [22007-193] IllegalArgumentException: 2024-11-01 00:00DTS-RETRY-ERR-0336: Error fungsi format partisi kolom (.*)?
Kemungkinan penyebab: Bidang di database tujuan memiliki format data yang tidak memenuhi persyaratan, sehingga eksekusi fungsi gagal.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 4222 times, 43200 seconds, which exceed the supposed 43200 seconds cause: RuntimeException: Table **** with columns **** and batch exception is **** column **** partition format function error: date_format(?, %Y%m), value: } BatchUpdateException: **** column **** partition format function error: date_format(?, %Y%m), value: ****DTS-RETRY-ERR-0338: java.lang.NumberFormatException
Kemungkinan penyebab: Skema database tujuan (seperti tipe atau panjang kolom) tidak konsisten dengan sumber, sehingga mencegah penulisan data.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 40009630192186****) failed cause: FatalAnyAllException: common: DTS-100047: retry 1189 times, 43220 seconds, which exceed the supposed 43200 seconds RuntimeException: java.lang.NumberFormatException: For input string: "****" NumberFormatException: For input string: "****"DTS-RETRY-ERR-0339: Tidak dapat membuat nilai JSON dari string
Kemungkinan penyebab: Tidak dapat menulis data tipe STRING dari database sumber ke bidang tipe JSON di database tujuan.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 1396 times, 43232 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: **** MysqlDataTruncation: Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.DTS-RETRY-ERR-0340: Mesin tabel adalah (.*)?, merupakan mesin non-transaksional
Kemungkinan penyebab: Tabel tujuan menggunakan mesin penyimpanan non-transaksional, sehingga mencegah penulisan data.
Solusi: Jika bisnis Anda mengizinkan, ubah tabel tujuan untuk menggunakan mesin penyimpanan transaksional (seperti InnoDB), lalu restart tugas DTS.
Contoh pesan error:
DTS-30021: Optional[cvte_com_zh].Optional[InfoArticle]'s table engine is [MyISAM], it is a non-transactional engine.DTS-RETRY-ERR-0341: Koneksi SSL diperlukan, tetapi tidak didukung oleh server
Kemungkinan penyebab: Database sumber atau tujuan tidak mendukung koneksi aman SSL.
Solusi: Gunakan salah satu metode berikut:
Metode 1: Aktifkan enkripsi SSL untuk database sumber atau tujuan.
Metode 2: Konfigurasi koneksi database sumber atau tujuan untuk menggunakan metode non-terenkripsi (pilih Non-encrypted untuk Encryption).
Contoh pesan error:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: SSL Connection required, but not supported by server.DTS-RETRY-ERR-0342: Encoding tidak didukung
Kemungkinan penyebab: Database atau tabel tujuan menggunakan set karakter yang tidak kompatibel dengan sumber, sehingga mencegah penulisan data.
Solusi: Ubah set karakter database atau tabel tujuan menjadi yang kompatibel dengan sumber, lalu restart tugas DTS.
Contoh pesan error:
DTS-073602: Record Converter failed for the record of table ****. cause by [Unsupported encoding: utf8mb3] About more information in ****DTS-RETRY-ERR-0343: PSQLException: ERROR: kehabisan memori
Kemungkinan penyebab: Database tujuan kehabisan memori.
Solusi: Tingkatkan spesifikasi database tujuan untuk menambah memori, lalu restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 343720457685853****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 35444 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error PSQLException: ERROR: out of memory Detail: Failed on request of size 131072 in memory context "ExecutorState".DTS-RETRY-ERR-0344: Writer ditutup
Kemungkinan penyebab: Data tidak dapat ditulis ke database tujuan.
Solusi: Verifikasi bahwa log perubahan inkremental tersedia di database sumber, database tujuan berjalan normal, skema database tujuan kompatibel dengan sumber, dan akun database tujuan memiliki izin yang diperlukan. Lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 15 times, 15 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: Writer is closed.DTS-RETRY-ERR-0345: Penulisan pengguna diblokir
Kemungkinan penyebab: Akun database tujuan yang digunakan oleh tugas DTS tidak dapat menulis data ke database tujuan.
Solusi: Verifikasi bahwa akun database tujuan memiliki izin tulis yang cukup dan instans database tidak membatasi penulisan untuk akun tersebut. Lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 2 seconds, which exceed the supposed 922337203685477**** seconds cause: SQLException: com.mongodb.MongoWriteException: Write operation error on server 10.42.XX.XX:XX. Write error: WriteError{code=371, message='User writes blocked', details={}}. MongoWriteException: Write operation error on server 10.42.XX.XX:XX. Write error: WriteError{code=371, message='User writes blocked', details={}}.DTS-RETRY-ERR-0346: Menghentikan koneksi karena kehabisan memori
Kemungkinan penyebab: Database sumber atau tujuan tidak dapat dihubungi karena memori tidak mencukupi.
Solusi: Tingkatkan spesifikasi database sumber atau tujuan untuk menambah memori, lalu restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 654419472062768****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 1774 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error PSQLException: FATAL: terminating connection due to out of memoryDTS-RETRY-ERR-0347: Kueri melebihi batas waktu maksimum
Kemungkinan penyebab: DTS timeout saat mengeksekusi kueri di database sumber.
Solusi: Tingkatkan pengaturan timeout kueri SQL di database sumber atau tingkatkan spesifikasi database, lalu restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 305048960847210****) failed cause: FatalAnyAllException: common: DTS-100047: retry 23 times, 43506 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error SQLException: [32005, 202502060853291921682241170345369****] : Query exceeded maximum time limit of 1800000.00msDTS-RETRY-ERR-0348: Tidak ada memori atau mencapai batas memori penyewa
Kemungkinan penyebab: Database sumber atau tujuan tidak dapat dihubungi karena memori tidak mencukupi.
Solusi: Tingkatkan spesifikasi database sumber atau tujuan untuk menambah memori, lalu restart tugas DTS.
Contoh pesan error:
jdbc-burst: DTS-61015: Create connection failed (url: 10.29.XX.XX:XX, user: cxmrw) cause: SQLException: No memory or reach tenant memory limitDTS-RETRY-ERR-0349: Server (.*)? berjalan dengan opsi (.*)? sehingga tidak dapat mengeksekusi pernyataan ini
Kemungkinan penyebab: Database tujuan dalam keadaan read-only atau terkunci, sehingga mencegah penulisan data.
Solusi: Hubungi administrator basis data (DBA) untuk memulihkan database, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 120 times, 1800 seconds, which exceed the supposed 1800 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 6 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: ****, error detail message:The MySQL server is running with the LOCK_WRITE option so it cannot execute this statement SQLException: The MySQL server is running with the LOCK_WRITE option so it cannot execute this statementDTS-RETRY-ERR-0350: Slot replikasi (.*)? aktif untuk PID (.*)?
Kemungkinan penyebab: Koneksi antara database sumber dan DTS tidak normal karena faktor seperti ketidakstabilan jaringan.
Solusi: Tunggu 5 menit, lalu restart tugas DTS. Jika masalah berlanjut, hubungi dukungan teknis Alibaba Cloud.
Contoh pesan error:
DTS-100047: retry 0 times, 1005 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 CriticalAnyAllException: postgresql-reader: DTS-52512: postgres open replication steam failed PSQLException: ERROR: replication slot "dts_****" is active for PID 3****DTS-RETRY-ERR-0352: Kolom tidak diizinkan bernilai null
Kemungkinan penyebab: Nilai null sedang ditulis ke kolom dengan kendala NOT NULL di database tujuan.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan sesuai (misalnya, hapus kendala NOT NULL dari kolom bermasalah). Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 3600 seconds cause: CriticalAnyAllException: full-lindorm: DTS-61010: column is not allowed to be null: ****DTS-RETRY-ERR-0353: Durasi masa hidup GC lebih pendek daripada durasi transaksi
Kemungkinan penyebab: DTS gagal membaca data karena timeout yang disebabkan oleh mekanisme pengumpulan sampah (GC) database sumber.
Solusi: Tingkatkan periode timeout GC di database sumber, lalu restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 341070835023137****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 259404 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error SQLException: GC life time is shorter than transaction duration, transaction starts at ****DTS-RETRY-ERR-0354: Tidak ada hasil yang dikembalikan oleh kueri
Kemungkinan penyebab: Tidak ada hasil yang dikembalikan saat DTS mengkueri data di database sumber.
Solusi: Periksa status database dan konektivitas jaringan untuk memverifikasi bahwa DTS dapat terhubung ke database secara normal, lalu restart tugas DTS.
Contoh pesan error:
DTS-31007: fetch and merge schemas failed cause: CriticalAnyAllException: full-postgresql: DTS-61006: No results were returned by the query. PSQLException: No results were returned by the query.DTS-RETRY-ERR-0355: PSQLException: Terjadi error I/O saat mengirim ke backend
Kemungkinan penyebab: DTS tidak dapat terhubung ke database secara normal.
Solusi: Periksa status database, konektivitas jaringan, firewall (atau pengaturan keamanan), dan pengaturan driver untuk memverifikasi bahwa DTS dapat terhubung ke database secara normal. Lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 1667 seconds, which exceed the supposed 43200 seconds cause: PSQLException: An I/O error occurred while sending to the backend. SocketException: Broken pipe (Write failed)DTS-RETRY-ERR-0356: NotWritablePrimary
Kemungkinan penyebab: Database tujuan yang dikonfigurasi untuk tugas DTS bukan node primary, sehingga mencegah penulisan data.
Solusi: Konfigurasi ulang tugas DTS, gunakan node primary database sebagai tujuan.
Contoh pesan error:
DTS-100047: retry 0 times, 1 seconds, which exceed the supposed 922337203685477**** seconds cause: SQLException: com.mongodb.MongoNotPrimaryException: Command failed with error 10107 (NotWritablePrimary): 'not master' on server ****DTS-RETRY-ERR-0357: Sudah ada dengan huruf kapital yang berbeda
Kemungkinan penyebab: Database dengan nama yang hanya berbeda dalam huruf kapital/kecil ada di tujuan, menyebabkan konflik penulisan data.
Solusi: Jika bisnis Anda mengizinkan, bersihkan instans tujuan, lalu restart tugas DTS.
Untuk instans sinkronisasi, gunakan fitur Ubah Objek Sinkronisasi untuk memindahkan objek yang menyebabkan error dari Objek Terpilih ke Objek Sumber dan kirimkan perubahan ini. Lalu gunakan Ubah Objek Sinkronisasi untuk menambahkannya kembali ke Selected Objects, menggunakan fitur Pemetaan Nama Database, Tabel, dan Kolom untuk menulis data ke database lain di tujuan.
Contoh pesan error:
DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 922337203685477**** seconds cause: SQLException: com.mongodb.MongoWriteException: Write operation error on server 10.46.XX.XX:XX. Write error: WriteError{code=13297, message='db already exists with different case already have: [subway] trying to create [Subway]', details={}}. MongoWriteException: Write operation error on server 10.46.XX.XX:XX.. Write error: WriteError{code=13297, message='db already exists with different case already have: [subway] trying to create [Subway]', details={}}.DTS-RETRY-ERR-0359: Terlalu banyak baris yang difilter
Kemungkinan penyebab: Set karakter tabel di database sumber dan tujuan tidak kompatibel, sehingga mencegah penulisan data.
Solusi: Gunakan ErrorUrl dalam pesan error untuk mengatasi dan menyelesaikan masalah, lalu restart tugas DTS. Jika masalah tidak dapat diselesaikan, hubungi helpdesk Alibaba Cloud untuk bantuan.
Contoh pesan error:
DTS-100047: retry 2775 times, 43207 seconds, which exceed the supposed 43200 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 2 execute transaction has excess max transaction retry time [64] cause:Failed to stream load data to table: **** status is fail. Load result: ****DTS-RETRY-ERR-0360: Operasi melebihi batas waktu
Kemungkinan penyebab: DTS timeout saat mengeksekusi operasi kueri atau tulis.
Solusi: Periksa status instans database MongoDB Anda (seperti muatan dan kueri lambat), verifikasi bahwa DTS dapat mengeksekusi kueri dan operasi tulis secara normal, lalu restart tugas DTS.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 561767791805127****) failed cause: FatalAnyAllException: common: DTS-100047: retry 22 times, 43506 seconds, which exceed the supposed 43200 seconds RuntimeException: com.mongodb.MongoExecutionTimeoutException: Executor error during getMore :: caused by :: operation exceeded time limit MongoExecutionTimeoutException: Executor error during getMore :: caused by :: operation exceeded time limitDTS-RETRY-ERR-0361: Tabel tidak dikenal
Kemungkinan penyebab: Database tujuan kehilangan tabel yang ada di sumber, sehingga mencegah penulisan data.
Solusi: Buat secara manual tabel yang hilang di database tujuan, lalu restart tugas DTS.
Contoh pesan error:
DTS-31007: Failed to obtain table **** detail information after retrying. Cause: FatalAnyAllException: common: DTS-100047: Retried 4312 times, 43209 seconds, which exceeds the supposed 43200 seconds RecoverableAnyAllException: replicate-selectdb: DTS-70002: Failed to obtain table **** detail information. SQLException: errCode = 2, detailMessage = Unknown table ****DTS-RETRY-ERR-0362: Tidak mendukung panjang string lebih dari string_type_length_soft_limit_bytes
Kemungkinan penyebab: Panjang data tipe STRING yang akan ditulis ke database SelectDB tujuan melebihi batas yang dikonfigurasi.
Solusi: Tingkatkan parameter string_type_length_soft_limit_bytes database SelectDB untuk mengakomodasi panjang STRING maksimum yang ditulis, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 52 times, 602 seconds, which exceed the supposed 600 seconds cause: IOException: Failed to stream load data to SelectDB.Key status is fail. Load result: **** add batch req success but status isn't ok, err: [E-1201]PStatus: (172.16.XX.XX)[E-1201]failed to append block: [NOT_IMPLEMENTED_ERROR]Not support string len over than `string_type_length_soft_limit_bytes` in vec engine., ****DTS-RETRY-ERR-0363: Tidak bisa mendapatkan teks pada START_OBJECT
Kemungkinan penyebab: Skema database tujuan (seperti tipe atau panjang kolom) tidak konsisten dengan sumber, sehingga mencegah penulisan data.
Solusi: Ubah tipe bidang yang sesuai di indeks target menjadi Object, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 15 times, 28 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: es: DTS-10035: failed to parse field **** of type [text] in document with id '13312'. Preview of field's value: '****', Can't get text on a START_OBJECT at 1:2380 CriticalAnyAllException: es: DTS-10035: failed to parse field **** of type [text] in document with id '13312'. Preview of field's value: '****', Can't get text on a START_OBJECT at 1:2380DTS-RETRY-ERR-0364: Tidak ada indeks tersebut
Kemungkinan penyebab: Database Elasticsearch target tidak memiliki indeks yang diperlukan.
Solusi: Tambahkan indeks yang hilang ke database Elasticsearch target, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 15 times, 25 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: es: DTS-10035: no such index **** and **** contains [-*] which forbids automatic creation of the index CriticalAnyAllException: es: DTS-10035: no such index **** and **** contains [-*] which forbids automatic creation of the indexDTS-RETRY-ERR-0365: Indeks read-only
Kemungkinan penyebab: Database Elasticsearch target dalam mode read-only, sehingga mencegah penulisan data.
Solusi: Ubah database Elasticsearch target ke mode read-write, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 15 times, 57 seconds, which exceed the supposed 922337203685477**** seconds cause: IOException: es: DTS-10035: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]; CriticalAnyAllException: es: DTS-10035: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];DTS-RETRY-ERR-0366: Tidak dapat mengotentikasi pengguna
Kemungkinan penyebab: Akun atau password database Elasticsearch tujuan yang digunakan oleh tugas DTS salah.
Solusi:
Password salah: Buka halaman Basic Information di konsol instans DTS. Di area Destination, klik Change Password, masukkan password yang benar untuk database Elasticsearch tujuan, lalu restart tugas DTS.
Akun salah: Konfigurasi ulang tugas DTS dengan akun dan password database yang benar.
Contoh pesan error:
unable to authenticate user [elastic]DTS-RETRY-ERR-0367: Dalam encoding "UTF8" tidak memiliki padanan dalam encoding "GBK" (.*)?
Kemungkinan penyebab: Database atau tabel tujuan menggunakan set karakter yang tidak kompatibel dengan sumber, sehingga mencegah penulisan data.
Solusi: Ubah set karakter tabel database tujuan (misalnya, ubah ke GB18030), lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 4037 times, 43208 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: ERROR: character with byte sequence 0xee 0x96 0x83 in encoding "UTF8" has no equivalent in encoding "GBK" Where: unnamed portal parameter $12 Call getNextException to see other errors in the batch. PSQLException: ERROR: character with byte sequence 0xee 0x96 0x83 in encoding "UTF8" has no equivalent in encoding "GBK" Where: unnamed portal parameter $12DTS-RETRY-ERR-0368: Mengubah tabel (.*)? membatalkan pernyataan karena permintaan pengguna (.*)?
Kemungkinan penyebab: Inisialisasi instans DTS gagal.
Solusi: Restart tugas DTS pada jam sepi, ketika beban CPU database sumber dan tujuan di bawah 30%.
Contoh pesan error:
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 0 times, 300019 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 300019 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 0 times, 300019 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 300019 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to user requestDTS-RETRY-ERR-0369: Segmen WAL yang diminta (.*)? sudah dihapus
Kemungkinan penyebab: Segmen Write-Ahead Logging (WAL) database sumber telah dihapus.
Solusi: Hubungi administrator basis data (DBA) database sumber untuk menyelesaikan masalah, lalu restart tugas DTS.
Contoh pesan error:
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..: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed IOException: org.postgresql.util.PSQLException: ERROR: requested WAL segment 00000002000000F000000013 has already been removed PSQLException: ERROR: requested WAL segment 00000002000000F000000013 has already been removedDTS-RETRY-ERR-0370: Autentikasi password gagal untuk pengguna (.*)?
Kemungkinan penyebab: Akun dan password database yang dikonfigurasi untuk tugas DTS tidak dapat terhubung ke database.
Solusi:
Password salah: Buka halaman Basic Information di konsol instans DTS. Di area Destination, klik Change Password, masukkan password yang benar, lalu restart tugas DTS.
Akun salah: Konfigurasi ulang tugas DTS dengan akun dan password database yang benar.
Contoh pesan error:
DTS-100047: retry 1 times, 44134 seconds, which exceed the supposed 43200 seconds cause: PSQLException: FATAL: password authentication failed for user ****DTS-RETRY-ERR-0371: Harus menjadi pemilik tabel (.*)?
Kemungkinan penyebab: Akun database yang dikonfigurasi untuk tugas DTS memiliki izin yang tidak mencukupi. Diperlukan izin pemilik.
Solusi: Berikan izin yang diperlukan kepada akun database yang digunakan oleh tugas DTS, lalu restart tugas DTS. Atau, konfigurasi ulang tugas DTS dengan akun database yang memiliki izin yang cukup.
Contoh pesan error:
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 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: must be owner of table **** CriticalAnyAllException: postgresql-reader: ****DTS-RETRY-ERR-0372: jdbc-burst (.*)? Gagal membuat koneksi (.*)?
Kemungkinan penyebab: Instans database tidak dapat dihubungi.
Solusi: Verifikasi bahwa database dapat dihubungi secara normal, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 1 times, 45377 seconds, which exceed the supposed 43200 seconds cause: DBCommonException: jdbc-burst: DTS-61015: Create connection failed (url: ****, user: ****) PSQLException: The connection attempt failed. EOFException: nullDTS-RETRY-ERR-0373: Error membuat publikasi untuk (.*)? PSQLException: ERROR: Operasi tidak diizinkan pada node ini. Petunjuk: Hubungkan ke koordinator dan jalankan lagi.
Kemungkinan penyebab: Database sumber atau tujuan adalah PolarDB for PostgreSQL Edisi Terdistribusi.
Solusi: Tidak ada. DTS tidak mendukung kluster terdistribusi PolarDB for PostgreSQL.
Contoh pesan error:
DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Incorrect SET value: 'unknown' for column 'permissions' at row 1 BatchUpdateException: Incorrect SET value: 'unknown' for column 'permissions' at row 1 MysqlDataTruncation: Incorrect SET value: 'unknown' for column 'permissions' at row 1DTS-RETRY-ERR-0374: Log logis PostgreSQL tidak ditemukan (.*)?
Kemungkinan penyebab: DTS tidak dapat menemukan data pada offset yang sesuai di database sumber.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Incorrect BINARY value for column 'hash' at row 1 BatchUpdateException: Incorrect BINARY value for column 'hash' at row 1 MysqlDataTruncation: Incorrect BINARY value for column 'hash' at row 1DTS-RETRY-ERR-0375: FATAL: menghentikan koneksi karena kehabisan memori (.*)?
Kemungkinan penyebab: Memori database OOM (Out of Memory).
Solusi: Hubungi administrator basis data (DBA) untuk menyelesaikan masalah, lalu restart tugas DTS.
Contoh pesan error:
DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: postgresql-reader: DTS-52510: Fetch postgresql logical log failed CriticalAnyAllException: postgresql-reader: DTS--0001: execute sql select **** failed, case by common: DTS-100047: retry 0 times, 401 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 401 seconds, which exceed the supposed 43200 seconds PSQLException: FATAL: terminating connection due to out of memoryDTS-RETRY-ERR-0376: Fungsi dt_sub tidak didukung, mungkin adalah op_sub (.*)?
Kemungkinan penyebab: Pernyataan pemrosesan data ETL salah, sehingga eksekusi ETL gagal.
Solusi:
Instans sinkronisasi: Periksa dan perbaiki pernyataan pemrosesan data, lalu restart tugas DTS.
Instans migrasi: Konfigurasi ulang tugas migrasi dengan pernyataan pemrosesan data yang benar.
Contoh pesan error:
DTS--0001: Error while parsing ETL script function dt_sub is not supported, maybe is op_sub cause: ParseException: function dt_sub is not supported, maybe is op_subDTS-RETRY-ERR-0378: Terjadi error I/O saat mengirim ke backend (.*)?
Kemungkinan penyebab: Data tidak dapat ditulis karena komunikasi jaringan antara DTS dan database tujuan timeout.
Solusi:
Verifikasi bahwa koneksi jaringan ke database sumber dan tujuan telah pulih, dan kedua database berjalan normal serta dapat dihubungi.
Di konsol DTS, klik Restart untuk restart tugas DTS. Error I/O tidak dapat dilewati dengan operasi "abaikan". Konsol DTS hanya menyediakan operasi Restart, bukan opsi "abaikan".
DTS memiliki mekanisme retry otomatis bawaan. Jika database sumber atau tujuan tidak dapat dihubungi, DTS mencoba ulang hingga 720 menit secara default. Jika koneksi jaringan pulih selama periode ini, tugas dilanjutkan secara otomatis tanpa intervensi manual.
Setelah Anda merestart tugas, tugas dilanjutkan dari titik terakhir terputus. Migrasi skema dan sinkronisasi data penuh tidak dilakukan lagi.
Error ini disebabkan oleh komunikasi jaringan yang tidak normal dan tidak memengaruhi konsistensi data.
Contoh pesan error:
DTS-100047: retry 11 times, 43315 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: An I/O error occurred while sending to the backend. Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 **** on conflict do nothing was aborted: An I/O error occurred while sending to the backend. Call getNextException to see other errors in the batch. PSQLException: An I/O error occurred while sending to the backend. SocketTimeoutException: Read timed outDTS-RETRY-ERR-0379: Deadlock terdeteksi (.*)?
Kemungkinan penyebab: Inisialisasi instans DTS gagal.
Solusi: Restart tugas DTS pada jam sepi, ketika beban CPU database sumber dan tujuan di bawah 30%.
Contoh pesan error:
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: **** failed, case by common: DTS-100047: retry 0 times, 2003 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 2003 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: deadlock detected Detail: Process 18023 waits for AccessShareLock on relation 122000 of database 16392; blocked by process 18028. Process 18028 waits for AccessExclusiveLock on relation 121960 of database 16392; blocked by process 18023. Hint: See server log for query details.DTS-RETRY-ERR-0380: Ukuran baris indeks (.*)? melebihi maksimum (.*)? untuk indeks (.*)?
Kemungkinan penyebab: Skema database tujuan (seperti tipe atau panjang kolom) tidak konsisten dengan sumber, sehingga mencegah penulisan data.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 3798 times, 43209 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: ERROR: index row size 3368 exceeds maximum 2712 for index "company_recommend_t****" Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 **** values **** on conflict do nothing was aborted: ERROR: index row size 3368 exceeds maximum 2712 for index "company_recommend_t****" Call getNextException to see other errors in the batch. PSQLException: ERROR: index row size 3368 exceeds maximum 2712 for index "company_recommend_t****"DTS-RETRY-ERR-0381: Membatalkan pernyataan karena timeout pernyataan (.*)?
Kemungkinan penyebab: Inisialisasi instans DTS gagal.
Solusi: Restart tugas DTS pada jam sepi, ketika beban CPU database sumber dan tujuan di bawah 30%.
Contoh pesan error:
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 0 times, 59975 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 59975 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to statement timeout CriticalAnyAllException: postgresql-reader: DTS--0001: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 59975 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 59975 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: canceling statement due to statement timeoutDTS-RETRY-ERR-0382: Melanggar kendala kunci asing (.*)?
Kemungkinan penyebab: Data yang akan disinkronkan atau dimigrasikan berisi kunci asing, dan akun database tujuan memiliki izin yang tidak mencukupi (diperlukan akun dengan hak istimewa atau superuser).
Solusi: Atur parameter session_replication_role di database tujuan ke replica, lalu restart tugas DTS. Setelah tugas DTS selesai atau dirilis, atur ulang session_replication_role ke origin.
Jika parameter ini tidak dikonfigurasi, ketidaksesuaian data dapat terjadi dalam skenario khusus (seperti saat ada pembaruan bertingkat, penghapusan bertingkat, atau pemicu di database tujuan).
Contoh pesan error:
DTS-100047: retry 717 times, 7200 seconds, which exceed the supposed 7200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: ERROR: insert or update on table **** violates foreign key constraint **** is not present in table ****. Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 **** on conflict do nothing was aborted: ERROR: insert or update on table **** violates foreign key constraint **** is not present in table ****. Call getNextException to see other errors in the batch. PSQLException: ERROR: insert or update on table **** violates foreign key constraint **** is not present in table ****DTS-RETRY-ERR-0383: Nilai terlalu panjang untuk tipe (.*)?
Kemungkinan penyebab: Skema database tujuan (seperti tipe atau panjang kolom) tidak konsisten dengan sumber, sehingga mencegah penulisan data.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Incorrect MULTILINESTRING value for column 'routes' at row 1 BatchUpdateException: Incorrect MULTILINESTRING value for column 'routes' at row 1 MysqlDataTruncation: Incorrect MULTILINESTRING value for column 'routes' at row 1DTS-RETRY-ERR-0384: Fungsi "TIMESTAMP" tidak ditemukan (.*)?
Kemungkinan penyebab: Kondisi filter yang dikonfigurasi dalam tugas DTS berisi objek yang tidak ada di database sumber.
Solusi:
Tugas sinkronisasi: Gunakan fitur ubah objek sinkronisasi untuk memperbarui Kondisi Filter. Untuk informasi lebih lanjut, lihat Langkah berikutnya.
Tugas migrasi: Konfigurasi ulang tugas migrasi dengan kondisi filter yang benar.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 247513824836871****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds DbException: Function "TIMESTAMP" not found [90022-193] JdbcSQLException: Function "TIMESTAMP" not found [90022-193]DTS-RETRY-ERR-0385: Tidak dapat menemukan server dengan targetServerType yang ditentukan: primary (.*)?
Kemungkinan penyebab: Database tujuan yang dikonfigurasi untuk tugas DTS bukan node primary, sehingga mencegah penulisan data.
Solusi: Hubungi administrator basis data (DBA) untuk menyelesaikan masalah, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 1 times, 43335 seconds, which exceed the supposed 43200 seconds cause: DBCommonException: jdbc-burst: DTS-61015: Create connection failed **** PSQLException: Could not find a server with specified targetServerType: primaryDTS-RETRY-ERR-0386: Error sintaksis di atau dekat (.*)? alter table identity
Kemungkinan penyebab: Nama tabel di database sumber atau tujuan berisi karakter khusus.
Solusi: Silakan hubungi helpdesk Alibaba Cloud untuk bantuan.
Contoh pesan error:
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-00035: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: syntax error at or near **** Position: 35 CriticalAnyAllException: postgresql-reader: DTS-00035: alter table identity: ****/d failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds PSQLException: ERROR: syntax error at or near ****DTS-RETRY-ERR-0387: Menghentikan koneksi karena perintah administrator (.*)?
Kemungkinan penyebab: Anda memutus koneksi antara DTS dan database.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 4306 times, 43201 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** insert ignore into ****,currentRow:null, reason: Incorrect INET value for column 'ip_address' at row 1 BatchUpdateException: Incorrect INET value for column 'ip_address' at row 1 MysqlDataTruncation: Incorrect INET value for column 'ip_address' at row 1DTS-RETRY-ERR-0388: Ukuran baris indeks (.*)? melebihi maksimum versi btree (.*)? (.*)? untuk indeks
Kemungkinan penyebab: Skema database tujuan (seperti tipe atau panjang kolom) tidak konsisten dengan sumber, sehingga mencegah penulisan data.
Solusi: Periksa pesan error dan skema database sumber, lalu modifikasi skema database tujuan agar konsisten dengan (atau kompatibel dengan) sumber. Restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 4252 times, 43206 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: **** on conflict do nothing was aborted: ERROR: index row size 2808 exceeds btree version 4 maximum 2704 for index **** Detail: Index row references tuple (7968098,6) in relation ****. Hint: Values larger than 1/3 of a buffer page cannot be indexed. Consider a function index of an MD5 hash of the value, or use full text indexing. Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 **** on conflict do nothing was aborted: ERROR: index row size 2808 exceeds btree version 4 maximum 2704 for index ****" Detail: Index row references tuple (7968098,6) in relation ****. Hint: Values larger than 1/3 of a buffer page cannot be indexed. Consider a function index of an MD5 hash of the value, or use full text indexing. Call getNextException to see other errors in the batch. PSQLException: ERROR: index row size 2808 exceeds btree version 4 maximum 2704 for index **** Detail: Index row references tuple (7968098,6) in relation ****. Hint: Values larger than 1/3 of a buffer page cannot be indexed. Consider a function index of an MD5 hash of the value, or use full text indexing.DTS-RETRY-ERR-0390: Indeks kolom tidak valid
Kemungkinan penyebab: Data yang akan disinkronkan atau dimigrasikan dari database sumber berisi indeks yang tidak valid.
Solusi:
Tugas sinkronisasi: Gunakan fitur Ubah Objek untuk menghapus objek dengan indeks tidak valid dari cakupan sinkronisasi, lalu restart tugas DTS.
Tugas migrasi: Konfigurasi ulang tugas DTS dan tidak memilih objek dengan indeks tidak valid sebagai objek yang akan dimigrasikan.
Contoh pesan error:
DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: oracle-reader: DTS-52340: Serializer redo log entry failed CriticalAnyAllException: oracle-reader: DTS--0001: execute sql select *** from *** where *** in (?) failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: oracle-reader: DTS-52340: Invalid column index SQLException: Invalid column indexDTS-RETRY-ERR-0392: InvalidWireTypeException: Tag pesan protokol memiliki tipe kabel tidak valid
Kemungkinan penyebab: Komponen Sumber Data Kafka database TiDB dikonfigurasi salah.
Solusi: Konfigurasi ulang tugas DTS dan pilih Kafka Data Source Component yang benar untuk situasi Anda.
Contoh pesan error:
DTS-31009: In process of processing data (recordRange: 8118513945741****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds RuntimeException: seek timestamp for topic [****-0] with timestamp [17386372****] failed InvalidWireTypeException: Protocol message tag had invalid wire type.DTS-RETRY-ERR-0397: Terjadi error I/O saat mengirim ke backend. SocketTimeoutException: Read timed out
Kemungkinan penyebab: Timeout komunikasi jaringan antara DTS dan database.
Solusi: Verifikasi bahwa database berjalan normal dan DTS dapat terhubung dengannya, lalu restart tugas DTS.
Contoh pesan error:
DTS-100047: retry 11 times, 43315 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-kv7n180xb34815h */insert into ****** on conflict do nothing was aborted: An I/O error occurred while sending to the backend. Call getNextException to see other errors in the batch. BatchUpdateException: Batch entry 0 ****** on conflict do nothing was aborted: An I/O error occurred while sending to the backend. Call getNextException to see other errors in the batch. PSQLException: An I/O error occurred while sending to the backend. SocketTimeoutException: Read timed outDTS-RETRY-ERR-0398: Tidak dapat mendapatkan offset untuk timestamp
Kemungkinan penyebab | Solusi |
Tugas DTS dijeda terlalu lama. Setelah direstart, data pada offset yang sesuai tidak lagi tersedia di cache DTS. | Pertama, coba ubah offset instans DTS. Jika masalah berlanjut, pilih salah satu opsi berikut berdasarkan situasi Anda: (1) Periksa apakah rentang waktu log yang digunakan untuk penguraian data inkremental di database sumber (seperti Binlog atau Redolog) mencakup titik waktu yang diperlukan. Jika ya, coba baca ulang data di latar belakang. Jika tidak, konfigurasi ulang tugas DTS. (2) Konfigurasi ulang tugas DTS. Penting Jangan menjeda tugas DTS untuk periode yang lama. Setelah tugas DTS dijeda, jendela maksimum untuk restart yang berhasil adalah 7 hari. Jika database sumber memiliki volume tulis yang tinggi, jendela ini lebih pendek. |
Tugas DTS gagal terlalu lama. Setelah tugas diperbaiki, data pada offset yang sesuai tidak lagi tersedia di cache DTS. | Konfigurasi ulang tugas DTS. Penting Jangan menjeda tugas DTS untuk periode yang lama. Setelah tugas DTS dijeda, jendela maksimum untuk restart yang berhasil adalah 7 hari. Jika database sumber memiliki volume tulis yang tinggi, jendela ini lebih pendek. |
Migrasi penuh atau sinkronisasi penuh memakan waktu terlalu lama. DTS mungkin telah membuang log data cache yang diperlukan untuk penguraian inkremental. Selama migrasi penuh atau sinkronisasi penuh, DTS menyimpan log data dari database sumber secara lokal selama 24 jam terakhir atau hingga 50 GB. | Konfigurasi ulang tugas DTS. Penting Sebelum mengonfigurasi tugas DTS, evaluasi jumlah data yang akan dimigrasikan atau disinkronkan. Jika volume datanya besar, bagi menjadi beberapa tugas migrasi atau sinkronisasi. |
Contoh pesan error:
DTS-073102: Record Crawler error. cause by [Cannot get offset for timestamp: 1733994****] About more information in ****DTS-RETRY-ERR-0399: Tidak dapat membuka perangkat backup
Kemungkinan penyebab: Log database sumber telah dihapus.
Solusi: Gunakan salah satu metode berikut:
Metode 1: Hubungi administrator basis data (DBA) database sumber untuk menyelesaikan masalah, lalu restart tugas DTS.
Metode 2: Konfigurasi ulang tugas DTS.
Contoh pesan error:
DTS-100047: retry 0 times, 20124 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open backup device **** Operating system error 2(The system cannot find the file specified).DTS-RETRY-ERR-0400: Tidak dapat membuka database (.*)? yang diminta oleh login. Login gagal
Kemungkinan penyebab | Solusi |
Database sumber tidak dapat dihubungi. | Verifikasi bahwa DTS dapat terhubung ke database sumber secara normal, lalu restart tugas DTS. |
Log database sumber telah dipurge. | Hubungi administrator basis data (DBA) database sumber untuk menyelesaikan masalah, lalu restart tugas DTS. Atau, konfigurasi ulang tugas DTS. |
Contoh pesan error:
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: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "****" requested by the login. The login failed. ClientConnectionId:778b469a-d689-4**** SQLServerException: Cannot open database "****" requested by the login. The login failed.