Tentang ruang kerja konversi lama

Ruang kerja konversi lama adalah jenis ruang kerja konversi yang lebih lama dan lebih terbatas. Ruang kerja konversi lama tidak mendukung fitur konversi yang ditingkatkan Gemini atau editor SQL interaktif. Anda hanya dapat menggunakannya untuk mengonversi skema sumber dengan alat migrasi Ora2Pg.

Sebaiknya jangan gunakan jenis ruang kerja konversi lama untuk migrasi Anda karena memiliki beberapa batasan lain pada alur kerja konversi:

Ruang kerja konversi interaktifRuang kerja konversi lama
Konversi objek skema dan kode terjadi di Database Migration Service. Anda melakukan konversi objek skema dan kode di luar Database Migration Service menggunakan alat migrasi Ora2Pg.
Anda dapat menerapkan sumber yang dikonversi ke database tujuan secara langsung di Database Migration Service. Anda bertanggung jawab untuk menerapkan skema yang dikonversi ke database tujuan di cluster tujuan AlloyDB for PostgreSQL.
Anda dapat menguji skema dan kode draf langsung di Database Migration Service untuk memastikan keduanya berhasil diterapkan ke cluster tujuan. Anda tidak dapat menguji skema dan kode draf tanpa memengaruhi cluster tujuan.
Otomatis menambahkan kolom rowid yang tidak ada untuk tabel yang tidak memiliki kunci utama dan batasan unik. Anda harus menambahkan kunci utama yang tidak ada ke tabel tujuan setelah menerapkan skema.
Tabel 1: Perbandingan fitur ruang kerja konversi

Menggunakan ruang kerja konversi lama

Jika skenario Anda memerlukan penggunaan ruang kerja konversi lama, ubah proses migrasi dengan tindakan berikut:

  1. Tulis file konfigurasi Ora2Pg.

    Lihat dokumentasi Ora2Pg untuk mendapatkan panduan tentang cara menggunakan alat konversi Ora2Pg. Luaskan bagian berikut untuk mengetahui daftar lengkap perintah yang didukung di Layanan Migrasi Database.

    Konfigurasi Ora2Pg yang didukung di Database Migration Service

    Database Migration Service menggunakan konfigurasi berikut yang didukung untuk file Ora2Pg:

    • BOOLEAN_VALUES
    • DATA_TYPE
    • DEFAULT_NUMERIC
    • ENABLE_MICROSECOND
    • EXPORT_SCHEMA
    • MODIFY_STRUCT
    • MODIFY_TYPE
    • PG_INTEGER_TYPE
    • PG_NUMERIC_TYPE
    • PG_SCHEMA
    • PRESERVE_CASE
    • REPLACE_AS_BOOLEAN
    • REPLACE_COLS
    • REPLACE_TABLES
    • REPLACE_ZERO_DATE
    • SCHEMA

    Database Migration Service menggunakan profil koneksi untuk menentukan detail konektivitas, sehingga Anda tidak perlu menentukan informasi berikut dalam file konfigurasi Or2Pg:

    • ORACLE_DSN
    • ORACLE_HOME
    • ORACLE_PWD
    • ORACLE_USER
    • PG_DSN
    • PG_PWD
    • PG_USER

    Selain itu, Database Migration Service tidak menggunakan perintah konfigurasi WHERE untuk membatasi data yang akan dimigrasikan.

  2. Membuat ruang kerja konversi lama dan mengonversi skema.
  3. Terapkan skema yang dikonversi secara manual ke database tujuan.

    Setelah membuat konfigurasi Ora2Pg dan membuat ruang kerja, Anda harus menerapkan kode yang dihasilkan sendiri secara langsung di database tujuan.

  4. Memigrasikan tabel tanpa kunci utama.

    Database Migration Service hanya memigrasikan tabel yang memiliki kunci utama. Jika database sumber Anda menyertakan tabel yang tidak memiliki kunci utama, Anda harus membuat kunci utama atau batasan unik secara manual di tabel yang dikonversi di database tujuan setelah menerapkan skema yang dikonversi. Luaskan bagian berikut untuk mengetahui detail selengkapnya.

    Menambahkan kunci utama atau batasan unik di database tujuan

    Untuk memigrasikan tabel Oracle tanpa kunci utama, lakukan langkah-langkah berikut:

    1. Hubungkan ke cluster AlloyDB untuk PostgreSQL dengan klien psql.
    2. Buat batasan kunci utama yang tidak ada untuk tabel Anda. Untuk mengetahui informasi selengkapnya tentang kunci utama, lihat Kunci Utama dalam dokumentasi PostgreSQL.

      Anda juga dapat meluaskan bagian berikut untuk melihat contoh perintah SQL:

      Membuat kunci utama menggunakan kolom yang ada

      Tabel Anda mungkin sudah memiliki kunci utama logis berdasarkan kolom atau kombinasi kolom. Misalnya, mungkin ada kolom dengan batasan atau indeks unik yang dikonfigurasi. Gunakan kolom ini untuk membuat kunci utama baru untuk tabel di database sumber Anda. Contoh:

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME);

      Membuat kunci utama menggunakan semua kolom

      Jika Anda tidak memiliki batasan yang sudah ada sebelumnya yang dapat berfungsi sebagai kunci utama, buat kunci utama menggunakan semua kolom tabel. Pastikan Anda tidak melebihi panjang maksimum kunci utama yang diizinkan oleh cluster PostgreSQL. Contoh:

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME_1, COLUMN_NAME_2, COLUMN_NAME_3, ...);

      Saat membuat kunci utama komposit seperti ini, Anda harus mencantumkan semua nama kolom yang ingin digunakan secara eksplisit. Anda tidak dapat menggunakan pernyataan untuk mengambil semua nama kolom untuk tujuan ini.

      Membuat batasan unik dengan kolom pseudo ROWID

      Database Oracle menggunakan pseudokolom ROWID untuk menyimpan lokasi setiap baris dalam tabel. Untuk memigrasikan tabel Oracle yang tidak memiliki kunci utama, Anda dapat menambahkan kolom ROWID di database PostgreSQL tujuan. Database Migration Service mengisi kolom dengan nilai numerik yang sesuai dari kolom semu ROWID Oracle sumber.

      Untuk menambahkan kolom dan menetapkannya sebagai kunci utama, jalankan perintah berikut:

      ALTER TABLE TABLE_NAME ADD COLUMN rowid numeric(33,0) NOT NULL;
      CREATE SEQUENCE TABLE_NAME_rowid_seq INCREMENT BY -1 START WITH -1 OWNED BY TABLE_NAME.rowid;
      ALTER TABLE TABLE_NAME ALTER COLUMN rowid SET DEFAULT nextval('TABLE_NAME_rowid_seq');
      ALTER TABLE TABLE_NAME ADD CONSTRAINT CONSTRAINT_DISPLAY_NAME PRIMARY KEY (rowid);

Langkah berikutnya

Setelah melakukan alur kerja konversi dengan ruang kerja lama, Anda dapat melanjutkan dengan prosedur migrasi standar. Lihat Membuat tugas migrasi.