Menggunakan ruang kerja konversi

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.

  1. Di konsol Google Cloud , buka Ruang kerja konversi.

    Buka Ruang kerja konversi

  2. Dari daftar ruang kerja konversi yang tersedia, pilih ruang kerja konversi yang ingin Anda gunakan.

    Editor ruang kerja konversi akan terbuka.

  3. Opsional: Upload file konfigurasi Ora2Pg untuk memberikan pemetaan tambahan untuk SQL yang dihasilkan:

    1. Klik Edit konfigurasi > Sesuaikan pemetaan dengan file konfigurasi

    2. Di kotak Ora2Pg configuration file, klik Browse dan gunakan pemilih file sistem untuk memilih file konfigurasi Anda.

    3. Klik Tambahkan file > Buat.

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

    1. Di panel Oracle, pilih objek yang SQL-nya ingin Anda sesuaikan.

    2. Buka tab SQL, lalu periksa pernyataan.

    3. Sesuaikan skrip sesuai kebutuhan untuk skenario Anda, lalu klik Simpan.

  5. Setelah menyelesaikan semua penyesuaian, klik Konversi sumber.

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

  1. Di konsol Google Cloud , buka Ruang kerja konversi.

    Buka Ruang kerja konversi

  2. Dari daftar ruang kerja konversi yang tersedia, pilih ruang kerja konversi yang ingin Anda gunakan.

    Editor ruang kerja konversi akan terbuka.

  3. Di tab Oracle, di samping objek yang ingin dihapus, pilih Lainnya > Hapus.

  4. Di dialog konfirmasi Hapus objek, klik Hapus.

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

  1. Di konsol Google Cloud , buka Ruang kerja konversi.

    Buka Ruang kerja konversi

  2. Dari daftar ruang kerja konversi yang tersedia, pilih ruang kerja konversi yang ingin Anda gunakan.

    Editor ruang kerja konversi akan terbuka.

  3. Di tab Oracle, klik Add objects.

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

  5. Klik Tambahkan objek.

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

  1. Di konsol Google Cloud , buka Ruang kerja konversi.

    Buka Ruang kerja konversi

  2. Klik Edit konfigurasi > Pull snapshot skema sumber lagi.

  3. Di kotak 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. 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

  1. Di konsol Google Cloud , buka Ruang kerja konversi.

    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.

Untuk memperbaiki masalah konversi yang dialami dengan objek yang mendukung pengeditan langsung:

  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 Draf AlloyDB for PostgreSQL, gunakan editor SQL untuk memperbarui kode yang dihasilkan.

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

    1. Perbarui skema dan kode langsung di database sumber Anda.
    2. Ambil sumber yang diperbarui ke Database Migration Service.
    3. Konversikan sumber lagi dan periksa apakah masalahnya masih ada.
  • Berikan pemetaan tambahan menggunakan alat konfigurasi Ora2Pg:

    1. Konfigurasikan Ora2Pg dan buat file pemetaan untuk objek yang rusak.
    2. 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.

  1. Di konsol Google Cloud , buka Ruang kerja konversi.

    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 > Uji (direkomendasikan).

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

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

  1. Di konsol Google Cloud , buka Ruang kerja konversi.

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

  1. Di konsol Google Cloud , buka Ruang kerja konversi.

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

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

    • Masukkan kueri. Misalnya: type=table.

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

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

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.

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.