View a markdown version of this page

Penanganan kesalahan pengaturan tugas - AWS Layanan Migrasi Database

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penanganan kesalahan pengaturan tugas

Anda dapat mengatur perilaku penanganan kesalahan tugas replikasi menggunakan pengaturan berikut. Untuk informasi tentang cara menggunakan file konfigurasi tugas untuk mengatur pengaturan tugas, lihatContoh pengaturan tugas.

  • DataErrorPolicy— Menentukan tindakan yang dilakukan AWS DMS ketika ada kesalahan terkait pemrosesan data di tingkat catatan. Beberapa contoh kesalahan pemrosesan data termasuk kesalahan konversi, kesalahan dalam transformasi, dan data yang buruk. Nilai default-nya LOG_ERROR.

    • IGNORE_RECORD – Tugas berlanjut dan data untuk catatan tersebut diabaikan. Penghitung kesalahan untuk properti DataErrorEscalationCount bertambah. Jadi, jika Anda menetapkan batas pada kesalahan untuk tabel, kesalahan ini dihitung ke batas itu.

    • LOG_ERROR – Tugas berlanjut dan kesalahan ditulis ke log tugas.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

  • DataTruncationErrorPolicy – Menentukan tindakan yang diambil AWS DMS saat data terpotong. Nilai default-nya LOG_ERROR.

    • IGNORE_RECORD – Tugas berlanjut dan data untuk catatan tersebut diabaikan. Penghitung kesalahan untuk properti DataErrorEscalationCount bertambah. Jadi, jika Anda menetapkan batas pada kesalahan untuk tabel, kesalahan ini dihitung ke batas itu.

    • LOG_ERROR – Tugas berlanjut dan kesalahan ditulis ke log tugas.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

  • DataErrorEscalationPolicy – Menentukan tindakan yang diambil AWS DMS ketika jumlah maksimum kesalahan (diatur dalam parameter DataErrorEscalationCount) tercapai. Nilai default-nya SUSPEND_TABLE.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

  • DataErrorEscalationCount – Menetapkan jumlah maksimum kesalahan yang dapat terjadi pada data untuk catatan tertentu. Ketika nomor ini tercapai, data untuk tabel yang berisi catatan kesalahan ditangani sesuai dengan kebijakan yang ditetapkan dalam DataErrorEscalationPolicy. Default-nya adalah 0.

  • EventErrorPolicy— Menentukan tindakan yang AWS dilakukan DMS ketika terjadi kesalahan saat mengirim peristiwa terkait tugas. Nilai yang mungkin adalah

    • IGNORE- Tugas berlanjut dan data apa pun yang terkait dengan peristiwa itu diabaikan.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

  • TableErrorPolicy – Menentukan tindakan yang diambil AWS DMS ketika terjadi kesalahan saat memproses data atau metadata untuk tabel tertentu. Kesalahan ini hanya berlaku untuk data tabel umum dan bukan merupakan kesalahan yang berkaitan dengan catatan tertentu. Nilai default-nya SUSPEND_TABLE.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

  • TableErrorEscalationPolicy – Menentukan tindakan yang diambil AWS DMS ketika jumlah maksimum kesalahan (diatur menggunakan parameter TableErrorEscalationCount). Pengaturan default dan hanya pengguna adalahSTOP_TASK, di mana tugas dihentikan dan intervensi manual diperlukan.

  • TableErrorEscalationCount – Jumlah maksimum kesalahan yang dapat terjadi pada data umum atau metadata untuk tabel tertentu. Ketika nomor ini tercapai, data untuk tabel ditangani sesuai dengan kebijakan yang ditetapkan dalam TableErrorEscalationPolicy. Defaultnya adalah 0.

  • RecoverableErrorCount – Jumlah maksimum upaya yang dilakukan untuk memulai ulang tugas ketika terjadi kesalahan lingkungan. Setelah sistem mencoba untuk me-restart tugas jumlah yang ditentukan kali, tugas dihentikan dan intervensi manual diperlukan. Nilai defaultnya adalah -1.

    Bila Anda menetapkan nilai ini ke -1, jumlah percobaan ulang yang dicoba DMS bervariasi berdasarkan jenis kesalahan yang dikembalikan sebagai berikut:

    • Status berjalan, kesalahan yang dapat dipulihkan: Jika kesalahan yang dapat dipulihkan seperti koneksi yang hilang atau penerapan target gagal terjadi, DMS mencoba ulang tugas sembilan kali.

    • Status awal, kesalahan yang dapat dipulihkan: DMS mencoba ulang tugas enam kali.

    • Status berjalan, kesalahan fatal ditangani oleh DMS: DMS mencoba ulang tugas enam kali.

    • Status berjalan, kesalahan fatal tidak ditangani oleh DMS: DMS tidak mencoba lagi tugas.

    • Selain di atas: AWS DMS mencoba kembali tugas tanpa batas waktu.

    Menetapkan nilai ini ke 0 untuk tidak pernah mencoba untuk memulai ulang tugas.

    Kami menyarankan Anda menetapkan RecoverableErrorCount dan menetapkan nilai RecoverableErrorInterval sedemikian rupa sehingga ada percobaan ulang yang cukup pada interval yang cukup agar tugas DMS Anda pulih dengan benar. Jika terjadi kesalahan fatal, DMS berhenti melakukan upaya restart di sebagian besar skenario.

  • RecoverableErrorIntervalJumlah detik yang AWS DMS menunggu di antara upaya untuk memulai ulang tugas. Default-nya adalah 5.

  • RecoverableErrorThrottling— Saat diaktifkan, interval antara upaya untuk memulai ulang tugas ditingkatkan secara seri berdasarkan nilaiRecoverableErrorInterval. Misalnya, jika RecoverableErrorInterval diatur ke 5 detik, maka percobaan ulang berikutnya akan terjadi setelah 10 detik, lalu 20, lalu 40 detik dan seterusnya. Nilai default-nya true.

  • RecoverableErrorThrottlingMax— Jumlah detik maksimum yang AWS DMS menunggu di antara upaya untuk memulai ulang tugas jika RecoverableErrorThrottling diaktifkan. Default adalah 1800.

  • RecoverableErrorStopRetryAfterThrottlingMax— Nilai default disetel ketrue, dan DMS berhenti melanjutkan tugas setelah jumlah detik maksimum yang AWS DMS menunggu di antara upaya pemulihan tercapai, per. RecoverableErrorStopRetryAfterThrottlingMax Ketika diset false el ke, DMS terus melanjutkan tugas setelah jumlah detik maksimum yang AWS DMS menunggu di antara upaya pemulihan tercapai, per RecoverableErrorStopRetryAfterThrottlingMax sampai RecoverableErrorCount tercapai.

  • ApplyErrorDeletePolicy – Menentukan tindakan apa yang diambil AWS DMS ketika ada konflik dengan operasi DELETE. Nilai default-nya IGNORE_RECORD. Nilai yang mungkin adalah sebagai berikut:

    • IGNORE_RECORD – Tugas berlanjut dan data untuk catatan tersebut diabaikan. Penghitung kesalahan untuk properti ApplyErrorEscalationCount bertambah. Jadi, jika Anda menetapkan batas pada kesalahan untuk tabel, kesalahan ini dihitung ke batas itu.

    • LOG_ERROR – Tugas berlanjut dan kesalahan ditulis ke log tugas.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

  • ApplyErrorInsertPolicy – Menentukan tindakan apa yang diambil AWS DMS ketika ada konflik dengan operasi INSERT. Nilai default-nya LOG_ERROR. Nilai yang mungkin adalah sebagai berikut:

    • IGNORE_RECORD – Tugas berlanjut dan data untuk catatan tersebut diabaikan. Penghitung kesalahan untuk properti ApplyErrorEscalationCount bertambah. Jadi, jika Anda menetapkan batas pada kesalahan untuk tabel, kesalahan ini dihitung ke batas itu.

    • LOG_ERROR – Tugas berlanjut dan kesalahan ditulis ke log tugas.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

    • INSERT_RECORD – Jika ada catatan target yang ada dengan kunci primer yang sama seperti catatan sumber yang dimasukkan, catatan target diperbarui.

      catatan
      • Dalam mode Transactional Ap ply: Dalam proses ini, sistem pertama-tama mencoba memasukkan catatan. Jika penyisipan gagal karena konflik kunci utama, catatan yang ada akan dihapus dan kemudian menyisipkan yang baru.

      • Dalam mode Batch Apply: Proses menghapus semua catatan yang ada dalam batch target sebelum memasukkan set lengkap catatan baru, memastikan penggantian data yang bersih.

      • Proses ini mencegah duplikasi data, tetapi menimbulkan beberapa biaya kinerja dibandingkan dengan kebijakan default. Dampak kinerja yang tepat tergantung pada karakteristik beban kerja spesifik Anda.

  • ApplyErrorUpdatePolicy— Menentukan tindakan apa yang AWS diambil DMS ketika ada konflik data yang hilang dengan operasi UPDATE. Nilai default-nya LOG_ERROR. Nilai yang mungkin adalah sebagai berikut:

    • IGNORE_RECORD – Tugas berlanjut dan data untuk catatan tersebut diabaikan. Penghitung kesalahan untuk properti ApplyErrorEscalationCount bertambah. Jadi, jika Anda menetapkan batas pada kesalahan untuk tabel, kesalahan ini dihitung ke batas itu.

    • LOG_ERROR – Tugas berlanjut dan kesalahan ditulis ke log tugas.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

    • UPDATE_RECORD- Jika catatan target hilang, catatan target yang hilang dimasukkan ke dalam tabel target. AWS DMS sepenuhnya menonaktifkan dukungan kolom LOB untuk tugas tersebut. Memilih opsi ini memerlukan supplemental logging penuh untuk diaktifkan untuk semua kolom tabel sumber ketika Oracle adalah basis data sumber.

      catatan
      • Dalam mode Terapkan Transaksional: Dalam proses ini, sistem pertama-tama mencoba memperbarui catatan. Jika pembaruan gagal karena catatan yang hilang pada target, itu menjalankan penghapusan untuk catatan yang gagal dan kemudian menyisipkan yang baru. Proses ini memerlukan logging tambahan penuh untuk database sumber Oracle dan DMS menonaktifkan dukungan kolom LOB untuk tugas ini.

      • Dalam mode Batch Apply: Proses menghapus semua catatan yang ada dalam batch target sebelum memasukkan set lengkap catatan baru, memastikan penggantian data yang bersih.

  • ApplyErrorEscalationPolicy— Menentukan tindakan apa yang diambil AWS DMS ketika jumlah kesalahan maksimum (diatur menggunakan ApplyErrorEscalationCount parameter) tercapai. Defaultnya adalah LOG_ERROR:

    • LOG_ERROR – Tugas berlanjut dan kesalahan ditulis ke log tugas.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

    • STOP_TASK – Tugas berhenti dan intervensi manual diperlukan.

  • ApplyErrorEscalationCount – Opsi ini menetapkan jumlah maksimum konflik BERLAKU yang dapat terjadi untuk tabel tertentu selama operasi proses perubahan. Ketika nomor ini tercapai, tabel data ditangani sesuai dengan kebijakan yang ditetapkan dalam parameter ApplyErrorEscalationPolicy. Defaultnya adalah 0.

  • ApplyErrorFailOnTruncationDdl – Atur opsi ini ke true untuk menyebabkan tugas gagal ketika pemotongan dilakukan pada salah satu tabel yang dilacak selama CDC. Nilai default-nya false.

    Pendekatan ini tidak berfungsi dengan PostgreSQL versi 11.x atau lebih rendah, atau titik akhir sumber lainnya yang tidak mereplikasi pemotongan tabel DDL.

  • FailOnNoTablesCaptured— Setel opsi ini true untuk menyebabkan tugas gagal ketika pemetaan tabel yang ditentukan untuk tugas tidak menemukan tabel saat tugas dimulai. Nilai default-nya true.

  • FailOnTransactionConsistencyBreached – Opsi ini berlaku untuk tugas-tugas yang menggunakan Oracle sebagai sumber dengan CDC. Default-nya adalah salah. Atur ke true untuk menyebabkan tugas gagal ketika transaksi terbuka dalam jangka waktu lebih lama dari batas waktu tertentu dan dapat dijatuhkan.

    Ketika tugas CDC dimulai dengan Oracle, AWS DMS menunggu waktu terbatas hingga transaksi terbuka tertua ditutup sebelum memulai CDC. Jika transaksi terbuka terlama tidak ditutup sampai batas waktu tercapai, maka dalam banyak kasus AWS DMS memulai CDC, mengabaikan transaksi itu. Jika opsi ini diatur ke true, tugas gagal.

  • FullLoadIgnoreConflicts— Setel opsi ini true agar AWS DMS mengabaikan kesalahan “nol baris terpengaruh” dan “duplikat” saat menerapkan peristiwa yang di-cache. Jika disetel kefalse, lap AWS DMS orkan semua kesalahan alih-alih mengabaikannya. Nilai default-nya true.

  • DataMaskingErrorPolicy— Menentukan tindakan AWS DMS yang diambil ketika penyembunyian data gagal karena tipe data yang tidak kompatibel atau alasan lainnya. Berikut ini adalah opsi yang tersedia:

    • STOP_TASK(Default) - Tugas berhenti dan intervensi manual diperlukan.

    • IGNORE_RECORD – Tugas berlanjut dan data untuk catatan tersebut diabaikan.

    • LOG_ERROR – Tugas berlanjut dan kesalahan ditulis ke log tugas. Data yang tidak bertopeng akan dimuat di tabel target.

    • SUSPEND_TABLE – Tugas berlanjut tetapi data dari tabel dengan catatan kesalahan dipindahkan ke status kesalahan dan data tidak direplikasi.

catatan

Kesalahan pemuatan tabel di Redshift sebagai target dilaporkan diSTL_LOAD_ERRORS. Untuk informasi selengkapnya, lihat STL_LOAD_ERRORS di Panduan Pengembang Database Amazon Redshift.

catatan

Perubahan parameter yang terkait dengan kesalahan yang dapat dipulihkan hanya berlaku setelah Anda menghentikan dan melanjutkan tugas DMS. Perubahan tidak berlaku untuk eksekusi saat ini.