Bermigrasi secara bertahap dari Amazon RDS for Oracle ke Amazon RDS untuk PostgreSQL menggunakan Oracle SQL Developer dan AWS SCT - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bermigrasi secara bertahap dari Amazon RDS for Oracle ke Amazon RDS untuk PostgreSQL menggunakan Oracle SQL Developer dan AWS SCT

Pinesh Singal, Amazon Web Services

Ringkasan

Banyak strategi dan pendekatan migrasi berjalan dalam beberapa fase yang dapat berlangsung dari beberapa minggu hingga beberapa bulan. Selama waktu ini, Anda dapat mengalami penundaan karena penambalan atau peningkatan dalam instans DB Oracle sumber yang ingin Anda migrasi ke instans PostgreSQL DB. Untuk menghindari situasi ini, kami menyarankan Anda secara bertahap memigrasikan kode database Oracle yang tersisa ke kode database PostgreSQL.

Pola ini menyediakan strategi migrasi inkremental tanpa downtime untuk instans Oracle DB multi-terabyte yang memiliki jumlah transaksi tinggi yang dilakukan setelah migrasi awal Anda dan yang harus dimigrasikan ke database PostgreSQL. Anda dapat menggunakan step-by-step pendekatan pola ini untuk memigrasikan Amazon Relational Database Service (Amazon RDS) untuk instans Oracle DB secara bertahap ke instans Amazon RDS for PostgreSQL DB tanpa masuk ke Konsol Manajemen Amazon Web Services (AWS).

Pola ini menggunakan Oracle SQL Developer untuk menemukan perbedaan antara dua skema dalam database sumber Oracle. Anda kemudian menggunakan AWS Schema Conversion Tool (AWS SCT) untuk mengonversi objek skema database Amazon RDS for Oracle ke Amazon RDS untuk objek skema database Amazon RDS for PostgreSQL. Anda kemudian dapat menjalankan skrip Python di Windows Command Prompt untuk membuat objek AWS SCT untuk perubahan tambahan pada objek database sumber.

catatan

Sebelum memigrasikan beban kerja produksi, sebaiknya jalankan proof of concept (PoC) untuk pendekatan pola ini di lingkungan pengujian atau non-produksi.

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif.

  • Instans Amazon RDS for Oracle DB yang ada. 

  • Amazon RDS yang ada untuk instans DB Amazon RDS for PostGresQL.

  • AWS SCT, diinstal dan dikonfigurasi dengan driver JDBC untuk mesin database Oracle dan PostgreSQL. Untuk informasi selengkapnya tentang ini, lihat Menginstal AWS SCT dan Menginstal driver database yang diperlukan dalam dokumentasi AWS SCT. 

  • Oracle SQL Developer, diinstal dan dikonfigurasi. Untuk informasi selengkapnya tentang ini, lihat dokumentasi Oracle SQL Developer

  • incremental-migration-sct-sql.zipFile (terlampir), diunduh ke komputer lokal Anda.

Batasan

  • Persyaratan minimum untuk instans Amazon RDS for Oracle DB sumber Anda adalah:

    • Oracle versi 10.2 dan yang lebih baru (untuk versi 10.x), 11g (versi 11.2.0.3.v1 dan yang lebih baru) dan hingga 12.2, dan 18c untuk edisi Enterprise, Standard, Standard One, dan Standard Two

  • Persyaratan minimum untuk instans Amazon RDS for PostgreSQL DB target Anda adalah:  

    • PostgreSQL versi 9.4 dan yang lebih baru (untuk versi 9.x), 10.x, dan 11.x

  • Pola ini menggunakan Oracle SQL Developer. Hasil Anda mungkin berbeda jika Anda menggunakan alat lain untuk menemukan dan mengekspor perbedaan skema.

  • Skrip SQL yang dihasilkan oleh Oracle SQL Developer dapat meningkatkan kesalahan transformasi, yang berarti Anda perlu melakukan migrasi manual.

  • Jika koneksi pengujian sumber dan target AWS SCT gagal, pastikan Anda mengonfigurasi versi driver JDBC dan aturan masuk untuk grup keamanan virtual private cloud (VPC) untuk menerima lalu lintas masuk.

Versi produk

  • Amazon RDS for Oracle DB instans versi 12.1.0.2 (versi 10.2 dan yang lebih baru)

  • Amazon RDS for PostgreSQL DB instans versi 11.5 (versi 9.4 dan yang lebih baru)

  • Oracle SQL Developer versi 19.1 dan yang lebih baru

  • AWS SCT versi 1.0.632 dan yang lebih baru

Arsitektur

Tumpukan teknologi sumber

  • Amazon RDS for Oracle DB instans

Tumpukan teknologi target

  • Amazon RDS untuk instans DB Amazon RDS for PostgreSQL

Arsitektur sumber dan target

Diagram berikut menunjukkan migrasi instans Amazon RDS for Oracle DB ke instans Amazon RDS for PostgreSQL DB.

Alur kerja migrasi dari Amazon RDS for Oracle ke Amazon RDS untuk PostgreSQL.

Diagram menunjukkan alur kerja migrasi berikut:

  1. Buka Oracle SQL Developer dan sambungkan ke database sumber dan target.

  2. Hasilkan laporan diff dan kemudian buat file skrip SQL untuk objek perbedaan skema. Untuk informasi selengkapnya tentang laporan diff, lihat Laporan diff terperinci dalam dokumentasi Oracle.

  3. Konfigurasikan AWS SCT dan jalankan kode Python.

  4. File skrip SQL mengkonversi dari Oracle ke PostgreSQL.

  5. Jalankan file skrip SQL pada instance PostgreSQL DB target. 

Otomatisasi dan skala

Anda dapat mengotomatiskan migrasi ini dengan menambahkan parameter tambahan dan perubahan terkait keamanan untuk beberapa fungsi dalam satu program ke skrip Python Anda.

Alat

  • AWS SCT — AWS Schema Conversion Tool (AWS SCT) mengonversi skema database Anda yang ada dari satu mesin database ke mesin database lainnya.

  • Oracle SQL Developer adalah lingkungan pengembangan terintegrasi (IDE) yang menyederhanakan pengembangan dan pengelolaan database Oracle baik dalam penerapan tradisional maupun berbasis cloud.

Kode

incremental-migration-sct-sql.zipFile (terlampir) berisi kode sumber lengkap untuk pola ini.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Jalankan Database Diff di Oracle SQL Developer.

  1. Masuk ke instans Oracle DB sumber Anda, pilih Tools, lalu pilih Database Diff.

  2. Pilih database sumber Anda di Source Connection.

  3. Pilih database sumber yang diperbarui atau ditambal di Koneksi Tujuan.

  4. Konfigurasikan opsi yang tersisa sesuai dengan kebutuhan Anda, pilih Berikutnya, lalu pilih Selesai untuk menghasilkan laporan diff.

DBA

Hasilkan file skrip SQL.

Pilih Generate Script untuk menghasilkan perbedaan dalam file SQL. 

Ini menghasilkan file skrip SQL yang digunakan AWS SCT untuk mengonversi database Anda dari Oracle ke PostgreSQL.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Konfigurasikan AWS SCT dengan Windows Command Prompt.

  1. Salin AWSSchemaConversionToolBatch.jar file dari folder AWS SCT yang sudah diinstal sebelumnya dan tempel ke direktori kerja Anda.

  2. Menyebarkan kode Python dari file dari run_aws_sct_sql.py folder (incremental-migration-sct-sql.zipterlampir). Ini membuat file.xl dan file.sct di projects direktori dengan detail konfigurasi lingkungan basis data sumber dan target Anda. Ini juga membaca file skrip SQL yang Anda hasilkan di Oracle SQL Developer. Akhirnya, ia menciptakan objek file.sql dalam direktori. output

  3. Konfigurasikan detail konfigurasi lingkungan sumber dan target dalam database_migration.txt file dengan menggunakan format berikut:

#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432

4. Ubah parameter konfigurasi AWS SCT sesuai dengan kebutuhan Anda dan kemudian salin file skrip SQL ke direktori kerja Anda di subdirektori. input

DBA

Jalankan skrip Python.

  1. Jalankan skrip Python dengan menggunakan perintah berikut: $ python run_aws_sct_sql.py database_migration.txt

  2. Ini menciptakan file SQL objek DB. Kode yang tidak dikonversi dengan kesalahan transformasi dapat dikonversi secara manual.

DBA

Buat objek di Amazon RDS untuk PostgreSQL

Jalankan file SQL dan buat objek di Amazon RDS for PostgreSQL DB instance.

DBA

Sumber daya terkait

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip