Dokumen ini menjelaskan cara menggunakan berbagai ruang kerja konversi di Database Migration Service.
Menggunakan ruang kerja konversi dengan editor bawaan
Ruang kerja konversi membantu Anda mengonversi skema dan objek dari database sumber menjadi format yang kompatibel untuk database tujuan. Ruang kerja ini memungkinkan Anda meninjau, mengubah, dan menerapkan keseluruhan struktur konversi, tetapi tidak mengubah data apa pun di database sumber.
Mengonversi skema dan kode sumber
Saat Anda menyiapkan ruang kerja, Database Migration Service akan melakukan pengambilan awal skema database sumber dan objek kode, lalu Anda memilih objek yang ingin dikonversi (Anda dapat menambahkan lebih banyak objek nanti). Objek ini kini ditampilkan di tab Oracle. Panel Draf AlloyDB untuk PostgreSQL menampilkan skema dan kode PostgreSQL yang dihasilkan oleh Database Migration Service.
Pada tahap ini, Database Migration Service menampilkan objek pasca-konversi yang diharapkan, bukan objek sebenarnya di instance tujuan.
Di konsol Google Cloud , buka Ruang kerja konversi.
Dari daftar ruang kerja konversi yang tersedia, pilih ruang kerja konversi yang ingin Anda gunakan.
Editor ruang kerja konversi akan terbuka.
Opsional: Upload file konfigurasi Ora2Pg untuk memberikan pemetaan tambahan untuk SQL yang dihasilkan:
Klik Edit konfigurasi > Sesuaikan pemetaan dengan file konfigurasi
Di kotak Ora2Pg configuration file, klik Browse dan gunakan pemilih file sistem untuk memilih file konfigurasi Anda.
Klik Tambahkan file > Buat.
Opsional: Jika Anda sudah memiliki skema dan kode yang dikonversi, tetapi ingin menyesuaikan SQL yang dihasilkan secara manual sebelum menjalankan konversi lagi, lakukan langkah-langkah berikut:
Di panel Oracle, pilih objek yang SQL-nya ingin Anda sesuaikan.
Buka tab SQL, lalu periksa pernyataan.
Sesuaikan skrip sesuai kebutuhan untuk skenario Anda, lalu klik Simpan.
Setelah menyelesaikan semua penyesuaian, klik Konversi sumber.
Di kotak dialog konfirmasi, klik Konversikan.
Menghapus objek dari skema sumber
Hapus objek dari skema sumber untuk mengecualikannya dari konversi. Anda dapat menambahkan objek yang dihapus nanti jika diperlukan.
Di konsol Google Cloud , buka Ruang kerja konversi.
Dari daftar ruang kerja konversi yang tersedia, pilih ruang kerja konversi yang ingin Anda gunakan.
Editor ruang kerja konversi akan terbuka.
Di tab Oracle, di samping objek yang ingin dihapus, pilih > Hapus.
LainnyaDi dialog konfirmasi Hapus objek, klik Hapus.
Konversikan sumber lagi untuk mencerminkan pembaruan di tab Draf AlloyDB untuk PostgreSQL.
Menambahkan objek ke skema sumber
Anda dapat menambahkan objek yang sebelumnya dihapus dari skema sumber untuk menambahkannya ke konversi.
Di konsol Google Cloud , buka Ruang kerja konversi.
Dari daftar ruang kerja konversi yang tersedia, pilih ruang kerja konversi yang ingin Anda gunakan.
Editor ruang kerja konversi akan terbuka.
Di tab Oracle, klik
Add objects.Di bagian Tambahkan objek, gunakan daftar sumber untuk memilih semua entitas yang ingin Anda tambahkan ke skema sumber.
Anda dapat menggunakan kolom Filter untuk mengurangi jumlah objek yang ditampilkan. Lihat Memfilter objek di tampilan skema sumber.
Klik Tambahkan objek.
Konversikan sumber lagi untuk mencerminkan pembaruan di tab Draf AlloyDB untuk PostgreSQL.
Menarik skema sumber dan snapshot kode
Anda dapat mengambil skema dan kode dari database sumber ke ruang kerja konversi kapan saja. Menarik sumber memberi Anda peluang untuk menambahkan objek baru, atau memperbarui objek yang ada dalam konversi.
Mengambil skema dan kode database yang diperbarui tidak akan mereset pemetaan tambahan yang ada di ruang kerja konversi dari file konfigurasi Ora2Pg, kecuali jika Anda secara eksplisit memilih untuk menghapus pemetaan kustom.
Selain itu, menarik sumber tidak akan mengganti perubahan SQL pada objek kode Anda. Anda dapat mereset perubahan ini secara langsung di tingkat objek.
Di konsol Google Cloud , buka Ruang kerja konversi.
Klik Edit konfigurasi > Pull snapshot skema sumber lagi.
Di kotak dialog:
- (Opsional) Pilih Reset custom mapping untuk menghapus pemetaan kustom dan modikasi DDL yang ada.
- Klik Pull schema snapshot.
Database Migration Service mengambil snapshot baru dari database sumber Anda. Setelah operasi selesai, konversikan sumber lagi.
Meninjau hasil konversi
Setelah melakukan konversi sumber, Anda dapat meninjau hasil konversi dan kemungkinan masalah untuk setiap objek yang dikonversi di area editor ruang kerja. Anda juga dapat menggunakan Google Cloud CLI untuk menyimpan semua hasil dan masalah secara massal ke file teks.
Konsol
Di konsol Google Cloud , buka Ruang kerja konversi.
Klik nama tampilan ruang kerja konversi yang ingin Anda gunakan.
Editor ruang kerja konversi akan terbuka.
Pilih tab Oracle, lalu temukan objek yang ingin Anda tinjau hasil konversinya di tabel tampilan hierarki.
Pilih objek. Gunakan tab SQL dan Masalah konversi untuk meninjau konversi.
gcloud
Dengan Google Cloud CLI, Anda dapat mencetak semua hasil atau masalah konversi ke terminal. Alihkan output ke file untuk peninjauan objek massal yang lebih mudah.
Mendapatkan daftar hasil konversi
gcloud CLI menampilkan hasil konversi di terminal dalam bentuk pernyataan Data Definition Language (DDL). Untuk menyimpan hasil konversi ke file, jalankan perintah berikut:
gcloud database-migration conversion-workspaces describe-ddls \
CONVERSION_WORKSPACE_ID \
--region=REGION_ID \
> OUTPUT_FILE_PATH
Ganti:
CONVERSION_WORKSPACE_ID
dengan ID ruang kerja konversi. Untuk informasi tentang cara mengambil ID ruang kerja konversi, lihat Melihat detail ruang kerja konversi.REGION_ID
dengan nama region tempat ruang kerja konversi berada.OUTPUT_FILE_PATH
dengan jalur ke file teks tempat Anda ingin menyimpan output.Contoh:
gcloud database-migration conversion-workspaces describe-issues \ my-conversion-workspace \ --region=us-central1 \ > ./my-conversion-issues.txt
Hasil:
Hasil konversi skema Anda disimpan dalam format teks dengan baris pertama bertuliskan
DDLs
dan baris berikutnya diisi oleh pernyataan SQL:DDLs CREATE SCHEMA IF NOT EXISTS "SCHEMA1"; ALTER TABLE "SCHEMA1"."EMPLOYEES" ADD CONSTRAINT PK_ID PRIMARY KEY ("ID"); CREATE OR REPLACE FUNCTION mockschema.func_test_datatype(str1 VARCHAR(65000)) RETURNS DECIMAL LANGUAGE plpgsql AS $$ DECLARE str2 VARCHAR(100); BEGIN SELECT employees.first_name INTO STRICT STR2 FROM mockschema.employees WHERE employees.employee_id = CAST(FUNC_TEST_DATATYPE.str1 as DECIMAL) ; RAISE NOTICE '%', concat('Input : ', FUNC_TEST_DATATYPE.str1, ' Output : ', str2); RETURN 0; END; $$; CREATE OR REPLACE PROCEDURE greetings AS BEGIN dbms_output.put_line('Hello World!'); END; CREATE SYNONYM TABLE "SCHEMA1"."SYNONYM1" ON "SCHEMA1"."EMPLOYEES"; CREATE OR REPLACE VIEW "SCHEMA1"."VIEW1" AS SELECT * FROM JOBS;
Mendapatkan daftar masalah konversi
Untuk menyimpan masalah konversi ke file, jalankan perintah berikut:
gcloud database-migration conversion-workspaces describe-issues \
CONVERSION_WORKSPACE_ID \
--region=REGION_ID \
> OUTPUT_FILE_PATH
Ganti:
-
CONVERSION_WORKSPACE_ID
dengan ID ruang kerja konversi. Untuk informasi tentang cara mengambil ID ruang kerja konversi, lihat Melihat detail ruang kerja konversi. -
REGION_ID
dengan nama region tempat ruang kerja konversi berada. -
OUTPUT_FILE_PATH
dengan jalur ke file teks tempat Anda ingin menyimpan output.
Contoh:
gcloud database-migration conversion-workspaces describe-issues \
my-conversion-workspace \
--region=us-central1 \
> ./my-conversion-issues.txt
Hasil:
Semua masalah konversi yang terdapat di ruang kerja Anda disimpan dalam format teks dengan baris pertama berisi header kolom dan setiap baris berikutnya berisi masalah konversi terpisah:
PARENT NAME ENTITY_TYPE ISSUE_TYPE ISSUE_SEVERITY ISSUE_CODE ISSUE_MESSAGE
SCHEMA1 EMPLOYEES TABLE DDL ERROR 500 unable to parse DDL.
SCHEMA1 EMPLOYEES TABLE CONVERT WARNING 206 no conversion done.
SCHEMA1 STORED_PROCEDURE1 STORED_PROCEDURE DDL ERROR 500 invalid DDL.
SCHEMA1 SYNONYM1 SYNONYM CONVERT WARNING 206 synonym warning message.
Memperbaiki masalah konversi
Database Migration Service mungkin tidak dapat mengonversi seluruh sumber Anda secara otomatis.
Untuk sebagian besar objek Oracle, Anda dapat menggunakan editor konversi langsung di Database Migration Service untuk menyesuaikan SQL yang dihasilkan. Untuk yang lainnya, Anda mungkin perlu mengubah objek secara langsung di database sumber, lalu mengambil snapshot sumber lagi.
Untuk mengetahui daftar lengkap objek yang didukung Database Migration Service untuk diedit langsung di ruang kerja konversi, lihat Objek Oracle yang dapat diedit.
Untuk memperbaiki masalah konversi yang dialami dengan objek yang mendukung pengeditan langsung:
Tinjau hasil konversi dan identifikasi kemungkinan masalah.
Anda dapat menggunakan konsol Google Cloud untuk meninjau setiap objek atau gcloud CLI untuk meninjau semua objek secara massal.
Di tab Draf AlloyDB for PostgreSQL, gunakan editor SQL untuk memperbarui kode yang dihasilkan.
Uji aplikasi untuk memverifikasi bahwa Database Migration Service dapat menerapkan kode Anda dengan benar ke database tujuan.
Untuk memperbaiki masalah konversi yang dialami dengan objek yang tidak didukung di editor ruang kerja, lakukan salah satu tindakan berikut:
Perbarui sumber Anda:
- Perbarui skema dan kode langsung di database sumber Anda.
- Ambil sumber yang diperbarui ke Database Migration Service.
- Konversikan sumber lagi dan periksa apakah masalahnya masih ada.
Berikan pemetaan tambahan menggunakan alat konfigurasi Ora2Pg:
- Konfigurasikan Ora2Pg dan buat file pemetaan untuk objek yang rusak.
- Tambahkan file konfigurasi ke ruang kerja. Lihat Mengubah ruang kerja konversi.
Coba hapus objek dari tab sumber dan konversikan skema lagi.
Ubah kode langsung di instance tujuan. Pastikan Anda tidak mengupdate objek yang dapat memengaruhi pemetaan Anda.
Menguji aplikasi ke tujuan Anda
Sebelum menerapkan skema ke database tujuan, Anda dapat terlebih dahulu melakukan aplikasi pengujian yang tidak memengaruhi instance Cloud SQL tujuan. Pengujian penerapan skema dapat membantu Anda memeriksa kemungkinan masalah secara proaktif.
Di konsol Google Cloud , buka Ruang kerja konversi.
Klik nama tampilan ruang kerja konversi yang ingin Anda gunakan.
Editor ruang kerja konversi akan terbuka.
Klik Terapkan ke tujuan > Uji (direkomendasikan).
Wizard untuk menerapkan skema ke database tujuan akan muncul.
Di bagian Define destination, pilih profil koneksi yang mengarah ke database tujuan Anda.
Klik Tentukan dan lanjutkan.
Di bagian Select objects and test application, pilih skema entity database yang ingin Anda uji untuk database tujuan.
Anda dapat menggunakan kolom Filter untuk mengurangi jumlah objek yang ditampilkan. Lihat Memfilter objek di tampilan skema sumber.
Klik Uji aplikasi.
Anda dapat meninjau status permohonan di tab draf AlloyDB untuk PostgreSQL.
Menerapkan skema ke tujuan
Saat skema yang ingin Anda gunakan di database tujuan dikonversi sesuai dengan persyaratan dan pemetaan Anda, Anda dapat menerapkan hasilnya ke database tujuan.
Di konsol Google Cloud , buka Ruang kerja konversi.
Klik nama tampilan ruang kerja konversi yang ingin Anda gunakan.
Editor ruang kerja konversi akan terbuka.
Klik Terapkan ke tujuan > Terapkan.
Wizard untuk menerapkan skema ke database tujuan akan muncul.
Di bagian Define destination, pilih profil koneksi yang mengarah ke database tujuan Anda.
Klik Tentukan dan lanjutkan.
Di bagian Tinjau objek dan terapkan konversi ke tujuan, pilih skema entity database yang ingin Anda buat di database tujuan.
Anda dapat menggunakan kolom Filter untuk mengurangi jumlah objek yang ditampilkan. Lihat Memfilter objek di tampilan skema sumber.
Klik Terapkan ke tujuan.
Anda dapat meninjau status permohonan di tab draf AlloyDB untuk PostgreSQL.
Membuat tugas migrasi dari editor konversi
Anda dapat membuat tugas migrasi yang menggunakan ruang kerja konversi langsung dari antarmuka Conversion Editor.
Di konsol Google Cloud , buka Ruang kerja konversi.
Klik nama tampilan ruang kerja konversi yang ingin Anda gunakan.
Editor ruang kerja konversi akan terbuka.
Klik Buat tugas migrasi.
Lanjutkan dengan langkah-langkah tugas migrasi standar, seperti yang diuraikan dalam Membuat tugas migrasi.
Memfilter objek dalam tampilan skema sumber
Skema database sering kali berisi ribuan objek, sehingga sulit untuk mempartisi pekerjaan konversi. Saat menambahkan objek dari snapshot skema ke tampilan skema sumber, Anda dapat menggunakan filter untuk membatasi jumlah objek yang ditampilkan. Filter memungkinkan Anda menambahkan objek dengan cara yang lebih terperinci dan berfokus pada konversi subkumpulan skema yang dipilih.
Gunakan tampilan yang difilter saat Anda menambahkan objek ke tampilan skema sumber:
Di kolom Filter, gunakan salah satu metode pemfilteran berikut:
Dari daftar Properties, pilih salah satu opsi yang disarankan secara otomatis berikut:
- Nama objek untuk memfilter objek menurut nama, misalnya,
ADMIN
. - Jenis objek untuk memfilter objek menurut beberapa jenis, seperti Fungsi atau Tabel.
- Conversion status untuk memfilter objek menurut status konversi, seperti Action required atau No issues.
Anda dapat menggabungkan properti filter dengan operator logis.
- Nama objek untuk memfilter objek menurut nama, misalnya,
Masukkan kueri. Misalnya:
type=table
.Untuk informasi selengkapnya tentang sintaksis pemfilteran, lihat Sintaksis pemfilteran yang didukung.
Pilih objek yang ingin Anda tambahkan ke tampilan skema sumber.
Sintaksis pemfilteran yang didukung
Anda dapat memfilter objek berdasarkan nama dengan penelusuran teks bebas dasar, atau menggunakan properti type
khusus.
Kedua pendekatan tersebut mendukung spesifikasi formal Google API untuk pemfilteran,
yang berarti Anda dapat menggunakan literal dengan karakter pengganti, serta operator logika dan perbandingan.
- Pemfilteran teks bebas
-
Gunakan teks bebas untuk memfilter objek berdasarkan nama. Pendekatan ini peka huruf besar/kecil dan mendukung karakter pengganti.
Contoh:
Kueri
*JOB*
menggunakan karakter pengganti untuk menelusuri entitas yang berisi substringJOB
. Tampilan yang difilter menampilkan beberapa tabel dan satu prosedur tersimpan: - Memfilter menggunakan properti
type
-
Anda dapat memfilter objek menurut semua jenis standar yang didukung di Database Migration Service.
Properti
type
mendukung literal berikut dengan operator kesetaraan (=
) dan ketidaksetaraan (!=
):database
,schema
,table
,column
,index
,sequence
,stored_procedure
,function
,view
,synonym
,materialized_view
,udt
,constraint
,database_package
,trigger
, danevent_trigger
.Contoh:
Filter
type=table
hanya menampilkan tabel yang ada dalam skema Anda:
Menggabungkan kondisi pemfilteran
Anda dapat menentukan beberapa kondisi dengan menggabungkannya dengan operator logika.
Misalnya, untuk menelusuri tabel secara eksklusif yang namanya berisi
substring JOB
atau EMPLOYEE
, gunakan kueri ini:
type=table AND (*JOB* OR *EMPLOYEE*)
Akibatnya, filter akan menampilkan semua tabel yang cocok:
Menggunakan ruang kerja konversi lama
Ruang kerja konversi lama adalah ruang kerja hanya baca yang berfungsi untuk menyambungkan file konfigurasi Ora2Pg dengan profil koneksi.
Mengonversi skema sumber
Untuk ruang kerja lama, Anda mengonversi skema menggunakan alat migrasi Ora2Pg langsung di database sumber. Konversi skema dikelola di luar Database Migration Service. Lihat Menyiapkan konversi skema.
Database Migration Service menjalankan konversi skema sumber saat Anda membuat ruang kerja konversi lama. Jika Anda ingin memperbarui pemetaan, buat ulang ruang kerja lama dengan file konfigurasi yang diperbarui.
Menerapkan ke tujuan
Setelah membuat file konfigurasi Ora2Pg dan membuat ruang kerja, Anda harus menerapkan kode yang dihasilkan sendiri secara langsung di database tujuan. Jika Anda perlu mengubah konversi, sesuaikan file konfigurasi Ora2Pg dan buat ulang ruang kerja lama dengan setelan baru.