Mendiagnosis masalah

Aliran dapat menimbulkan error selama runtime.

  • Beberapa error, seperti sandi yang salah di database sumber, dapat dipulihkan, yang berarti error tersebut dapat diperbaiki dan streaming akan dilanjutkan secara otomatis.
  • Error dapat memengaruhi satu objek, seperti peristiwa yang berisi jenis data yang tidak didukung. Error lain dapat memengaruhi beberapa objek atau seluruh aliran, seperti saat Datastream tidak dapat terhubung ke database sumber.
  • Bergantung pada errornya, informasi akan diberikan di halaman Aliran atau Detail aliran di UI Datastream. Anda juga dapat menggunakan API Datastream untuk mengambil informasi tentang error.

Untuk memecahkan masalah error, buka aliran untuk melihat error, lalu ikuti langkah-langkah yang diuraikan dalam pesan error.

Halaman ini berisi informasi tentang error konfigurasi, konektivitas, Oracle, dan MySQL, beserta langkah-langkah untuk memecahkan masalah error tersebut.

Error konfigurasi dan konektivitas

Error Langkah pemecahan masalah
Gagal terhubung ke database sumber (generik).

Hal ini dapat terjadi karena berbagai alasan. Untuk memecahkan masalah error ini:

  1. Pastikan database sumber aktif dan dapat dijangkau.
  2. Buka profil koneksi sumber dari halaman Streams atau Connection profiles.
  3. Verifikasi bahwa informasi konektivitas profil koneksi sudah benar.
  4. Verifikasi bahwa nama pengguna dan sandi cocok.
  5. Pastikan nama pengguna ada di database dan memiliki hak istimewa yang diperlukan.
  6. Simpan perubahan yang Anda buat di halaman Profil koneksi.

Streaming dilanjutkan secara otomatis.

Gagal terhubung ke database sumber (daftar IP yang diizinkan). Hal ini dapat terjadi jika metode konektivitas yang dipilih adalah Daftar IP yang diizinkan, tetapi satu atau beberapa alamat IP keluar dari DataStream tidak ditambahkan dengan benar di database sumber. Pastikan alamat IP keluar yang ditampilkan di profil koneksi Datastream dikonfigurasi di firewall jaringan sehingga server database sumber dapat menerima koneksi dari alamat IP ini. Setelah masalah ini diperbaiki, streaming akan dilanjutkan secara otomatis.
Gagal terhubung ke database sumber (Tunnel SSH penerusan). Hal ini dapat terjadi jika ada masalah dengan tunnel SSH Forward. Periksa status tunnel. Jika tunnel dihentikan, tunnel harus dimulai. Setelah masalah ini diperbaiki, streaming akan dilanjutkan secara otomatis.
Datastream tidak dapat terhubung ke bastion host melalui tunnel SSH Penerusan. Pastikan konfigurasi tunnel SSH Penerusan dikonfigurasi dengan benar di profil koneksi sumber, dan port terbuka di server tunnel SSH.
Gagal terhubung ke database sumber karena sertifikat yang buruk. Hal ini dapat terjadi jika ada masalah dengan sertifikat yang diberikan saat menentukan profil koneksi sumber. Buka halaman Connection profiles, lalu pilih profil koneksi yang diberikan. Pastikan sertifikat disiapkan dengan benar. Setelah melakukan perubahan, simpan profil koneksi, dan streaming akan dilanjutkan secara otomatis.
Kegagalan menggunakan konektivitas pribadi untuk terhubung ke database sumber. Error ini terkait dengan metode konektivitas pribadi peering VPC.
  1. Pastikan Anda telah menyelesaikan semua prasyarat Prasyarat peering VPC.
  2. Setelah membuat konfigurasi konektivitas pribadi, verifikasi bahwa rute yang berisi alamat IP internal database muncul di tab Rute yang diekspor di halaman Peering Jaringan VPC.

    Untuk melakukannya, buka halaman VPC Network Peering, lalu telusuri peering yang ditambahkan (namanya adalah peering-[UUID]). Rute dapat ditemukan di tab Exported routes. Jika rute ini tidak ada, tambahkan secara manual.

  3. Datastream tidak memeriksa tumpang-tindih dengan rute peering dinamis. Menyediakan subnet yang tumpang-tindih dengan rute dinamis dapat menyebabkan masalah konektivitas. Oleh karena itu, sebaiknya jangan gunakan subnet yang merupakan bagian dari rute dinamis.
  4. Pastikan rute kustom untuk rentang alamat IP Datastream diiklankan dengan benar. Jika rute kustom tidak ada, lihat Rute khusus yang diberitahukan.
  5. Jika Anda masih mengalami masalah saat menghubungkan ke database sumber, lihat Menyiapkan proxy terbalik.
Kegagalan menggunakan antarmuka Private Service Connect untuk terhubung ke database sumber.
  1. Pastikan Anda telah menyelesaikan semua prasyarat.
  2. Pastikan aturan firewall Anda mengizinkan subnetwork lampiran jaringan yang disediakan untuk terhubung ke database sumber.
  3. Pastikan rute kustom untuk rentang alamat IP Datastream diiklankan dengan benar. Jika rute kustom tidak ada, lihat Rute khusus yang diberitahukan.
Jenis konektivitas STATIC_SERVICE_IP_CONNECTIVITY tidak diizinkan saat batasan Kebijakan Org/datastream.disablePublicConnectivity aktif.

Anda memilih metode konektivitas jaringan daftar yang diizinkan IP publik atau tunnel SSH penerusan untuk profil koneksi yang Anda buat. Namun, kebijakan organisasi Block Public Connectivity Methods untuk Datastream diaktifkan. Oleh karena itu, Anda tidak dapat memilih metode konektivitas publik untuk profil koneksi Anda.

Untuk mengatasi masalah ini, pilih metode konektivitas jaringan peering VPC pribadi atau antarmuka Private Service Connect, atau nonaktifkan kebijakan organisasi.

Untuk menonaktifkan kebijakan organisasi:

  1. Buka halaman Kebijakan organisasi di Google Cloud Konsol.
  2. Pilih kebijakan organisasi Datastream - Block Public Connectivity Methods.
  3. Klik EDIT.

  4. Di bagian Berlaku untuk di halaman, pilih Sesuaikan.
  5. Di bagian Penerapan, pilih Nonaktif.

  6. Klik SIMPAN.
  7. Kembali ke profil koneksi Oracle yang Anda buat, lalu klik CREATE.
Saat mengonfigurasi database sumber untuk aliran data, saya tidak dapat menemukan tabel dan skema yang ingin ditransfer dalam daftar objek yang akan disertakan.

Hal ini dapat terjadi jika database Anda memiliki ribuan tabel dan skema. Beberapa di antaranya mungkin tidak disertakan dalam daftar objek yang akan ditarik saat mengonfigurasi sumber untuk streaming di konsol Google Cloud . Daripada memilih Skema dan tabel tertentu di bagian Pilih objek yang akan disertakan, pilih Kustom. Di kolom Kriteria pencocokan objek, masukkan skema dan tabel yang ingin Anda tarik oleh Datastream.

Saya telah menambahkan beberapa tabel ke aliran menggunakan menu Objek yang akan disertakan. Namun, saat melihat tab Objek di Detail streaming, saya dapat melihat bahwa beberapa tabel tidak ada. Pastikan ada minimal satu update CDC untuk setiap tabel ini sehingga Datastream dapat mengenali perubahan dan otomatis menyertakan tabel dalam aliran.
Gagal memuat daftar objek saat menggunakan menu Objek yang akan disertakan di konsol Google Cloud . Hal ini dapat terjadi jika database Anda memiliki lebih dari 5.000 skema dan tabel. Gunakan metode lain untuk menentukan objek yang akan disertakan, atau gunakan Datastream API. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi database sumber.
Peristiwa yang dihapus selama streaming dan tidak direplikasi di tujuan.

Datastream dapat menghapus peristiwa yang tidak didukung selama streaming. Anda dapat melakukan tindakan berikut untuk mengatasi masalah ini:

  • Memicu pengisian ulang seluruh tabel secara manual. Cara ini berfungsi jika peristiwa yang dihapus hanya berupa peristiwa UPSERT. Jika peristiwa yang dihapus mencakup peristiwa DELETE, Anda harus memangkas tabel di BigQuery sebelum melakukan pengisian ulang.

    Untuk mengetahui informasi tentang cara melakukan pengisian ulang, lihat Mulai pengisian ulang.

  • Hubungi Dukungan Google dan minta mereka untuk melakukan pengisian ulang sebagian. Hal ini hanya dapat dilakukan jika Anda dapat mengidentifikasi peristiwa yang dihentikan dengan klausa SQL WHERE, dan jika tidak ada peristiwa yang merupakan peristiwa DELETE.
  • Abaikan masalah ini jika jumlah peristiwa yang dibuang sedikit atau jika peristiwa yang dibuang tidak signifikan.
Waktu habis saat mencoba terhubung ke sumber data. Pastikan konfigurasi nama host dan port akurat, dan sumber data dapat diakses. Karena jaringan Datastream tidak dapat di-peering secara langsung dengan jaringan layanan pribadi (misalnya, instance Cloud SQL) saat menggunakan peering VPC, Anda harus menggunakan VM network address translation (NAT) untuk membuat konektivitas antara Datastream dan resource Anda. Untuk mengetahui informasi selengkapnya tentang cara menyiapkan VM NAT, lihat Mengonfigurasi peering VPC.
Skema objek OBJECT_NAME terlalu besar untuk diproses oleh Datastream. Datastream tidak mendukung replikasi peristiwa dengan skema sumber yang sesuai yang lebih besar dari 2.621.440 karakter Unicode. Peristiwa ini dihentikan dengan kode alasan berikut: UNSUPPORTED_LARGE_SCHEMA. Anda mungkin ingin mengecualikan beberapa kolom atau mengganti namanya. Atau, Anda dapat mengecualikan objek dengan skema besar.
Status streaming telah berubah. Meskipun ada lebih dari satu alasan terjadinya error ini, masalah mendasar yang umum adalah konfigurasi sumber yang tidak valid. Jika streaming Anda gagal dimulai dengan pesan error ini, periksa konfigurasi sumber Anda untuk menemukan kunci atau nama tabel duplikat, inkonsistensi data, atau konflik skema. Banyak masalah dapat diselesaikan dengan mengedit setelan streaming yang gagal langsung di konsol Google Cloud dan menyesuaikan entri untuk objek yang disertakan dan dikecualikan. Untuk mengetahui informasi selengkapnya, lihat Mengubah informasi konfigurasi tentang database sumber.

Error Oracle

Error Langkah pemecahan masalah
Pencatatan log tambahan dikonfigurasi dengan salah di database sumber.

Error saat mengambil data pengambilan data perubahan (CDC) yang sedang berlangsung dapat terjadi jika konfigurasi logging tambahan tidak benar di database sumber. Pastikan logging tambahan dikonfigurasi dengan benar. Secara khusus, pastikan bahwa logging tambahan diaktifkan untuk tabel database yang di-streaming dari sumber ke tujuan. Streaming dilanjutkan secara otomatis.

Tidak dapat melanjutkan replikasi karena posisi log hilang. Error ini dapat terjadi saat proses replikasi dijeda dalam waktu yang lama, yang menyebabkan posisi log hilang. Aliran data tidak boleh dijeda selama jangka waktu yang mendekati periode retensi log. Buat ulang streaming.
File log hilang, baik sebagian maupun seluruhnya.

File log mungkin telah dihapus. Oracle menghapus file log segera setelah dapat dilakukan, kecuali jika Anda menentukan periode rotasi minimum untuk menyimpannya. Di server Oracle, tetapkan durasi penyimpanan file log. Misalnya, gunakan CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS; untuk menyimpan file log setidaknya selama 4 hari.

Untuk deployment RDS, gunakan exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',96);

Daftar pengecualian mencakup daftar penyertaan. Daftar sertakan sepenuhnya berada dalam daftar kecualikan, sehingga daftar objek yang ditarik Datastream dari sumber kosong. Ubah pilihan objek, lalu coba lagi.
Mode logging untuk database Oracle tidak ditetapkan ke ARCHIVELOG. Ubah mode logging, lalu coba lagi.
Datastream menampilkan pesan error ORA-00942: table or view does not exist, tetapi semuanya dikonfigurasi dengan benar. Hal ini dapat disebabkan oleh penyimpanan dalam cache di server Oracle. Membuat ulang pengguna database akan memperbaiki masalah caching.
Perubahan pada sumber Oracle tidak tercermin di tujuan saat streaming sudah berjalan. Jika Anda menggunakan LogMiner sebagai metode CDC, Datastream akan membaca dari file log ulangi yang diarsipkan. Dalam kasus seperti itu, perubahan yang Anda buat pada sumber tidak akan tercermin di tujuan hingga log diarsipkan. Untuk melihat perubahan di tujuan, ubah metode CDC ke pembaca log biner,ubah kebijakan arsip log, atau paksa pengalihan log secara manual. Untuk mengetahui informasi selengkapnya, lihat Menggunakan file log pengulangan database Oracle.
Validasi konfigurasi CDC Oracle gagal. Anda memilih metode CDC yang tidak dikonfigurasi untuk database sumber Anda. Pilih metode lain, atau selesaikan konfigurasi untuk metode CDC Anda. Untuk mengetahui detail selengkapnya, lihat Mengonfigurasi database Oracle sumber.
Terjadi error internal yang tidak terduga. Untuk mengetahui detail selengkapnya, hubungi Dukungan Google.

Error MySQL

Error Langkah pemecahan masalah
Binlog dikonfigurasi secara tidak benar di database sumber.

Hal ini dapat terjadi untuk streaming MySQL berkelanjutan jika konfigurasi binlog salah pada database sumber. Untuk memecahkan masalah error ini, lakukan tindakan berikut:

  1. Pastikan binlog dikonfigurasi dengan benar.
  2. Pastikan format log biner database MySQL disetel ke ROW.
  3. Mulai ulang streaming.
Tidak dapat melanjutkan replikasi karena posisi binlog hilang. Error ini dapat terjadi saat proses replikasi dijeda dalam waktu yang lama, yang menyebabkan posisi binlog hilang. Aliran tidak boleh dijeda selama jangka waktu yang mendekati periode retensi binlog. Buat ulang streaming.
Gagal menjalankan streaming karena versi database sumber dan tujuan tidak kompatibel.

Hal ini dapat terjadi jika database sumber tidak mematuhi matriks dukungan versi. Untuk memecahkan masalah error ini, lakukan tindakan berikut:

  1. Pastikan database sumber mematuhi matriks.
  2. Buat ulang aliran dengan database sumber yang diperbarui.
Log biner sumber AWS RDS MySQL hilang, baik sebagian maupun seluruhnya. Binlog mungkin telah dihapus. AWS RDS menghapus binlog segera setelah dapat dilakukan, kecuali jika Anda menentukan periode rotasi minimum untuk menyimpannya. Di instance AWS RDS MySQL sumber, tetapkan berapa lama, dalam jam, binlog harus dipertahankan. Misalnya, gunakan mysql.rds_set_configuration('binlog retention hours', 168); untuk menyimpan binlog selama setidaknya 7 hari.
Daftar pengecualian mencakup daftar penyertaan. Daftar sertakan sepenuhnya berada dalam daftar kecualikan, sehingga daftar objek yang ditarik Datastream dari sumber kosong. Ubah pilihan objek, lalu coba lagi.
Datastream tidak dapat mereplikasi database MySQL. Pastikan Datastream memiliki izin untuk mereplikasi database.
Saat membuat profil koneksi untuk sumber MySQL, beberapa sertifikat SSL yang dienkode PEM tidak diterima di menu Jenis enkripsi. Datastream tidak mendukung rangkaian sertifikat SSL dalam profil koneksi MySQL. Hanya sertifikat tunggal berenkode PEM x509 yang didukung.
Latensi tinggi saat melakukan streaming dari sumber MySQL.

Tingkatkan kemampuan Datastream untuk membaca dari database sumber:

  • Kurangi ukuran file log biner (binlog) maksimum untuk database sumber Anda. Mengurangi ukuran akan meningkatkan jumlah file binlog.
  • Jika ada beberapa file binlog, tetapkan jumlah tugas CDC serentak maksimum untuk aliran yang sesuai. Dengan memiliki beberapa file binlog, Datastream dapat membaca peristiwa database sumber secara bersamaan, hingga jumlah yang ditetapkan di kolom maxConcurrentCdcTasks.
Validasi konfigurasi CDC MySQL gagal. Database sumber Anda tidak dikonfigurasi untuk metode CDC yang Anda pilih. Pilih metode lain, atau selesaikan konfigurasi untuk metode CDC Anda. Untuk mengetahui detail selengkapnya, lihat Mengonfigurasi database MySQL sumber.
Terjadi error internal yang tidak terduga. Untuk mengetahui detail selengkapnya, hubungi Dukungan Google.

Error PostgreSQL

Error Langkah pemecahan masalah
Decoding logis dikonfigurasi dengan tidak benar di database sumber.

Pastikan decoding logis dikonfigurasi dengan benar. Lihat Mengonfigurasi database PostgreSQL sumber.

Slot replikasi tidak ada. Error saat mengambil data pengambilan data perubahan (CDC) yang sedang berlangsung dapat terjadi jika slot replikasi tidak ada di database. Pastikan slot replikasi dikonfigurasi dengan benar. Lihat Mengonfigurasi database PostgreSQL sumber.
Slot replikasi dikonfigurasi dengan plugin yang salah. Error ini dapat terjadi jika slot replikasi dikonfigurasi dengan plugin yang berbeda dari pgoutput. Pastikan slot replikasi dikonfigurasi dengan benar. Lihat Database PostgreSQL sumber untuk mengetahui informasi selengkapnya.
Slot replikasi aktif dalam proses yang berbeda. Error ini dapat terjadi saat slot replikasi digunakan oleh proses lain. Slot replikasi hanya dapat digunakan oleh satu proses dalam satu waktu. Pastikan Anda tidak menggunakan slot replikasi yang sama dalam proses lain kecuali untuk Datastream.
Publikasi tidak dikonfigurasi dengan benar. Error ini dapat terjadi saat publikasi tidak dikonfigurasi untuk mengekspos tabel yang disertakan dalam konfigurasi streaming. Pastikan publikasi dikonfigurasi dengan benar. Lihat Mengonfigurasi informasi tentang database sumber untuk aliran data.
Publikasi tidak ada. Error ini dapat terjadi jika publikasi tidak ada di database. Pastikan publikasi dikonfigurasi dengan benar. Lihat Mengonfigurasi database PostgreSQL sumber.
Tidak dapat melanjutkan replikasi karena file WAL hilang. Error ini dapat terjadi saat proses replikasi dijeda dalam waktu yang lama, yang menyebabkan file WAL hilang. Streaming tidak boleh dijeda selama jangka waktu yang mendekati periode retensi file WAL. Buat ulang streaming.
Daftar pengecualian mencakup daftar penyertaan. Daftar sertakan sepenuhnya berada dalam daftar kecualikan, sehingga daftar objek yang ditarik Datastream dari sumber kosong. Ubah pilihan objek, lalu coba lagi.
Datastream tidak dapat mereplikasi skema PostgreSQL. Pastikan Datastream memiliki izin untuk mereplikasi skema.
Transaksi besar di database sumber menyebabkan masalah pada replikasi dan sinkronisasi data. Jika Anda menyisipkan, memperbarui, atau menghapus sejumlah besar data dalam database sumber, slot replikasi mungkin kelebihan beban dengan peristiwa yang sesuai. Aliran data memerlukan waktu untuk membaca dan memproses peristiwa ini. Karena slot replikasi PostgreSQL bersifat berutas tunggal, pemrosesan perubahan lain dalam slot replikasi, termasuk perubahan pada data di tabel lain, akan tertunda hingga Datastream mengejar semua perubahan dalam slot replikasi.
Transaksi besar pada database sumber menyebabkan throughput CDC rendah. Datastream tidak mendukung CDC multi-thread di PostgreSQL. Untuk mengatasi batasan ini, dan untuk meningkatkan throughput CDC, Anda dapat membagi sumber menjadi beberapa aliran, yang masing-masing memiliki slot publikasi dan replikasinya sendiri. Misalnya, Anda dapat membuat satu aliran untuk tabel terbesar dalam database dan aliran lainnya untuk semua tabel lainnya, atau satu aliran untuk tabel prioritas utama dan aliran lainnya untuk tabel yang tersisa. Kasus penggunaan dapat bervariasi, jadi Anda perlu mempertimbangkan apa yang paling masuk akal dalam skenario CDC spesifik Anda. Untuk mengetahui informasi tentang cara membuat publikasi, lihat Mengonfigurasi database PostgreSQL sumber.
Peristiwa yang tidak didukung dihentikan dengan kode alasan: BIGQUERY_TOO_MANY_PRIMARY_KEYS. Jika identitas replika PostgreSQL untuk tabel ditetapkan ke FULL, Datastream akan memperlakukan semua kolom dalam tabel ini sebagai kunci utama. Jika ada lebih dari 16 kolom dalam tabel, maka hal ini melanggar batasan CDC BigQuery dan menyebabkan error. Untuk mengatasi masalah ini, selesaikan langkah-langkah berikut:
  1. Ubah identitas replika menjadi DEFAULT:
    ALTER TABLE TABLE_NAME REPLICA IDENTITY DEFAULT
    Ganti TABLE_NAME dengan nama tabel yang ingin Anda ubah identitas replikanya.
  2. Hapus tabel dari daftar objek yang akan disertakan dalam aliran. Untuk mengetahui informasi selengkapnya, lihat Mengubah informasi konfigurasi tentang database sumber.
  3. Hapus tabel dari BigQuery. Untuk mengetahui informasi selengkapnya, lihat Menghapus tabel.
  4. Di Datastream, tambahkan kembali tabel ke aliran dengan mengedit konfigurasi sumber.
Terjadi error internal yang tidak terduga. Untuk mengetahui detail selengkapnya, hubungi Dukungan Google.

Error SQL Server

Error Langkah pemecahan masalah
CDC dinonaktifkan untuk database DATABASE_NAME.

Pengambilan data perubahan (CDC) harus diaktifkan untuk database. Datastream memerlukan akses baca langsung ke log transaksi untuk mereplikasi perubahan real time ke database sumber, dan untuk mendapatkan informasi log lengkap. Aktifkan CDC untuk database, lalu coba lagi.

Untuk mengetahui informasi tentang cara mengaktifkan CDC untuk database, lihat Mengonfigurasi database SQL Server sumber.

Tabel dengan CDC dinonaktifkan.

Pengambilan data perubahan (CDC) harus diaktifkan untuk semua tabel yang disertakan dalam stream. Datastream memerlukan akses baca langsung ke log transaksi untuk mereplikasi perubahan real time ke tabel sumber, dan untuk mendapatkan informasi log yang lengkap. Aktifkan CDC untuk tabel yang disertakan dalam aliran, lalu coba lagi.

Untuk mengetahui informasi tentang cara mengaktifkan CDC untuk tabel sumber, lihat Mengonfigurasi database SQL Server sumber.

Izin tidak ada. Datastream tidak memiliki izin yang diperlukan untuk membaca dari sumber. Berikan hak istimewa yang sesuai ke akun pengguna yang digunakan untuk terhubung ke database Anda, lalu coba lagi.
Edisi SQL Server EDITION_NAME tidak didukung. Datastream tidak mendukung edisi SQL Server ini. Untuk mengetahui informasi selengkapnya tentang edisi SQL Server yang didukung, lihat Ringkasan SQL Server sebagai sumber.
Versi SQL Server VERSION_NAME edisi Standard tidak didukung. Datastream tidak mendukung edisi SQL Server Standard versi ini. Untuk mengetahui informasi selengkapnya tentang versi SQL Server yang didukung, lihat Ringkasan SQL Server sebagai sumber.
Aliran tidak dapat membaca peristiwa di LSN "YOUR_LSN" karena log transaksi tampaknya terpotong.

Masalah ini dapat terjadi saat log transaksi tidak lagi ada di database sumber. Saat Anda mereplikasi data dari sumber SQL Server menggunakan metode CDC log transaksi, log mungkin terpotong sebelum dibaca oleh Datastream. Jika hal itu terjadi, Datastream tidak dapat mereplikasi database sumber ke tujuan secara andal.

Untuk mengatasi masalah ini, pulihkan aliran Anda atau pertimbangkan untuk menggunakan metode CDC tabel perubahan. Untuk mengetahui informasi selengkapnya tentang perbedaan antara kedua metode tersebut, lihat Ringkasan SQL Server sebagai sumber.

Konfigurasi CDC SQL Server: gagal. Metode CDC yang Anda pilih tidak sesuai dengan konfigurasi database Anda. Ubah metode CDC, lalu coba lagi.

Error Salesforce

Error Langkah pemecahan masalah
Izin tidak memadai.

Pengguna aplikasi yang terhubung atau aplikasi klien eksternal yang Anda konfigurasi untuk mengautentikasi koneksi antara organisasi Salesforce dan Datastream tidak memiliki izin yang memadai untuk mengakses data yang ingin Anda replikasi. Pastikan Anda mengonfigurasi sumber Salesforce dengan benar. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi sumber Salesforce.

Bulk API 2.0 dinonaktifkan.

Bulk API 2.0 diaktifkan secara default untuk edisi Performance, Unlimited, Enterprise, dan Developer. Pesan error ini menunjukkan bahwa API dinonaktifkan di edisi Anda, atau kredensial yang Anda gunakan tidak memiliki izin yang memadai. Pastikan profil pengguna yang Anda gunakan telah diberi izin API Enabled.

Batas terlampaui.

Anda telah melampaui batas kueri Salesforce API. Anda akan melihat pesan ini saat mencapai 90% kuota batas API. Dalam kasus seperti itu, Datastream akan mencoba lagi operasi di lain waktu. Sebaiknya pertimbangkan untuk menambah kuota API Salesforce Anda.

Batas penghapusan terlampaui.

Saat membuat kueri untuk record yang dihapus, Salesforce membatasi respons hingga 600.000 ID record. Granularitas kueri terendah di Salesforce adalah satu menit, dan jika Anda menghapus lebih dari 600.000 data dalam satu menit, Salesforce akan menampilkan error ini.

Error autentikasi.

Datastream tidak dapat melakukan autentikasi dengan Salesforce. Anda mungkin menggunakan kredensial atau nama domain yang salah.

Error MongoDB

Error Langkah pemecahan masalah
Autentikasi gagal. Periksa apakah authSource untuk pengguna Aliran data adalah admin. Pengguna Datastream harus dibuat di database admin. Database ini adalah database istimewa yang memungkinkan pengguna menjalankan perintah administratif tertentu.
Login database gagal. Periksa nama pengguna dan sandi Anda, lalu coba lagi. Selain itu, pastikan akun pengguna Anda telah dibuat dalam database admin. Jika masalah berlanjut, mungkin akun pengguna Anda telah dihapus atau dibuat dengan tidak benar.
Daftar objek yang dikecualikan tidak valid: {exclude_list}. Tentukan objek yang dikecualikan dalam format berikut: DATABASE_NAME.COLLECTION_NAME.FIELD_NAME.NESTED_FIELD_NAME dengan karakter pengganti opsional. Contoh yang valid: db.*, database.collection.*, database.*.field.*.
Kita tidak memiliki izin yang diperlukan untuk membaca dari sumber. Tetapkan peran readAnyDatabase kepada pengguna Anda, lalu coba lagi.
MongoDB versi VERSION_NAME tidak didukung. Gunakan versi 5.0 atau yang lebih tinggi.
Datastream tidak dapat menjalankan perintah buildinfo untuk menentukan versi MongoDB. Pastikan pengguna memiliki izin yang diperlukan untuk menjalankan perintah buildinfo, lalu coba lagi. Untuk mengetahui informasi selengkapnya tentang izin yang diperlukan, lihat Mengonfigurasi database MongoDB.
Waktu tunggu koneksi ke cluster MongoDB habis. Pastikan Anda telah memberikan hostname dan kredensial yang benar, lalu coba lagi.
Kami tidak dapat membaca data yang diperlukan karena izin tidak memadai. Tetapkan peran readAnyDatabase ke akun yang digunakan untuk terhubung ke cluster MongoDB Anda, lalu coba lagi.
Akun pengguna yang digunakan untuk terhubung ke cluster MongoDB Anda tidak ada. Buat akun pengguna, lalu coba lagi.
Kami tidak dapat terhubung menggunakan informasi yang diberikan. Pastikan format koneksi yang benar (SRV atau Standar) digunakan dan semua informasi yang diperlukan (seperti nama set replika untuk string koneksi set replika) disertakan. Untuk mengetahui informasi selengkapnya, lihat Membuat profil koneksi untuk database MongoDB.
Terjadi pengecualian MongoDB. Pesan error sumber: {source_error}. Jika pesan error sumber tidak jelas, hubungi Dukungan Google.

Error BigQuery

Error Langkah pemecahan masalah
BIGQUERY_UNSUPPORTED_PRIMARY_KEY_CHANGE, details: Failed to write to BigQuery due to an unsupported primary key change: adding primary keys to existing tables is not supported. Jika kunci utama berubah di sumber, Anda harus menghapus tabel di BigQuery dan memulai pengisian ulang. Hal ini merupakan batasan BigQuery, karena tidak ada cara untuk memastikan penggabungan peristiwa baru yang benar dengan baris yang ada jika kunci utamanya berbeda. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi tujuan BigQuery.
Tabel BigQuery tujuan memiliki lebih banyak kumpulan data daripada tabel sumber. Hal ini dapat terjadi jika tabel sumber tidak memiliki kunci utama. Dalam kasus seperti itu, Datastream memproses tabel dalam mode penulisan hanya untuk menambahkan, dan setiap peristiwa untuk baris tertentu muncul sebagai baris terpisah di BigQuery.
Data diduplikasi saat melakukan pengisian ulang dalam mode penulisan Hanya tambahkan.

Saat Anda memilih mode penulisan Khusus penambahan untuk aliran, data Anda ditambahkan di BigQuery sebagai aliran peristiwa INSERT, UPDATE-INSERT, UPDATE-DELETE, dan DELETE, tanpa konsolidasi. Hal ini dapat menyebabkan baris duplikat ditulis ke BigQuery saat Anda melakukan pengisian ulang, atau saat terjadi masalah dan penulis BigQuery mencoba lagi operasi penulisan. Untuk mengatasi masalah ini, sebaiknya Anda menjalankan kueri penghapusan duplikat yang serupa dengan berikut secara rutin:

SELECT * FROM (SELECT *, row_number() OVER (PARTITION BY datastream_metadata.uuid) AS num FROM TABLE_NAME) WHERE num=1
Datastream dikonfigurasi untuk mode penulisan gabungan, tetapi perubahan tidak digabungkan di BigQuery.

Pastikan ada kunci utama di tabel sumber Anda. BigQuery memerlukannya untuk menggabungkan perubahan ke dalam tabel tujuan.

Jika tidak ada kunci utama, pertimbangkan untuk menambahkannya di tabel sumber atau tujuan. Untuk menambahkan kunci utama di tabel BigQuery tujuan Anda, ikuti langkah-langkah berikut:

  1. Jeda streaming.
  2. Truncate tabel di BigQuery.
  3. Tambahkan kunci utama ke definisi tabel.
  4. Lanjutkan streaming.
  5. Memicu pengisian ulang untuk tabel.
Tidak dapat menambahkan kunci utama, menghapus kunci utama, atau mengubah definisi kunci utama untuk tabel yang sudah direplikasi ke BigQuery.

Secara default, Datastream tidak mendukung penambahan kunci utama ke tabel yang sudah direplikasi ke BigQuery tanpa kunci utama atau penghapusan kunci utama dari tabel yang direplikasi ke BigQuery dengan kunci utama. Namun, Anda dapat mengubah definisi kunci utama untuk tabel sumber yang direplikasi ke BigQuery yang sudah memiliki kunci utama:

  1. Periksa metrik total latensi untuk aliran dan tunggu setidaknya selama latensi saat ini untuk memastikan bahwa semua peristiwa dalam proses ditulis ke tujuan. Dengan demikian, semua peristiwa dengan kunci utama asli dapat berhasil di-streaming.
  2. Jeda streaming.
  3. Salin perintah bahasa definisi data (DDL) CREATE TABLE untuk tabel di BigQuery:
        SELECT ddl FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.TABLES
          WHERE table_name='TABLE_NAME';

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda.
    • DATASET_ID: ID set data di BigQuery.
    • TABLE_NAME: nama tabel yang DDL perintahnya ingin Anda salin.
  4. Hapus tabel di BigQuery.
  5. Sesuaikan perintah DDL CREATE TABLE dengan kunci primer baru. Sertakan kunci partisi dan cluster, serta max_staleness OPTION:
        CREATE TABLE `[PROJECT_ID].[DATASET_ID].[TABLE_NAME]`
        (
          product_id INT64 NOT NULL,
          product_name STRING,
          datastream_metadata STRUCT,
          PRIMARY KEY (product_id) NOT ENFORCED
        )
        CLUSTER BY dept_no
        OPTIONS(
          max_staleness=INTERVAL '0-0 0 0:MINS:0' YEAR TO SECOND
        );
        ;
        

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda.
    • DATASET_ID: ID set data di BigQuery.
    • TABLE_NAME: nama tabel yang DDL perintahnya Anda salin.
    • MINS: jumlah menit yang ingin Anda tetapkan untuk opsi max_staleness, misalnya 15.
  6. Jalankan kueri yang disesuaikan untuk membuat ulang tabel di BigQuery.
  7. Lanjutkan streaming.
  8. Mulai pengisian ulang untuk tabel.

Langkah berikutnya

  • Untuk mempelajari cara mencari potensi masalah pada streaming, lihat Memecahkan masalah streaming.
  • Untuk mempelajari cara mengonfigurasi database sumber, lihat Sumber.
  • Untuk mempelajari cara mengonfigurasi tujuan BigQuery atau Cloud Storage, lihat Tujuan.