All Products
Search
Document Center

Data Transmission Service:Atasi error tabel dalam instansi sinkronisasi data

Last Updated:Sep 15, 2026

Topik ini menjelaskan cara mengatasi error tabel dalam instansi sinkronisasi data Layanan Transmisi Data (DTS) dengan memilih ulang objek sinkronisasi.

Prasyarat

  • Tidak ada aplikasi yang membaca dari database tujuan, atau aplikasi Anda dapat mentolerir gangguan singkat.
  • Database sumber dan database tujuan berjalan dengan baik.
  • Instansi sinkronisasi data memiliki objek lain untuk disinkronkan selain tabel yang mengalami error.
  • Status instansi tidak boleh Modifying Objects.

Pertimbangan

  • Pemilihan ulang objek sinkronisasi akan secara otomatis me-restart instansi. Selama proses restart, data antara database sumber dan tujuan mungkin tidak konsisten untuk sementara waktu.
  • Anda harus mengosongkan data di tabel tujuan. Sebelum melanjutkan, pastikan bahwa:
    • Hanya DTS yang menulis data ke tabel tujuan, atau data dalam tabel tersebut dapat dikosongkan.
    • Layanan yang bergantung pada tabel tujuan tidak terpengaruh.
  • Tugas sinkronisasi DTS menggunakan mode penulisan serial untuk memastikan konsistensi data. Jika penulisan ke salah satu tabel gagal, seluruh tugas sinkronisasi akan diblokir atau gagal—bukan hanya tabel yang bermasalah. Segera atasi error tabel untuk mencegah gangguan pada seluruh pipeline sinkronisasi.

Proses

  1. Hapus tabel yang bermasalah atau berisi hot data dari instansi sinkronisasi data.
  2. Kosongkan data dari tabel yang bermasalah di database tujuan.
  3. Tambahkan kembali tabel yang bermasalah ke instansi sinkronisasi data.

Prosedur

  1. Buka halaman Tugas Sinkronisasi Data.

    1. Login ke Konsol Data Management (DMS).

    2. Di bilah navigasi atas, klik Data + AI.

    3. Di panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.

    Catatan
  2. Berdasarkan skenario Anda, hapus tabel yang bermasalah atau berisi hot data.
    Catatan Untuk informasi lebih lanjut tentang cara melihat hot data, lihat Lihat informasi hot data.
    Catatan

    Jika Anda tidak dapat mengidentifikasi nama tabel spesifik dari pesan error, atau jika pesannya tidak jelas, login ke konsol DTS dan pilih Task Details > Error Information untuk melihat nama tabel lengkap dan informasi detail seperti ketidakkonsistenan skema.

    • Jika objek sinkronisasi berada di tingkat database:
      1. Temukan instansi sinkronisasi data yang dituju dalam daftar tugas, lalu klik Operation di kolom Reselect Objects.
      2. Di panel Selected Objects, pilih database yang berisi tabel bermasalah, lalu klik ikon zuoyi untuk menghapusnya.
      3. Di panel Source Objects, pilih objek yang akan disinkronkan di tingkat tabel (tidak termasuk tabel bermasalah), lalu klik ikon youyi untuk menambahkannya ke panel Selected Objects.
        Catatan Untuk informasi lebih lanjut, lihat Hapus objek sinkronisasi.
      4. Klik Next: Advanced Settings, lalu klik Next: Precheck and Start Task.
      5. Saat Success Rate pemeriksaan awal mencapai 100%, klik Changed. Return .
    • Jika objek sinkronisasi berada di tingkat tabel:
      1. Temukan instansi sinkronisasi data yang dituju dalam daftar tugas, lalu klik Operation di kolom Reselect Objects.
      2. Di panel Selected Objects, pilih tabel bermasalah, lalu klik ikon zuoyi untuk menghapusnya.
      3. Klik Next: Advanced Settings, lalu klik Next: Precheck and Start Task.
      4. Saat Success Rate pemeriksaan awal mencapai 100%, klik Changed. Return .
  3. Kosongkan data dari tabel bermasalah di database tujuan.
    Misalnya, untuk mengosongkan data dari tabel di database MySQL, Anda dapat menjalankan perintah berikut:
    TRUNCATE TABLE XXX;
    DROP TABLE XXX;
  4. Tambahkan kembali tabel tersebut sebagai objek sinkronisasi.
    1. Temukan instansi sinkronisasi data yang dituju dalam daftar tugas, lalu klik Operation di kolom Reselect Objects.
    2. Di panel Source Objects, pilih tabel tersebut, lalu klik ikon youyi untuk menambahkannya ke panel Selected Objects.
      Catatan Untuk informasi lebih lanjut, lihat Tambahkan objek sinkronisasi.
    3. Klik Next: Advanced Settings, lalu klik Next: Precheck and Start Task.
    4. Saat Success Rate pemeriksaan awal mencapai 100%, klik Changed. Return .
  5. Setelah instansi secara otomatis restart, verifikasi bahwa error telah teratasi.

FAQ

Apa yang harus saya lakukan jika tugas terus mencoba ulang atau macet setelah saya melewati atau mengabaikan tabel bermasalah?

Penyebab: Tugas mungkin masih mencoba ulang karena tabel lain di database tujuan hilang (berbeda dari tabel yang sebelumnya Anda abaikan), atau karena tugas sedang melakukan migrasi tabel besar atau menunggu dalam loop percobaan ulang.

Solusi:

  • Di konsol DTS, edit tugas tersebut, temukan tabel bermasalah yang baru dilaporkan, lalu atur agar diabaikan. Simpan konfigurasi, lalu jeda dan restart tugas tersebut.

  • Verifikasi bahwa tabel induk dan tabel anak termasuk dalam cakupan sinkronisasi.

Bagaimana cara mengatasi error yang menunjukkan tabel temporary hilang atau konflik SELECT INTO di database tujuan selama sinkronisasi inkremental?

Penyebab: Database tujuan sebenarnya tidak kehilangan tabel temporary. Masalah ini terjadi karena Change Data Capture (CDC) diaktifkan pada database sumber. Pemicu yang dibuat oleh DTS mengintersepsi operasi SELECT INTO, yang bertentangan dengan pembuatan tabel implisit.

Solusi:

  1. Verifikasi bahwa file log transaksi tersedia di database sumber.

  2. Nonaktifkan CDC di database sumber.

  3. Konfigurasi ulang tugas sinkronisasi dan pilih Parse Source Database Logs sebagai metode sinkronisasi.

Bagaimana cara memecahkan masalah pernyataan DDL dari database sumber yang dieksekusi berulang kali di database tujuan?

  1. Periksa waktu mulai pemantauan tugas DTS untuk memastikan bahwa pernyataan DDL dieksekusi di database sumber setelah DTS mulai memantau perubahan inkremental.

  2. Hilangkan kemungkinan salah identifikasi lock wait: Jalankan SHOW FULL PROCESSLIST di database tujuan untuk membedakan antara session yang sedang mengeksekusi DDL dan session yang ditangguhkan karena kunci metadata.

  3. Aktifkan general log untuk mereproduksi masalah: Di database tujuan yang dikelola sendiri, jalankan SET GLOBAL general_log = 'ON'; untuk mencoba mereproduksi masalah tersebut.

  4. Analisis log: Periksa general_log untuk memverifikasi apakah DTS mendorong beberapa pernyataan DDL identik.

  5. Isolasi lingkungan pengujian: Jika pengujian di lingkungan produksi tidak memungkinkan, salin database sumber ke database baru dan konfigurasikan tugas DTS baru untuk pengujian.

Catatan

Jika log DTS tidak menunjukkan pernyataan berulang dan masalah tidak dapat direproduksi, penyebabnya mungkin tidak terkait dengan DTS, atau periode retensi log mungkin telah berakhir.

Apa yang harus saya lakukan jika sinkronisasi terganggu selama beberapa jam dan saya mencurigai adanya kunci MDL di database tujuan?

Penyebab: Kunci metadata (kunci MDL) akibat operasi DDL berdurasi panjang di database tujuan menghambat penulisan data inkremental.

Resolusi:

  1. Login ke konsol RDS dan hentikan session abnormal tersebut.

  2. Ubah objek sinkronisasi DTS untuk menghapus tabel yang terpengaruh.

  3. Hapus tabel yang terpengaruh dari database tujuan.

  4. Tunggu hingga tugas DTS tidak menunjukkan lag replikasi, lalu ubah objek sinkronisasi untuk menambahkan kembali tabel tersebut guna dilakukan migrasi ulang.

Bagaimana cara mengatasi error yang menunjukkan paket data terlalu besar atau nilai max_allowed_packet tidak mencukupi selama sinkronisasi inkremental?

Penyebab: Satu catatan inkremental terlalu besar, melebihi nilai max_allowed_packet yang dikonfigurasi di database tujuan.

Solusi: Periksa nilai max_allowed_packet di database sumber (misalnya, 1073741824) dan atur nilai yang sama atau lebih tinggi di database tujuan. Untuk PolarDB for MySQL, Anda dapat mengubah parameter ini di pengaturan parameter kluster.