Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasikan kolom virtual yang dihasilkan dari Oracle ke PostgreSQL
Veeranjaneyulu Grandhi, Rajesh Madiwale, dan Ramesh Pathuri, Amazon Web Services
Ringkasan
Di versi 11 dan sebelumnya, PostgreSQL tidak menyediakan fitur yang secara langsung setara dengan kolom virtual Oracle. Menangani kolom virtual yang dihasilkan saat bermigrasi dari Oracle Database ke PostgreSQL versi 11 atau sebelumnya sulit karena dua alasan:
Kolom virtual tidak terlihat selama migrasi.
PostgreSQL tidak mendukung
generateekspresi sebelum versi 12.
Namun, ada solusi untuk meniru fungsionalitas serupa. Bila Anda menggunakan AWS Database Migration Service (AWS DMS) untuk memigrasikan data dari Oracle Database ke PostgreSQL versi 11 dan yang lebih lama, Anda dapat menggunakan fungsi pemicu untuk mengisi nilai dalam kolom virtual yang dihasilkan. Pola ini memberikan contoh Oracle Database dan kode PostgreSQL yang dapat Anda gunakan untuk tujuan ini. Di AWS, Anda dapat menggunakan Amazon Relational Database Service (Amazon RDS) untuk PostgreSQL atau Amazon Aurora PostgreSQL Edisi yang kompatibel dengan PostgreSQL untuk database PostgreSQL Anda.
Dimulai dengan PostgreSQL versi 12, kolom yang dihasilkan didukung. Kolom yang dihasilkan dapat dihitung dari nilai kolom lain dengan cepat, atau dihitung dan disimpan. Kolom yang dihasilkan PostgreSQL mirip dengan kolom virtual
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Database Oracle sumber
Target database PostgreSQL (di Amazon RDS untuk PostgreSQL atau Aurora PostgreSQL yang kompatibel dengan Aurora)
Batasan
Berlaku hanya untuk versi PostgreSQL sebelum versi 12.
Berlaku untuk Oracle Database versi 11g atau yang lebih baru.
Kolom virtual tidak didukung dalam alat migrasi data.
Berlaku hanya untuk kolom yang didefinisikan dalam tabel yang sama.
Jika kolom yang dihasilkan virtual mengacu pada fungsi deterministik yang ditentukan pengguna, itu tidak dapat digunakan sebagai kolom kunci partisi.
Output dari ekspresi harus berupa nilai skalar. Itu tidak dapat mengembalikan tipe data yang disediakan Oracle, tipe yang ditentukan pengguna, atau.
LOBLONG RAWIndeks yang didefinisikan terhadap kolom virtual setara dengan indeks berbasis fungsi di PostgreSQL.
Statistik tabel harus dikumpulkan.
Alat
pgAdmin
4 adalah alat manajemen open source untuk PostgreSQL. Alat ini menyediakan antarmuka grafis yang menyederhanakan pembuatan, pemeliharaan, dan penggunaan objek database. Oracle SQL Developer
adalah lingkungan pengembangan terintegrasi gratis untuk bekerja dengan SQL di database Oracle baik dalam penerapan tradisional maupun cloud.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat tabel Database Oracle sumber. | Di Oracle Database, buat tabel dengan kolom virtual yang dihasilkan dengan menggunakan pernyataan berikut.
Dalam tabel sumber ini, data di | DBA, Pengembang aplikasi |
Buat tabel PostgreSQL target di AWS. | Buat tabel PostgreSQL di AWS dengan menggunakan pernyataan berikut.
Dalam tabel ini, | DBA, Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat pemicu PostgreSQL. | Di PostgreSQL, buat pemicu.
| DBA, Pengembang aplikasi |
Buat fungsi pemicu PostgreSQL. | Di PostgreSQL, buat fungsi untuk pemicu. Fungsi ini mengisi kolom virtual yang disisipkan atau diperbarui oleh aplikasi atau AWS DMS, dan memvalidasi data.
| DBA, Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat contoh replikasi. | Untuk membuat instance replikasi, ikuti petunjuk dalam dokumentasi AWS DMS. Instans replikasi harus berada di cloud pribadi virtual (VPC) yang sama dengan basis data sumber dan target Anda. | DBA, Pengembang aplikasi |
Buat titik akhir sumber dan target. | Untuk membuat titik akhir, ikuti petunjuk dalam dokumentasi AWS DMS. | DBA, Pengembang aplikasi |
Uji koneksi titik akhir. | Anda dapat menguji koneksi titik akhir dengan menentukan VPC dan instance replikasi dan memilih Run test. | DBA, Pengembang aplikasi |
Buat dan mulai tugas beban penuh. | Untuk petunjuknya, lihat Membuat Tugas dan setelan tugas beban penuh dalam dokumentasi AWS DMS. | DBA, Pengembang aplikasi |
Validasi data untuk kolom virtual. | Bandingkan data di kolom virtual di database sumber dan target. Anda dapat memvalidasi data secara manual atau menulis skrip untuk langkah ini. | DBA, Pengembang aplikasi |
Sumber daya terkait
Memulai AWS Database Migration Service (dokumentasi AWS DMS)
Menggunakan database Oracle sebagai sumber AWS DMS (dokumentasi AWS DMS)
Menggunakan database PostgreSQL sebagai target AWS DMS (dokumentasi AWS DMS)
Kolom yang dihasilkan di PostgreSQL (dokumentasi PostgreSQL
) Fungsi pemicu
(dokumentasi PostgreSQL) Kolom virtual
di Oracle Database (dokumentasi Oracle)