Dengan ruang kerja konversi, Anda dapat memperbaiki masalah konversi, mengubah objek dengan editor interaktif, dan menerapkan skema yang dikonversi ke database tujuan. Halaman ini memberikan ringkasan tentang semua tindakan yang dapat Anda lakukan dengan ruang kerja konversi.
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 Conversion workspaces dan pilih ruang kerja Anda.
- Di tab Oracle, di samping objek yang ingin Anda hapus, pilih > Hapus. Lainnya
- Di dialog konfirmasi Hapus objek, klik Hapus.
- Muat ulang skema yang dikonversi. Klik
Anda dapat memeriksa skema yang dikonversi di tab draf AlloyDB untuk PostgreSQL.
Konversikan sumber.
Database Migration Service kini menganalisis perubahan Anda dan membuat skema PostgreSQL yang diperbarui.
Menambahkan objek ke skema sumber
Anda dapat menambahkan objek yang sebelumnya dihapus dari skema sumber untuk menambahkannya ke konversi.
- Di konsol Google Cloud, buka Conversion workspaces dan pilih ruang kerja Anda.
- Di tab Oracle, klik Add objects.
- Di bagian Tambahkan objek, gunakan daftar sumber untuk memilih semua entity yang ingin ditambahkan ke skema sumber.
Anda dapat menggunakan tombol Filter objek untuk mengurangi jumlah objek yang ditampilkan. Lihat Memfilter objek di tampilan skema sumber
- Klik Tambahkan objek.
- Muat ulang skema yang dikonversi. Klik
Anda dapat memeriksa skema yang dikonversi di tab draf AlloyDB untuk PostgreSQL.
Konversikan sumber.
Database Migration Service kini menganalisis perubahan Anda dan membuat skema PostgreSQL yang diperbarui.
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 kustom apa pun yang ada di ruang kerja konversi, 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 Conversion workspaces dan pilih ruang kerja Anda.
- Klik > Pull snapshot skema sumber lagi. Edit konfigurasi
- Dalam 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.
- Muat ulang skema yang dikonversi. Klik
Anda dapat memeriksa skema yang dikonversi di tab draf AlloyDB untuk PostgreSQL.
Konversikan sumber.
Database Migration Service kini menganalisis perubahan Anda dan membuat skema PostgreSQL yang diperbarui.
Menggunakan pemetaan konversi kustom
Anda dapat menyesuaikan logika konversi dengan file pemetaan konversi. File pemetaan konversi adalah file teks yang berisi petunjuk yang tepat (disebut sebagai perintah konversi) untuk cara objek Oracle Anda dikonversi menjadi objek PostgreSQL.
Menulis file pemetaan kustom
Untuk menulis file pemetaan kustom:
Gunakan contoh file konfigurasi sebagai titik referensi.
Tulis pemetaan konversi kustom Anda di editor teks dan upload ke ruang kerja konversi.
Menambahkan file pemetaan kustom
Untuk menambahkan file pemetaan konversi kustom ke ruang kerja, lakukan hal berikut:
- Di konsol Google Cloud, buka Conversion workspaces dan pilih ruang kerja Anda.
- Di halaman editor konversi, pilih > Sesuaikan pemetaan dengan file konfigurasi. Edit konfigurasi
- Di kotak Configuration file, klik Browse dan gunakan pemilih file sistem untuk memilih file konfigurasi Anda.
- Klik > Buat pemetaan. Tambahkan file
Menghapus file pemetaan kustom
Untuk menghapus file pemetaan konversi kustom dari ruang kerja, lakukan tindakan berikut:
- Di konsol Google Cloud, buka Conversion workspaces dan pilih ruang kerja Anda.
- Di halaman editor konversi, pilih > Hapus pemetaan kustom. Edit konfigurasi
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 Conversion workspaces.
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.
Memperbaiki masalah terkait objek yang didukung oleh editor bawaan
Untuk memperbaiki masalah yang dialami dengan objek yang tidak didukung di editor ruang kerja, lakukan salah satu tindakan berikut:
-
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 AlloyDB for PostgreSQL, gunakan editor SQL untuk memperbarui kode yang dihasilkan.
- Uji skema Anda untuk memverifikasi bahwa Database Migration Service dapat menerapkan kode Anda dengan benar ke database tujuan.
Memperbaiki masalah pada objek yang tidak didukung oleh editor bawaan
Untuk memperbaiki masalah yang dialami dengan objek yang tidak didukung di editor workspace, lakukan salah satu tindakan berikut:
- Memperbarui objek yang rusak di sumber Anda
- Untuk beberapa masalah, Anda mungkin perlu mengubah pernyataan Oracle
secara langsung di database sumber. Lakukan hal berikut:
- Perbarui skema dan kode langsung di database sumber Anda.
- Ambil sumber yang diperbarui ke Layanan Migrasi Database.
- Konversikan sumber lagi dan periksa apakah masalahnya masih ada.
- Memberikan pemetaan tambahan dengan file pemetaan konversi
-
Anda dapat menggunakan file pemetaan konversi untuk memberikan definisi yang tepat tentang cara Database Migration Service mengonversi objek PostgreSQL tertentu. Untuk menggunakan file pemetaan konversi, lakukan hal berikut:
- Coba hapus objek dari tab sumber
- Database Migration Service memungkinkan Anda mengonversi . Untuk berhenti memblokir proses konversi, Anda dapat memutuskan untuk memeriksa objek yang rusak lebih lanjut nanti. Hapus objek dari tab sumber.
Menguji skema di tujuan
Sebelum menerapkan skema ke database tujuan, Anda dapat melakukan pengujian terlebih dahulu untuk memeriksa kemungkinan masalah secara proaktif. Untuk melakukan pengujian, Database Migration Service membuat database sementara. Pengujian yang dijalankan tidak memengaruhi cluster AlloyDB untuk PostgreSQL tujuan Anda.
Pastikan pengguna migrasi khusus Anda memiliki izin
CREATEDB
. Untuk informasi selengkapnya, lihat Membuat dan mengonfigurasi cluster AlloyDB untuk PostgreSQL tujuan.Di konsol Google Cloud, buka Conversion workspaces.
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 tombol Filter objek untuk mengurangi jumlah objek yang ditampilkan. Lihat Memfilter objek di tampilan skema sumber.
Klik Uji aplikasi.
Anda dapat meninjau status permohonan di tab 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. Menerapkan skema di tujuan tidak akan mengubah data apa pun di database sumber.
Di konsol Google Cloud, buka Conversion workspaces.
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 tombol Filter objek untuk mengurangi jumlah objek yang ditampilkan. Lihat Memfilter objek di tampilan skema sumber.
Klik Terapkan ke tujuan.
Anda dapat meninjau status permohonan di tab 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 Conversion workspaces.
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 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 ditambahkan 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:
