Halaman ini mencantumkan error umum dan langkah-langkah pemecahan masalah yang direkomendasikan untuk:
Error tugas migrasi
Proses tugas migrasi mungkin mengalami error selama runtime.
- Beberapa error, seperti sandi yang salah di database sumber, dapat dipulihkan. Tugas migrasi akan 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.
Saat error terjadi, status tugas migrasi 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 mengatasinya:
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 .
|
Layanan Migrasi Database tidak dapat mengakses host bastion atau host bastion 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. 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 . |
Konfigurasikan database sumber Anda untuk menggunakan mode ARCHIVELOG .
Untuk 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 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 minimal 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 konfigurasikan di profil koneksi sumber. Akun tersebut memerlukan kumpulan izin tertentu (misalnya Pastikan akun pengguna migrasi memiliki hak istimewa yang diperlukan. Untuk informasi selengkapnya, lihat Mengonfigurasi database Oracle sumber. |
Pesan error: Unable to connect to the destination database . |
Terjadi error saat menyambungkan ke database tujuan. | Pastikan Anda dapat mengakses database tujuan dari project. 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. | Layanan Migrasi Database 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 akan otomatis menambahkan kunci utama untuk tabel yang tidak memilikinya saat Anda mengonversi skema. Jika menggunakan ruang kerja konversi lama, Anda perlu membuat kunci utama secara manual di tujuan. Untuk 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 mungkin 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 selama 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 perlu membuat ulang tugas migrasi. |
Pesan error: ORA-00942: table or view does not exist . |
Error ini mungkin terjadi karena penyimpanan dalam cache di server Oracle. | Buat ulang pengguna database untuk memperbaiki masalah penyimpanan dalam cache. |
Tugas migrasi tetap berada dalam fase dump penuh dan tidak melanjutkan 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 koneksi jaringan.
Tidak dapat terhubung ke database tujuan: EOF
Menjalankan uji konektivitas akan menampilkan pesan error [DATABASE] unable to connect to the destination database: EOF
.
Kemungkinan penyebab: Lampiran layanan tidak dikonfigurasi dengan benar.
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 tunggu habis. Hal ini kemungkinan besar disebabkan oleh pemetaan yang salah dikonfigurasi dalam penyiapan Private Service Connect. Masalah ini dapat disebabkan oleh beberapa alasan.
Kemungkinan penyebab: Tidak ada aturan firewall yang mengizinkan
rentang CIDR NAT Private Service Connect untuk 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 mengaktifkan PSC.
Kemungkinan penyebab: Proxy tidak berfungsi. Tidak ada pemroses di port yang disediakan, 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
Analisis respons terhadap perintah:
Jika Anda mendapatkan respons kosong, berarti proxy sedang tidak aktif. Coba jalankan perintah berikut:
sudo su; cd /
dan periksa apakah server Dante 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 disediakan, coba buka koneksi ke proxy tersebut dengan melakukan hal berikut:
Instal klien PostgreSQL:
sudo apt-get install postgresql-client
.Menghubungkan 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
Menghubungkan 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 akar masalahnya. Penyebab utamanya dapat bervariasi bergantung pada penyiapan instance Cloud SQL.
Jika koneksi dibuka menggunakan telnet, tetapi mengalami hang di klien, kemungkinan masalahnya adalah pemilihan rute alamat IP bastion. Di VM, ketik
ip route
di terminal. Lihat apakah Anda dapat menemukan aturan pemilihan rute 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 Layanan Migrasi Database 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 Layanan Migrasi Database untuk lampiran layanan Anda (jika tertunda).
Tambahkan project yang meminta ke project yang diizinkan di lampiran layanan (jika ditolak).
Untuk mengetahui informasi selengkapnya tentang cara menambahkan project yang diizinkan di Terraform, lihat dokumentasi Terraform.
Untuk mengetahui informasi selengkapnya tentang cara menambahkan project yang diizinkan di
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 Oracle SCAN
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 tunggu habis.
Kemungkinan penyebab: Anda mungkin mencoba membuat konektivitas langsung ke database sumber Oracle SCAN. Database Migration Service tidak mendukung konektivitas langsung ke database yang 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.