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 interaktif | Ruang 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. |
Menggunakan ruang kerja konversi lama
Jika skenario Anda memerlukan penggunaan ruang kerja konversi lama, ubah proses migrasi dengan tindakan berikut:
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.- Membuat ruang kerja konversi lama dan mengonversi skema.
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.
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:
-
Hubungkan ke cluster AlloyDB untuk PostgreSQL dengan klien
psql
. - 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 kolomROWID
di database PostgreSQL tujuan. Database Migration Service mengisi kolom dengan nilai numerik yang sesuai dari kolom semuROWID
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);
-
Hubungkan ke cluster AlloyDB untuk PostgreSQL dengan klien
Langkah berikutnya
Setelah melakukan alur kerja konversi dengan ruang kerja lama, Anda dapat melanjutkan dengan prosedur migrasi standar. Lihat Membuat tugas migrasi.