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 Anda menggunakan pengaturan berikut. Untuk informasi tentang cara menggunakan file konfigurasi tugas untuk mengatur setelan tugas, lihatContoh pengaturan tugas.

  • DataErrorPolicy— Menentukan tindakan yang diambil AWS DMS ketika ada kesalahan yang terkait dengan pemrosesan data pada tingkat catatan. Beberapa contoh kesalahan pemrosesan data termasuk kesalahan konversi, kesalahan dalam transformasi, dan data yang buruk. Default adalah 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. Default adalah 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. Default adalah 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 diambil AWS DMS ketika terjadi kesalahan saat mengirim acara 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. Default adalah 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, yang menginstruksikan AWS DMS untuk mencoba memulai ulang tugas tanpa batas waktu. Saat 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.

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

    Kami menyarankan Anda mengatur RecoverableErrorCount dan RecoverableErrorInterval menilai 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.

  • RecoverableErrorInterval— Jumlah detik yang menunggu AWS DMS antara upaya untuk memulai kembali tugas. Default-nya adalah 5.

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

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

  • RecoverableErrorStopRetryAfterThrottlingMax— Ketika diatur ketrue, berhenti memulai ulang tugas setelah jumlah maksimum detik yang AWS DMS menunggu antara upaya pemulihan tercapai, per. RecoverableErrorThrottlingMax

  • ApplyErrorDeletePolicy – Menentukan tindakan apa yang diambil AWS DMS ketika ada konflik dengan operasi DELETE. Default adalah 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. Default adalah 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.

  • ApplyErrorUpdatePolicy— Menentukan tindakan apa yang diambil AWS 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.

  • ApplyErrorEscalationPolicy— Menentukan tindakan apa yang diambil AWS DMS ketika jumlah maksimum kesalahan (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. Default adalah false.

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

  • FailOnNoTablesCaptured— Atur opsi ini true untuk menyebabkan tugas gagal saat pemetaan tabel yang ditentukan untuk tugas tidak menemukan tabel saat tugas dimulai. Default adalah false.

  • 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 untuk transaksi terbuka tertua ditutup sebelum memulai CDC. Jika transaksi terbuka tertua tidak ditutup sampai batas waktu tercapai, maka dalam banyak kasus AWS DMS dimulai CDC, mengabaikan transaksi itu. Jika opsi ini diatur ke true, tugas gagal.

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

Perhatikan bahwa kesalahan pemuatan tabel di Redshift sebagai target dilaporkan dalam. STL_LOAD_ERRORS Untuk informasi selengkapnya, lihat STL_LOAD_ERRORS di Panduan Pengembang Database Amazon Redshift.