Mendiagnosis masalah

Saat aliran data mengalami error runtime di Datastream, Anda dapat melihat detailnya di halaman Streams atau Stream details di konsol Google Cloud . Anda juga dapat mengambil informasi diagnostik menggunakan Datastream API. Beberapa masalah, seperti sandi yang tidak valid, dapat dipulihkan, dan replikasi akan dilanjutkan secara otomatis setelah Anda memperbaikinya. Error lainnya memengaruhi satu objek, seperti jenis data yang tidak didukung, atau menghentikan aliran data saat Datastream tidak dapat terhubung ke sumber.

Untuk memecahkan masalah, periksa pesan error dan ikuti langkah-langkah untuk error konfigurasi, konektivitas, sumber, atau tujuan BigQuery.

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. Pastikan informasi konektivitas profil koneksi sudah benar.
  4. Pastikan 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 Connection profiles.

Streaming akan dilanjutkan secara otomatis.

Gagal terhubung ke database sumber (daftar IP yang diizinkan). Hal ini dapat terjadi jika metode konektivitas yang dipilih adalah IP allowlist, tetapi satu atau beberapa alamat IP keluar Datastream tidak ditambahkan dengan benar di database sumber. Pastikan alamat IP keluar yang ditampilkan di profil koneksi Datastream dikonfigurasi di firewall jaringan agar 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 tersebut harus dimulai. Setelah masalah ini diperbaiki, streaming akan dilanjutkan secara otomatis.
Datastream tidak dapat terhubung ke bastion host melalui tunnel SSH Terusan. Pastikan konfigurasi Forward tunnel SSH 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.
Gagal 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, pastikan rute yang berisi alamat IP internal database muncul di tab Exported routes di halaman VPC Network Peering.

    Untuk melakukannya, buka halaman Peering Jaringan VPC, lalu telusuri peering yang telah ditambahkan (namanya adalah peering-[UUID]). Rute dapat ditemukan di tab Rute yang diekspor. 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 diberitahukan dengan benar. Jika rute kustom tidak ada, lihat Rute kustom yang diberitahukan.
  5. Jika Anda masih mengalami masalah saat terhubung ke database sumber, lihat Menyiapkan reverse proxy.
Gagal 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 diberitahukan dengan benar. Jika rute kustom tidak ada, lihat Rute kustom yang diberitahukan.
Jenis konektivitas STATIC_SERVICE_IP_CONNECTIVITY tidak diizinkan saat batasan Kebijakan Org/datastream.disablePublicConnectivity aktif.

Anda memilih metode konektivitas jaringan Daftar IP yang diizinkan atau Teruskan tunnel SSH 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 Organization policies di Konsol Google Cloud .
  2. Pilih kebijakan organisasi Datastream - Block Public Connectivity Methods.
  3. Klik EDIT.

  4. Di bagian Applies to pada halaman, pilih Customize.
  5. Di bagian Enforcement, pilih Off.

  6. Klik SIMPAN.
  7. Kembali ke profil koneksi Oracle yang Anda buat, lalu klik CREATE.
Saat mengonfigurasi database sumber untuk aliran data saya, saya tidak dapat menemukan tabel dan skema yang ingin saya transfer masuk 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 aliran data di konsol Google Cloud . Alih-alih memilih Specific schemas and tables di bagian Select objects to include, pilih Custom. Di kolom Object matching criteria, masukkan skema dan tabel yang ingin Anda ambil oleh Datastream.

Saya telah menambahkan beberapa tabel ke aliran data menggunakan menu Objek yang akan disertakan. Namun, saat melihat tab Objects di Stream details, saya dapat melihat bahwa beberapa tabel tidak ada. Pastikan ada setidaknya satu update CDC untuk setiap tabel ini agar Datastream dapat mengenali perubahan dan otomatis menyertakan tabel dalam aliran data.
Gagal memuat daftar objek saat menggunakan menu Objects to include 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 informasi selengkapnya, lihat Mengonfigurasi database sumber.
Peristiwa yang dihapus selama streaming dan tidak direplikasi di tujuan.

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

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

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

  • Hubungi Dukungan Google dan minta mereka untuk melakukan pengisian ulang sebagian. Hal ini hanya dapat dilakukan jika Anda dapat mengidentifikasi peristiwa yang dihapus dengan klausa WHERE SQL, dan jika tidak ada peristiwa yang merupakan peristiwa DELETE.
  • Abaikan masalah ini jika jumlah peristiwa yang dihapus rendah atau jika peristiwa yang dihapus tidak signifikan.
Waktu habis saat mencoba terhubung ke sumber data. Pastikan konfigurasi nama host dan port sudah akurat, dan sumber data dapat diakses. Karena jaringan Datastream tidak dapat di-peering langsung dengan jaringan layanan pribadi (misalnya, instance Cloud SQL) saat menggunakan peering VPC, Anda harus menggunakan VM penafsiran alamat jaringan (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 terkait yang lebih besar dari 2.621.440 karakter Unicode. Peristiwa ini dihapus 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 umum yang mendasarinya adalah konfigurasi sumber yang tidak valid. Jika aliran data 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 yang dapat diselesaikan dengan mengedit setelan aliran data 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
Logging tambahan tidak dikonfigurasi dengan benar 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 logging tambahan diaktifkan untuk tabel database yang di-streaming dari sumber ke tujuan. Streaming akan dilanjutkan secara otomatis.

Tidak dapat melanjutkan replikasi karena posisi log hilang. Error ini dapat terjadi jika proses replikasi dijeda dalam waktu lama, sehingga posisi log hilang. Streaming tidak boleh dijeda untuk jangka waktu yang mendekati periode retensi log. Buat ulang aliran data.
File log tidak ada, baik sebagian maupun seluruhnya.

File log mungkin telah dihapus. Oracle menghapus file log sesegera mungkin, 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 penyertaan sepenuhnya terdapat dalam daftar pengecualian, 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 caching di server Oracle. Membuat ulang pengguna database akan memperbaiki masalah caching.
Perubahan pada sumber Oracle tidak akan diterapkan di tujuan jika aliran data sudah berjalan. Jika Anda menggunakan LogMiner sebagai metode CDC, Datastream akan membaca dari file redo log yang diarsipkan. Dalam kasus seperti ini, perubahan yang Anda buat pada sumber tidak akan terlihat di tujuan hingga log diarsipkan. Untuk melihat perubahan di tujuan, ubah metode CDC menjadi pembaca log biner,ubah kebijakan arsip log, atau paksa pengalihan log secara manual. Untuk mengetahui informasi selengkapnya, lihat Menggunakan file redo log 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 tidak dikonfigurasi dengan benar di database sumber.

Hal ini dapat terjadi untuk aliran data 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 ditetapkan ke ROW.
  3. Mulai ulang streaming.
Tidak dapat melanjutkan replikasi karena posisi binlog hilang. Error ini dapat terjadi jika proses replikasi dijeda dalam waktu lama, yang menyebabkan posisi binlog hilang. Streaming tidak boleh dijeda untuk jangka waktu yang mendekati periode retensi binlog. Buat ulang aliran data.
Gagal menjalankan aliran data karena database sumber dan versi 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 data dengan database sumber yang telah diupdate.
Binlog sumber AWS RDS MySQL tidak ada, baik sebagian maupun seluruhnya. Binlog mungkin telah dihapus. AWS RDS menghapus binlog sesegera mungkin, kecuali jika Anda menentukan periode rotasi minimum untuk menyimpannya. Di instance MySQL AWS RDS sumber, tetapkan berapa lama, dalam jam, binlog harus dipertahankan. Misalnya, gunakan mysql.rds_set_configuration('binlog retention hours', 168); untuk menyimpan binlog selama minimal 7 hari.
Daftar pengecualian mencakup daftar penyertaan. Daftar penyertaan sepenuhnya terdapat dalam daftar pengecualian, 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 berenkode PEM tidak diterima di menu Encryption type. Datastream tidak mendukung rantai sertifikat SSL di profil koneksi MySQL. Hanya satu sertifikat berenkode x509 PEM yang didukung.
Latensi tinggi saat 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 data yang sesuai. Dengan memiliki beberapa file binlog, Datastream dapat membaca peristiwa database sumber secara serentak, 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 tidak dikonfigurasi dengan 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 selain 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 jika publikasi tidak dikonfigurasi untuk mengekspos tabel yang disertakan dalam konfigurasi aliran data. 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 jika proses replikasi dijeda dalam waktu lama, sehingga file WAL hilang. Streaming tidak boleh dijeda untuk jangka waktu yang mendekati periode retensi file WAL. Buat ulang aliran data.
Daftar pengecualian mencakup daftar penyertaan. Daftar penyertaan sepenuhnya terdapat dalam daftar pengecualian, 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 di database sumber, slot replikasi mungkin akan kelebihan beban dengan peristiwa yang sesuai. Datastream memerlukan waktu untuk membaca dan memproses peristiwa ini. Karena slot replikasi PostgreSQL bersifat single-threaded, 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 data, masing-masing dengan slot publikasi dan replikasinya sendiri. Misalnya, Anda mungkin ingin membuat satu aliran data untuk tabel terbesar di database dan aliran data lain untuk semua tabel lainnya, atau satu aliran data untuk tabel prioritas utama dan aliran data lain untuk tabel lainnya. Kasus penggunaannya mungkin 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 dihapus 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, hal ini akan melanggar batasan CDC BigQuery dan menyebabkan error. Untuk menyelesaikan 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 data. 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 tabel ke aliran data lagi dengan mengedit konfigurasi sumber Anda.
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 yang lengkap. Aktifkan CDC untuk database dan coba lagi.

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

Tabel dengan CDC dinonaktifkan.

Change data capture (CDC) harus diaktifkan untuk semua tabel yang disertakan dalam aliran data. 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 data, 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 EDITION_NAME SQL Server 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.
SQL Server versi VERSION_NAME dari edisi Standard tidak didukung. Datastream tidak mendukung versi edisi SQL Server Standard ini. Untuk mengetahui informasi selengkapnya tentang versi SQL Server yang didukung, lihat Ringkasan SQL Server sebagai sumber.
Aliran data tidak dapat membaca peristiwa di LSN "YOUR_LSN" karena log transaksi tampaknya terpotong.

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

Untuk mengatasi masalah ini, pulihkan aliran data 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 API Salesforce. Anda akan melihat pesan ini saat mencapai 90% dari kuota batas API. Dalam kasus seperti ini, Datastream akan mencoba kembali operasi di lain waktu. Sebaiknya pertimbangkan untuk meningkatkan kuota API Salesforce Anda.

Batas yang dihapus terlampaui.

Saat membuat kueri untuk data yang dihapus, Salesforce membatasi respons hingga 600.000 ID data. Perincian 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 Datastream adalah admin. Pengguna Datastream harus dibuat di database admin. Database ini adalah database dengan hak 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, kemungkinan akun pengguna Anda telah dihapus atau dibuat secara 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.*.
Kami tidak memiliki izin yang diperlukan untuk membaca dari sumber. Tetapkan peran readAnyDatabase ke pengguna Anda, lalu coba lagi.
MongoDB versi VERSION_NAME tidak didukung. Gunakan versi 5.0 atau yang lebih baru.
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 nama host 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 Standard) 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.
Kami mengalami pengecualian MongoDB. Pesan error sumber: {source_error}. Jika pesan error sumber tidak jelas, hubungi Dukungan Google.

Error Spanner

Error Langkah pemecahan masalah
Terjadi error saat membaca Spanner. Jika database Spanner Anda berada di project yang berbeda dengan project tempat Datastream berjalan, pastikan Anda telah memberikan izin yang diperlukan. Selain itu, pastikan database Spanner Anda memiliki resource CPU yang memadai dan tidak membatasi permintaan.
Aliran data perubahan di luar retensi. Anda tidak dapat memulihkan streaming yang mengalami error ini. Error ini berarti Datastream telah tertinggal dari periode retensi aliran data perubahan Spanner Anda dan kehilangan data. Jika periode retensi singkat, misalnya jika berlangsung selama beberapa detik atau menit, Anda dapat mencoba meningkatkannya dan membuat aliran data baru.

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 lagi. Ini adalah batasan BigQuery, karena tidak ada cara untuk memastikan penggabungan peristiwa baru dengan baris yang ada dengan benar jika kunci utamanya berbeda. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi tujuan BigQuery.
Tabel BigQuery tujuan memiliki kumpulan data yang jauh lebih banyak daripada tabel sumber. Hal ini dapat terjadi jika tabel sumber tidak memiliki kunci utama. Dalam kasus seperti ini, Datastream memproses tabel dalam mode tulis append-only, dan setiap peristiwa untuk baris tertentu muncul sebagai baris terpisah di BigQuery.
Data akan diduplikasi saat melakukan pengisian ulang dalam mode tulis Hanya-tambahkan.

Saat Anda memilih mode tulis Append-only untuk aliran data, data Anda akan ditambahkan di BigQuery sebagai aliran peristiwa INSERT, UPDATE-INSERT, UPDATE-DELETE, dan DELETE, tanpa konsolidasi apa pun. Hal ini dapat menyebabkan baris duplikat ditulis ke BigQuery saat Anda melakukan pengisian ulang, atau saat terjadi masalah dan penulis BigQuery mencoba kembali operasi tulis. Untuk mengatasi masalah ini, sebaiknya jalankan kueri penghapusan duplikasi yang mirip dengan kueri 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 tulis penggabungan, 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, ikuti langkah-langkah berikut:

  1. Jeda streaming.
  2. Memotong 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 streaming dan tunggu setidaknya selama latensi saat ini untuk memastikan bahwa peristiwa yang sedang berlangsung ditulis ke tujuan. Hal ini memungkinkan semua peristiwa dengan kunci utama asli 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 project Google Cloud Anda.
    • DATASET_ID: ID set data di BigQuery.
    • TABLE_NAME: nama tabel yang perintah DDL-nya ingin Anda salin.
  4. Hapus tabel di BigQuery.
  5. Sesuaikan perintah DDL CREATE TABLE dengan kunci utama 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 project Google Cloud Anda.
    • DATASET_ID: ID set data di BigQuery.
    • TABLE_NAME: nama tabel yang perintah DDL-nya 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. Memulai pengisian ulang untuk tabel.

Langkah berikutnya

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