Tindakan ruang kerja konversi

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.

  1. Di konsol Google Cloud, buka Conversion workspaces dan pilih ruang kerja Anda.

    Buka Ruang kerja konversi

  2. Di tab Oracle, di samping objek yang ingin Anda hapus, pilih Lainnya > Hapus.
  3. Di dialog konfirmasi Hapus objek, klik Hapus.
  4. Muat ulang skema yang dikonversi. Klik Konversikan sumber. Database Migration Service kini menganalisis perubahan Anda dan membuat skema PostgreSQL yang diperbarui.

    Anda dapat memeriksa skema yang dikonversi 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.

  1. Di konsol Google Cloud, buka Conversion workspaces dan pilih ruang kerja Anda.

    Buka Ruang kerja konversi

  2. Di tab Oracle, klik Add objects.
  3. 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

  4. Klik Tambahkan objek.
  5. Muat ulang skema yang dikonversi. Klik Konversikan sumber. Database Migration Service kini menganalisis perubahan Anda dan membuat skema PostgreSQL yang diperbarui.

    Anda dapat memeriksa skema yang dikonversi 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 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.

  1. Di konsol Google Cloud, buka Conversion workspaces dan pilih ruang kerja Anda.

    Buka Ruang kerja konversi

  2. Klik Edit konfigurasi > Pull snapshot skema sumber lagi.
  3. Dalam dialog:
    1. (Opsional) Pilih Reset custom mapping untuk menghapus pemetaan kustom dan modikasi DDL yang ada.
    2. Klik Pull schema snapshot.

      Database Migration Service mengambil snapshot baru dari database sumber Anda.

  4. Muat ulang skema yang dikonversi. Klik Konversikan sumber. Database Migration Service kini menganalisis perubahan Anda dan membuat skema PostgreSQL yang diperbarui.

    Anda dapat memeriksa skema yang dikonversi di tab draf AlloyDB untuk PostgreSQL.

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:

  1. Tinjau daftar perintah konversi yang didukung.

  2. Gunakan contoh file konfigurasi sebagai titik referensi.

  3. 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:

  1. Di konsol Google Cloud, buka Conversion workspaces dan pilih ruang kerja Anda.

    Buka Ruang kerja konversi

  2. Di halaman editor konversi, pilih Edit konfigurasi > Sesuaikan pemetaan dengan file konfigurasi.
  3. Di kotak Configuration file, klik Browse dan gunakan pemilih file sistem untuk memilih file konfigurasi Anda.
  4. Klik Tambahkan file > Buat pemetaan.

Menghapus file pemetaan kustom

Untuk menghapus file pemetaan konversi kustom dari ruang kerja, lakukan tindakan berikut:

  1. Di konsol Google Cloud, buka Conversion workspaces dan pilih ruang kerja Anda.

    Buka Ruang kerja konversi

  2. Di halaman editor konversi, pilih Edit konfigurasi > Hapus pemetaan kustom.

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

  1. Di konsol Google Cloud, buka Conversion workspaces.

    Buka Ruang kerja konversi

  2. Klik nama tampilan ruang kerja konversi yang ingin Anda gunakan.

    Editor ruang kerja konversi akan terbuka.

  3. Pilih tab Oracle, lalu temukan objek yang ingin Anda tinjau hasil konversinya di tabel tampilan hierarki.

  4. 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:

  1. 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.

  2. Di tab AlloyDB for PostgreSQL, gunakan editor SQL untuk memperbarui kode yang dihasilkan.
  3. 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:
  1. Perbarui skema dan kode langsung di database sumber Anda.
  2. Ambil sumber yang diperbarui ke Layanan Migrasi Database.
  3. 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:

  1. Tulis file pemetaan konversi.
  2. Tambahkan file konfigurasi ke ruang kerja.
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.

  1. Pastikan pengguna migrasi khusus Anda memiliki izin CREATEDB. Untuk informasi selengkapnya, lihat Membuat dan mengonfigurasi cluster AlloyDB untuk PostgreSQL tujuan.

  2. Di konsol Google Cloud, buka Conversion workspaces.

    Buka Ruang kerja konversi

  3. Klik nama tampilan ruang kerja konversi yang ingin Anda gunakan.

    Editor ruang kerja konversi akan terbuka.

  4. Klik Terapkan ke tujuan > Uji (direkomendasikan).

    Wizard untuk menerapkan skema ke database tujuan akan muncul.

  5. Di bagian Define destination, pilih profil koneksi yang mengarah ke database tujuan Anda.

  6. Klik Tentukan dan lanjutkan.

  7. 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.

  8. 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.

  1. Di konsol Google Cloud, buka Conversion workspaces.

    Buka Ruang kerja konversi

  2. Klik nama tampilan ruang kerja konversi yang ingin Anda gunakan.

    Editor ruang kerja konversi akan terbuka.

  3. Klik Terapkan ke tujuan > Terapkan.

    Wizard untuk menerapkan skema ke database tujuan akan muncul.

  4. Di bagian Define destination, pilih profil koneksi yang mengarah ke database tujuan Anda.

  5. Klik Tentukan dan lanjutkan.

  6. 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.

  7. 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.

  1. Di konsol Google Cloud, buka Conversion workspaces.

    Buka Ruang kerja konversi

  2. Klik nama tampilan ruang kerja konversi yang ingin Anda gunakan.

    Editor ruang kerja konversi akan terbuka.

  3. Klik Buat tugas migrasi.

  4. 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:

  1. Di kolom Filter, gunakan salah satu metode pemfilteran berikut:
  2. Dari daftar Properties, pilih salah satu opsi yang disarankan secara otomatis berikut:
    1. Nama objek untuk memfilter objek menurut nama, misalnya, ADMIN.
    2. Jenis objek untuk memfilter objek menurut beberapa jenis, seperti Fungsi atau Tabel.
    3. Conversion status untuk memfilter objek menurut status konversi, seperti Action required atau No issues.

      Anda dapat menggabungkan properti filter dengan operator logis.

  3. Masukkan kueri. Misalnya: type=table.

    Untuk informasi selengkapnya tentang sintaksis pemfilteran, lihat Sintaksis pemfilteran yang didukung.

  4. 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.

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 substring JOB. Tampilan yang difilter menampilkan beberapa tabel dan satu prosedur tersimpan:

Screenshot contoh hasil untuk memfilter objek menurut nama.
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, dan event_trigger.

Contoh:

Filter type=table hanya menampilkan tabel yang ada dalam skema Anda:

Screenshot contoh hasil untuk memfilter objek menurut properti jenis.
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:

Screenshot contoh hasil untuk memfilter objek berdasarkan kombinasi properti jenis dan nama.