Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasikan fungsi asli Oracle ke PostgreSQL menggunakan ekstensi
Pinesh Singal, Amazon Web Services
Ringkasan
Pola migrasi ini memberikan step-by-step panduan untuk memigrasikan Amazon Relational Database Service (Amazon RDS) untuk instance database Oracle ke Amazon RDS for PostgreSQL atau database Amazon Aurora PostgreSQL Compatible Edition dengan memodifikasi dan ekstensi ke kode bawaan bawaan PostgreSQL () bawaan bawaan. aws_oracle_ext
orafce
psql
Ini akan menghemat waktu pemrosesan.
Pola ini menggambarkan strategi migrasi manual offline tanpa downtime untuk database sumber Oracle multi-terabyte dengan jumlah transaksi yang tinggi.
Proses migrasi menggunakan AWS Schema Conversion Tool (AWS SCT) dengan aws_oracle_ext
ekstensi orafce
dan untuk mengonversi skema database Amazon RDS for Oracle ke Amazon RDS for PostgreSQL atau skema database yang kompatibel dengan Aurora PostgreSQL. Kemudian kode secara manual diubah menjadi PostgreSQL didukung kode bawaan asli. psql
Ini karena ekstensi memanggil pemrosesan kode dampak pada server database PostgreSQL, dan tidak semua kode ekstensi sepenuhnya dikeluhkan atau kompatibel dengan kode PostgreSQL.
Pola ini terutama berfokus pada migrasi kode SQL secara manual menggunakan AWS SCT dan ekstensi dan. aws_oracle_ext
orafce
Anda mengonversi ekstensi yang sudah digunakan menjadi bawaan psql
PostgreSQL () bawaan bawaan. Kemudian Anda menghapus semua referensi ke ekstensi dan mengonversi kode yang sesuai.
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Sistem operasi (Windows atau Mac) atau EC2 instans Amazon (aktif dan berjalan)
Orafce
Batasan
Tidak semua fungsi Oracle menggunakan aws_oracle_ext
atau orafce
ekstensi dapat dikonversi ke fungsi PostgreSQL asli. Mungkin perlu pengerjaan ulang manual untuk mengompilasinya dengan pustaka PostgreSQL.
Salah satu kelemahan menggunakan ekstensi AWS SCT adalah kinerjanya yang lambat dalam menjalankan dan mengambil hasilnya. Biayanya dapat dipahami dari rencana PostgreSQL EXPLORE sederhana (rencana eksekusi pernyataan) pada migrasi fungsi SYSDATE
Oracle ke fungsi NOW()
PostgreSQL antara ketiga aws_oracle_ext
kode orafce
(,, dan default)psql
, seperti yang dijelaskan
Versi produk
Sumber: Amazon RDS for Oracle database 10.2 dan yang lebih baru (untuk 10.x), 11g (11.2.0.3.v1 dan yang lebih baru) dan hingga 12.2, 18c, dan 19c (dan yang lebih baru) untuk Enterprise Edition, Standard Edition, Standard Edition 1, dan Standard Edition 2
Target: Amazon RDS untuk database yang kompatibel dengan PostgreSQL atau Aurora PostgreSQL 9.4 dan yang lebih baru (untuk 9.x), 10.x, 11.x, 12.x, 13.x, dan 14.x (dan yang lebih baru)
AWS SCT: Versi terbaru (pola ini diuji dengan 1.0.632)
Orafce: Versi terbaru (pola ini diuji dengan 3.9.0)
Arsitektur
Tumpukan teknologi sumber
Instans database Amazon RDS for Oracle dengan versi 12.1.0.2.v18
Tumpukan teknologi target
Instans database yang kompatibel dengan Amazon RDS for PostgreSQL atau Aurora PostgreSQL dengan versi 11.5
Arsitektur migrasi database
Diagram berikut merupakan arsitektur migrasi database antara sumber Oracle dan database PostgreSQL target. Arsitekturnya melibatkan AWS Cloud, virtual private cloud (VPC), Availability Zones, subnet pribadi, database Amazon RDS for Oracle, AWS SCT, Amazon RDS untuk PostgreSQL atau database yang kompatibel dengan Aurora PostgreSQL, ekstensi untuk file Oracle (dan), dan bahasa kueri terstruktur (SQL). aws_oracle_ext
orafce

Luncurkan Amazon RDS for Oracle DB instance (sumber DB).
Gunakan AWS SCT dengan paket
orafce
ekstensiaws_oracle_ext
dan untuk mengonversi kode sumber dari Oracle ke PostreSQL.Konversi menghasilkan file.sql bermigrasi yang didukung PostgreSQL.
Secara manual mengonversi kode ekstensi Oracle yang tidak dikonversi ke kode PostgreSQL ().
psql
Konversi manual menghasilkan file.sql dikonversi yang didukung PostgreSQL.
Jalankan file.sql ini di Amazon RDS untuk instans DB Amazon RDS for PostgreSQL (target DB).
Alat
Alat
Layanan AWS
AWS SCT - AWS Schema Conversion Tool (AWS SCT) mengonversi skema database Anda yang ada dari satu mesin database ke mesin database lainnya. Anda dapat mengonversi skema Pemrosesan Transaksional Online (OLTP) relasional, atau skema gudang data. Skema konversi Anda cocok untuk instans Amazon RDS for MySQL DB, kluster Amazon Aurora DB, instans Amazon RDS for PostgreSQL DB, atau cluster Amazon Redshift. Skema yang dikonversi juga dapat digunakan dengan database pada EC2 instans Amazon atau disimpan sebagai data dalam bucket Amazon S3.
AWS SCT menyediakan antarmuka pengguna berbasis proyek untuk secara otomatis mengonversi skema database database sumber Anda menjadi format yang kompatibel dengan instans Amazon RDS target Anda.
Anda dapat menggunakan AWS SCT untuk melakukan migrasi dari database sumber Oracle ke salah satu target yang tercantum sebelumnya. Menggunakan AWS SCT, Anda dapat mengekspor definisi objek database sumber seperti skema, tampilan, prosedur tersimpan, dan fungsi.
Anda dapat menggunakan AWS SCT untuk mengonversi data dari Oracle ke Amazon RDS untuk PostgreSQL atau Amazon Aurora PostgreSQL Edisi yang kompatibel dengan Amazon Aurora.
Dalam pola ini, Anda menggunakan AWS SCT untuk mengonversi dan memigrasikan kode Oracle ke PostgreSQL menggunakan ekstensi
aws_oracle_ext
danorafce
, dan memigrasikan kode ekstensi secara manual ke kode bawaan default atau asli.psql
Paket ekstensi AWS SCT adalah modul add-on yang mengemulasi fungsi yang ada dalam database sumber yang diperlukan saat mengonversi objek ke database target. Sebelum Anda dapat menginstal paket ekstensi AWS SCT, Anda perlu mengonversi skema database Anda.
Saat Anda mengonversi skema database atau gudang data, AWS SCT menambahkan skema tambahan ke basis data target Anda. Skema ini mengimplementasikan fungsi sistem SQL dari database sumber yang diperlukan saat menulis skema yang dikonversi ke database target Anda. Skema tambahan ini disebut skema paket ekstensi.
Skema paket ekstensi untuk database OLTP diberi nama sesuai dengan database sumber. Untuk database Oracle, skema paket ekstensi adalah.
AWS_ORACLE_EXT
Alat-alat lainnya
Orafce
- Orafce adalah modul yang mengimplementasikan fungsi, tipe data, dan paket yang kompatibel dengan Oracle. Ini adalah alat sumber terbuka dengan lisensi Berkeley Source Distribution (BSD) sehingga siapa pun dapat menggunakannya. orafce
Modul ini berguna untuk migrasi dari Oracle ke PostgreSQL karena memiliki banyak fungsi Oracle yang diimplementasikan di PostgreSQL.
Kode
Untuk daftar semua kode yang umum digunakan dan dimigrasi dari Oracle ke PostgreSQL guna menghindari penggunaan kode ekstensi AWS SCT, lihat dokumen terlampir.
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat instance database Oracle. | Buat instance database yang kompatibel dengan Amazon RDS for Oracle atau Aurora PostgreSQL dari konsol Amazon RDS. | AWS Umum, DBA |
Konfigurasikan grup keamanan. | Konfigurasikan grup keamanan masuk dan keluar. | AWS Umum |
Buat database. | Buat database Oracle dengan pengguna dan skema yang dibutuhkan. | AWS Umum, DBA |
Buat objek. | Buat objek dan masukkan data dalam skema. | DBA |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat instance database PostgreSQL. | Buat instance database Amazon RDS for PostgreSQL atau Amazon Aurora PostgreSQL dari konsol Amazon RDS. | AWS Umum, DBA |
Konfigurasikan grup keamanan. | Konfigurasikan grup keamanan masuk dan keluar. | AWS Umum |
Buat database. | Buat database PostgreSQL dengan pengguna dan skema yang dibutuhkan. | AWS Umum, DBA |
Validasi ekstensi. | Pastikan bahwa | DBA |
Verifikasi bahwa database PostgreSQL tersedia. | Pastikan database PostgreSQL aktif dan berjalan. | DBA |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Instal AWS SCT. | Instal AWS SCT versi terbaru. | DBA |
Konfigurasikan AWS SCT. | Konfigurasikan AWS SCT dengan driver Java Database Connectivity (JDBC) untuk Oracle () | DBA |
Aktifkan paket atau templat ekstensi AWS SCT. | Di bawah AWS SCT Project Settings, aktifkan implementasi fungsi bawaan dengan | DBA |
Konversi skema. | Di AWS SCT, pilih Konversi Skema untuk mengonversi skema dari Oracle ke PostgreSQL dan buat file.sql. | DBA |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Konversi kode secara manual. | Secara manual mengonversi setiap baris kode yang didukung ekstensi menjadi kode bawaan | DBA |
Validasi kode | (Opsional) Validasi setiap baris kode dengan menjalankannya sementara di database PostgreSQL. | DBA |
Buat objek dalam database PostgreSQL. | Untuk membuat objek dalam database PostgreSQL, jalankan file.sql yang dihasilkan oleh AWS SCT dan dimodifikasi dalam dua langkah sebelumnya. | DBA |
Sumber daya terkait
Basis Data
AWS SCT
Ekstensi untuk AWS SCT
Informasi tambahan
Untuk informasi lebih lanjut, ikuti perintah terperinci, dengan sintaks dan contoh, untuk mengonversi kode secara manual dalam dokumen terlampir.
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip