Halaman ini mencantumkan error umum dan langkah-langkah pemecahan masalah yang direkomendasikan untuk:
Error tugas migrasi
Proses tugas migrasi dapat menimbulkan error selama runtime.
- Beberapa error, seperti sandi yang salah di database sumber, dapat dipulihkan. Tugas migrasi dilanjutkan secara otomatis setelah error ini diperbaiki.
- Beberapa error tidak dapat dipulihkan, seperti error dalam replikasi data. Anda harus memulai ulang tugas migrasi setelah error ini diperbaiki.
Jika terjadi error, status tugas migrasi akan berubah menjadi Failed
, dan
substatus mencerminkan status terakhir sebelum kegagalan.
Untuk memecahkan masalah error, buka tugas migrasi yang gagal untuk melihat error, lalu ikuti langkah-langkah yang diuraikan dalam pesan error.
Untuk melihat detail selengkapnya tentang error, buka Cloud Monitoring menggunakan
link di tugas migrasi. Log difilter ke tugas migrasi tertentu.
Dalam tabel berikut, Anda dapat menemukan beberapa contoh masalah dan cara menyelesaikannya:
Gejala | Kemungkinan penyebab | Hal-hal yang sebaiknya dicoba |
---|---|---|
Pesan error: Database Migration Service can't set up a tunnel to be
connected to the bastion host .
|
Database Migration Service tidak dapat mengakses bastion host atau bastion host tidak menerima koneksi. | Verifikasi setelan tunnel SSH penerusan Anda di profil koneksi sumber dan konfigurasi server tunnel SSH, lalu coba lagi. |
Pesan error: Database Migration Service can't connect to the database
atau
Database Migration Service private connectivity error, cannot connect to the database .
|
Database Migration Service tidak dapat membuat konektivitas ke database Oracle sumber. |
Verifikasi bahwa Anda dapat mengakses database sumber dari project Anda. Periksa setelan yang terkait dengan metode konfigurasi konektivitas sumber. Jika ada kode error Oracle tertentu yang disertakan, misalnya
|
Pesan error: Archiving mode is not ARCHIVELOG . |
Database sumber Anda tidak berjalan dalam mode ARCHIVELOG . |
Konfigurasi database sumber Anda untuk menggunakan mode ARCHIVELOG .
Untuk mengetahui informasi selengkapnya, lihat
Mengonfigurasi database Oracle sumber.
|
Pesan error: Supplemental logging ("ALL COLUMN LOGGING") isn't turned
on for the tables listed below .
|
Database sumber Anda tidak mengaktifkan data log tambahan. | Aktifkan data log tambahan dan tetapkan modenya ke ALL .
Untuk mengetahui informasi selengkapnya, lihat
Mengonfigurasi database Oracle sumber.
|
Pesan error: No Archive Log Files were found in the source . |
Database Migration Service hanya membaca log arsip yang ditutup, dan tidak ada log yang ditemukan di database sumber. |
Jika database tidak memiliki operasi tulis aktif, Anda mungkin perlu
melakukan setidaknya satu operasi |
Pesan error: We're missing the necessary permissions to read
from the source .
|
Akun pengguna migrasi di database sumber Anda tidak memiliki izin yang diperlukan. |
Layanan Migrasi Database terhubung ke sumber Anda sebagai akun pengguna yang Anda
konfigurasi di profil koneksi sumber. Akun tersebut memerlukan serangkaian izin tertentu (misalnya, Pastikan akun pengguna migrasi memiliki hak istimewa yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi database Oracle sumber. |
Pesan error: Unable to connect to the destination database . |
Terjadi masalah saat menghubungkan ke database tujuan. | Verifikasi bahwa Anda dapat mengakses database tujuan dari project Anda. Periksa setelan yang terkait dengan metode konfigurasi konektivitas tujuan. |
Pesan error: The following tables don't exist in the destination database: {table_names} . |
Tabel yang tercantum yang Anda coba migrasikan tidak ada di database tujuan. | Database Migration Service membuat tabel dan definisi yang diperlukan saat Anda mengonversi skema sumber. |
Pesan error: password authentication failed for user {username} . |
Nama pengguna atau sandi untuk database tujuan salah dikonfigurasi. | Pastikan profil koneksi PostgreSQL tujuan dikonfigurasi dengan benar menggunakan nama pengguna dan sandi yang tepat. |
Pesan error: The following tables in the destination database
don't have primary keys: {table_names} .
|
Tabel yang tercantum dalam pesan error ada di database tujuan, tetapi tidak memiliki kunci utama. |
Ruang kerja konversi Database Migration Service otomatis menambahkan kunci primer untuk tabel yang tidak memilikinya saat Anda mengonversi skema. Jika menggunakan ruang kerja konversi lama, Anda harus membuat kunci utama secara manual di tujuan. Untuk mengetahui informasi selengkapnya, lihat Ruang kerja konversi lama. |
Peringatan: The following tables have foreign keys: {table_names} . |
Tabel yang tercantum dalam pesan error ada di database tujuan, tetapi memiliki kunci asing. |
Database Migration Service tidak mereplikasi data secara transaksional, sehingga tabel dapat dimigrasikan secara tidak berurutan. Jika kunci asing ada, dan tabel turunan yang menggunakan kunci asing dimigrasikan sebelum induknya, Anda mungkin mengalami error replikasi. Untuk menghindari masalah integritas data tersebut, lewati kunci asing dengan menggunakan
opsi |
Pesan error: Unable to resume replication as log position is lost . |
Error ini mungkin terjadi saat proses replikasi dijeda dalam waktu yang lama, sehingga menyebabkan hilangnya posisi log. | Tugas migrasi tidak boleh dijeda lebih lama dari (atau mendekati) periode retensi log. Jika posisi log hilang, Anda harus membuat ulang tugas migrasi. |
Pesan error: ORA-00942: table or view does not exist . |
Error ini mungkin terjadi akibat caching di server Oracle. | Buat ulang pengguna database untuk memperbaiki masalah caching. |
Tugas migrasi tetap berada di fase dump penuh dan tidak berlanjut ke fase pengambilan data perubahan (CDC). | Database Migration Service masih melakukan dump penuh untuk beberapa tabel, atau satu atau beberapa tabel tidak dapat menyelesaikan dump penuh karena error. |
|
Terjadi masalah konektivitas
Bagian ini mencantumkan dan menjelaskan langkah-langkah pemecahan masalah untuk potensi masalah konektivitas jaringan.
Tidak dapat terhubung ke database tujuan: EOF
Menjalankan uji konektivitas menampilkan pesan error [DATABASE] unable to connect to the destination database: EOF
.
Kemungkinan penyebab: Lampiran layanan dikonfigurasi dengan salah.
Hal yang dapat dicoba: Pastikan enable_proxy_protocol
disetel ke
false
di
file konfigurasi Terraform lampiran layanan.
Protokol proxy hanya didukung untuk server HTTP seperti NGINX dan Apache.
Saat menggunakan gcloud
untuk membuat penyiapan Private Service Connect, protokol proxy dinonaktifkan secara default.
Waktu tunggu koneksi habis, koneksi ditolak
Menjalankan uji konektivitas gagal atau waktu habis. Hal ini kemungkinan besar disebabkan oleh kesalahan konfigurasi perutean dalam penyiapan Private Service Connect. Masalah ini dapat terjadi karena beberapa alasan.
Kemungkinan penyebab: Tidak ada aturan firewall yang memungkinkan rentang CIDR NAT Private Service Connect mengakses subnet Private Service Connect tempat bastion berada, khususnya antarmuka nic0
VM bastion.
Hal yang dapat dicoba: Pastikan kebijakan organisasi Anda tidak membatasi aturan firewall internal, seperti aturan firewall psc_sp_in_fw
yang ditentukan dalam contoh skrip Terraform untuk
mengonfigurasi konektivitas IP pribadi tujuan untuk instance Cloud SQL yang tidak mendukung PSC.
Kemungkinan penyebab: Proxy tidak berfungsi. Tidak ada pendengar di port yang diberikan, sehingga koneksi terhenti.
Hal yang dapat dicoba: Anda dapat mencoba membuat koneksi SSH ke VM bastion, dan menelusuri proxy menggunakan perintah berikut:
netstat -tunalp | grep PORT
Menganalisis respons terhadap perintah:
Jika Anda mendapatkan respons kosong, berarti proxy tidak berfungsi. Coba jalankan perintah berikut:
sudo su; cd /
dan periksa apakah server Dante telah diinstal dengan menjalankansudo dpkg -s dante-server
:Jika proxy diinstal, Anda akan mendapatkan pesan berikut:
Status: install ok installed
Jika proxy tidak diinstal, kemungkinan masalahnya adalah router tidak ada. Tambahkan router dan periksa apakah Anda dapat mendownload proxy dengan menjalankan
apt-get install dante-server
.
Jika proxy berjalan dan memproses di port yang diberikan, coba buka koneksi ke proxy dengan melakukan hal berikut:
Instal klien PostgreSQL:
sudo apt-get install postgresql-client
.Hubungkan ke database PostgreSQL:
psql -h 127.0.0.1 -p PORT -U DBUSERNAME -W
(Anda akan diminta untuk memasukkan sandi).Ganti kode berikut:
PORT
: nomor port database.DBUSERNAME
: nama pengguna yang digunakan untuk terhubung ke database PostgreSQL.
Instal klien telnet:
sudo apt-get install telnet
Terhubung ke klien telnet:
telnet 127.0.0.1 PORT
Ganti
PORT
dengan nomor port database.
Bergantung pada hasil perintah:
Jika perintah gagal membuka koneksi, coba lihat log proxy untuk menemukan penyebab utamanya. Penyebab utama dapat bervariasi, bergantung pada penyiapan instance Cloud SQL.
Jika koneksi dibuka menggunakan telnet, tetapi terhenti di klien, kemungkinan masalahnya adalah perutean alamat IP bastion. Di VM Anda, ketik
ip route
di terminal. Lihat apakah Anda dapat menemukan aturan perutean yang merutekan koneksi ke alamat IP pribadi instance Cloud SQL menggunakannic
sekunder (nic1
, alamat IPDB_SUBNETWORK_GATEWAY
).
Kemungkinan penyebab: Lampiran layanan tidak menerima koneksi endpoint yang berasal dari Database Migration Service. Lampiran layanan menyimpan daftar project yang diterima, dan project Database Migration Service tidak disertakan dalam daftar.
Hal yang dapat dicoba: Untuk mengatasi masalah ini, coba salah satu langkah berikut:
Di konsol Google Cloud , buka Private Service Connect.
Di tab Layanan yang dipublikasikan, terima koneksi dari Database Migration Service untuk lampiran layanan Anda (jika statusnya tertunda).
Tambahkan project yang meminta ke project yang diizinkan dalam lampiran layanan (jika ditolak).
Untuk mengetahui informasi selengkapnya tentang cara menambahkan project yang diizinkan dalam Terraform, lihat dokumentasi Terraform.
Untuk mengetahui informasi selengkapnya tentang cara menambahkan project yang diizinkan dalam
gcloud
, lihat dokumentasi referensi Google Cloud CLI.
Jika cara ini tidak menyelesaikan masalah, buat ulang profil koneksi.
Hapus profil koneksi yang terkait dengan konektivitas Private Service Connect, lalu buat ulang.
Memecahkan masalah error SCAN Oracle
Bagian ini menjelaskan potensi masalah yang mungkin Anda alami saat bermigrasi dari sumber Oracle Real Application Clusters (RAC) menggunakan fitur Single Client Access Name (SCAN).
Tidak dapat membuat konektivitas ke database SCAN Oracle
Menjalankan uji konektivitas gagal atau waktu habis.
Kemungkinan penyebab: Anda mungkin mencoba membuat konektivitas langsung ke database sumber Oracle SCAN. Database Migration Service tidak mendukung konektivitas langsung ke database menggunakan fitur SCAN di lingkungan Oracle RAC.
Hal yang dapat dicoba: Untuk mengatasi masalah ini, coba salah satu langkah berikut:
Hubungkan langsung ke salah satu node.
Gunakan Oracle Connection Manager.
Buat konfigurasi konektivitas pribadi menggunakan solusi reverse proxy seperti HAProxy.