Bermigrasi dari Oracle 8i atau 9i ke Amazon RDS untuk PostgreSQL menggunakan tampilan terwujud dan AWS DMS - AWS Prescriptive Guidance

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

Bermigrasi dari Oracle 8i atau 9i ke Amazon RDS untuk PostgreSQL menggunakan tampilan terwujud dan AWS DMS

Kumar Babu P G dan Pragnesh Patel, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara memigrasikan database Oracle 8i atau 9i warisan lokal ke Amazon Relational Database Service (Amazon RDS) untuk PostgreSQL atau Amazon Aurora PostgreSQL Compatible Edition. 

AWS Database Migration Service (AWS DMS) tidak mendukung Oracle 8i atau 9i sebagai sumber, jadi pola ini menggunakan instance database Oracle perantara yang kompatibel dengan AWS DMS, seperti Oracle 10g atau 11g. Ini juga menggunakan fitur tampilan terwujud untuk memigrasikan data dari sumber Oracle 8i/9i instance ke instance Oracle 10g/11g menengah.

AWS Schema Conversion Tool (AWS SCT) mengonversi skema database, dan AWS DMS memigrasikan data ke database PostgreSQL target. 

Pola ini membantu pengguna yang ingin bermigrasi dari database Oracle lama dengan downtime database minimum. Dalam implementasi ini, waktu henti akan dibatasi pada lamanya waktu yang diperlukan untuk membuat atau memvalidasi semua kunci asing, pemicu, dan urutan pada database target. 

Pola ini menggunakan instans Amazon Elastic Compute Cloud (Amazon EC2) dengan database Oracle 10g/11g yang diinstal untuk membantu AWS DMS mengalirkan data. Anda dapat menghentikan sementara replikasi streaming dari database Oracle lokal ke instans Oracle perantara untuk mengaktifkan AWS DMS mengejar validasi data atau menggunakan alat validasi data lain. Instans PostgreSQL DB dan database Oracle perantara akan memiliki data yang sama ketika AWS DMS telah selesai memigrasikan perubahan saat ini.

Prasyarat dan batasan

Prasyarat

Batasan

  • Batas ukuran database adalah 64 TB

Versi produk

  • Oracle 8i atau 9i untuk database sumber

  • Oracle 10g atau 11g untuk database perantara

  • PostgreSQL 10.17 atau yang lebih baru

Arsitektur

Tumpukan teknologi sumber

  • Database Oracle 8i atau 9i 

Tumpukan teknologi target

  • Amazon RDS untuk PostgreSQL atau Aurora PostgreSQL kompatibel

Arsitektur target

Arsitektur untuk bermigrasi dari database Oracle lama ke Amazon RDS atau Aurora

Alat

  • AWS DMS membantu memigrasikan database dengan cepat dan aman. Database sumber tetap beroperasi penuh selama migrasi, meminimalkan waktu henti ke aplikasi yang bergantung pada database. AWS DMS dapat memigrasikan data Anda ke dan dari basis data komersial dan sumber terbuka yang paling banyak digunakan.

  • AWS SCT secara otomatis mengonversi skema basis data sumber dan sebagian besar objek kode database, termasuk tampilan, prosedur tersimpan, dan fungsi, ke format yang kompatibel dengan basis data target. Objek yang tidak dapat dikonversi secara otomatis ditandai dengan jelas sehingga dapat dikonversi secara manual untuk menyelesaikan migrasi. AWS SCT juga dapat memindai kode sumber aplikasi Anda untuk pernyataan SQL yang disematkan dan mengonversinya sebagai bagian dari proyek konversi skema database. Selama proses ini, AWS SCT melakukan pengoptimalan kode cloud-native dengan mengonversi fungsi Oracle dan SQL Server lama menjadi setara AWS mereka, untuk membantu Anda memodernisasi aplikasi saat memigrasikan database Anda. Saat konversi skema selesai, AWS SCT dapat membantu memigrasikan data dari berbagai gudang data ke Amazon Redshift dengan menggunakan agen migrasi data bawaan.  

Praktik terbaik

Untuk praktik terbaik untuk menyegarkan tampilan terwujud, lihat dokumentasi Oracle berikut:

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan jaringan untuk EC2 contoh.

Buat virtual private cloud (VPC), subnet, gateway internet, tabel rute, dan grup keamanan.

AWS SysAdmin

Buat EC2 instance.

Pilih Amazon Machine Image (AMI) untuk EC2 instance. Pilih ukuran instans dan konfigurasikan detail instans: jumlah instance (1), VPC dan subnet dari langkah sebelumnya, tetapkan IP publik secara otomatis, dan opsi lainnya. Tambahkan penyimpanan, konfigurasikan grup keamanan, dan luncurkan instance. Saat diminta, buat dan simpan key pair untuk langkah selanjutnya.

AWS SysAdmin

Instal Oracle pada EC2 instance.

Dapatkan lisensi dan binari Oracle yang diperlukan, dan instal Oracle 10g atau 11g pada instans. EC2

DBA

Konfigurasikan jaringan Oracle.

Memodifikasi atau menambahkan entri listener.ora untuk terhubung ke sumber lokal Oracle 8i/9i database, dan kemudian membuat link database.

DBA

Buat tampilan yang terwujud.

Identifikasi objek database untuk direplikasi dalam database sumber Oracle 8i/9i, dan kemudian membuat tampilan terwujud untuk semua objek dengan menggunakan link database.

DBA

Terapkan skrip untuk menyegarkan tampilan terwujud pada interval yang diperlukan.

Kembangkan dan terapkan skrip untuk menyegarkan tampilan terwujud pada interval yang diperlukan pada instans Amazon EC2 Oracle 10g/11g. Gunakan opsi penyegaran tambahan untuk menyegarkan tampilan yang terwujud.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan AWS SCT.

Buat laporan baru, lalu sambungkan ke Oracle sebagai sumber dan PostgreSQL sebagai target. Dalam pengaturan proyek, buka tab SQL Scripting. Ubah skrip SQL target ke Multiple Files. (AWS SCT tidak mendukung database Oracle 8i/9i, jadi Anda harus memulihkan dump khusus skema pada instans Oracle 10g/11g perantara dan menggunakannya sebagai sumber untuk AWS SCT.)

DBA

Mengkonversi skema database Oracle.

Pada tab Action, pilih Generate Report, Convert Schema, dan kemudian Save as SQL.

DBA

Memodifikasi skrip SQL.

Lakukan modifikasi berdasarkan praktik terbaik. Misalnya, beralih ke tipe data yang sesuai dan kembangkan ekuivalen PostgreSQL untuk fungsi khusus Oracle.

DBA, DevDBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat instans Amazon RDS DB.

Di konsol Amazon RDS, buat instance PostgreSQL DB baru.

AWS SysAdmin, DBA

Konfigurasikan instans DB.

Tentukan versi mesin DB, kelas instans DB, penyebaran multi-AZ, jenis penyimpanan, dan penyimpanan yang dialokasikan. Masukkan pengidentifikasi instans DB, nama pengguna master, dan kata sandi utama.

AWS SysAdmin, DBA

Konfigurasikan jaringan dan keamanan.

Tentukan VPC, grup subnet, aksesibilitas publik, preferensi Availability Zone, dan grup keamanan.

DBA, SysAdmin

Konfigurasikan opsi basis data.

Tentukan nama database, port, grup parameter, enkripsi, dan kunci master.

DBA, AWS SysAdmin

Konfigurasikan cadangan.

Tentukan periode retensi cadangan, jendela cadangan, waktu mulai, durasi, dan apakah akan menyalin tag ke snapshot.

AWS SysAdmin, DBA

Konfigurasikan opsi pemantauan.

Mengaktifkan atau menonaktifkan pemantauan dan wawasan kinerja yang disempurnakan.

AWS SysAdmin, DBA

Konfigurasikan opsi pemeliharaan.

Tentukan peningkatan versi minor otomatis, jendela pemeliharaan, dan hari mulai, waktu, dan durasi.

AWS SysAdmin, DBA

Jalankan skrip pra-migrasi dari AWS SCT.

Pada instans Amazon RDS for PostgreSQL target, buat skema database dengan menggunakan skrip SQL dari AWS SCT dengan modifikasi lainnya. Ini mungkin termasuk menjalankan beberapa skrip dan termasuk pembuatan pengguna, pembuatan database, pembuatan skema, tabel, tampilan, fungsi, dan objek kode lainnya.

AWS SysAdmin, DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat instance replikasi di AWS DMS.

Lengkapi bidang untuk nama, kelas instance, VPC (sama seperti untuk EC2 instance), Multi-AZ, dan aksesibilitas publik. Di bagian konfigurasi lanjutan, tentukan penyimpanan yang dialokasikan, grup subnet, Availability Zone, grup keamanan VPC, dan kunci AWS Key Management Service (AWS KMS).

AWS SysAdmin, DBA

Buat titik akhir basis data sumber.

Tentukan nama titik akhir, jenis, mesin sumber (Oracle), nama server (nama DNS pribadi EC2 instance), port, mode SSL, nama pengguna, kata sandi, SID, VPC (tentukan VPC yang memiliki instance replikasi), dan contoh replikasi. Untuk menguji koneksi, pilih Run Test, lalu buat endpoint. Anda juga dapat mengonfigurasi pengaturan lanjutan berikut: maxFileSizedan numberDataTypeSkala.

AWS SysAdmin, DBA

Hubungkan AWS DMS ke Amazon RDS untuk PostgreSQL.

Buat grup keamanan migrasi untuk koneksi di seluruh VPCs, jika database PostgreSQL Anda ada di VPC lain.

AWS SysAdmin, DBA

Buat titik akhir basis data target.

Tentukan nama titik akhir, jenis, mesin sumber (PostgreSQL), nama server (titik akhir Amazon RDS), port, mode SSL, nama pengguna, kata sandi, nama database, VPC (tentukan VPC yang memiliki instance replikasi), dan contoh replikasi. Untuk menguji koneksi, pilih Run Test, lalu buat endpoint. Anda juga dapat mengonfigurasi pengaturan lanjutan berikut: maxFileSizedan numberDataTypeSkala.

AWS SysAdmin, DBA

Buat tugas replikasi AWS DMS.

Tentukan nama tugas, contoh replikasi, titik akhir sumber dan target, dan contoh replikasi. Untuk jenis migrasi, pilih Migrasi data yang ada dan replikasi perubahan yang sedang berlangsung. Kosongkan kotak centang Start task on create.

AWS SysAdmin, DBA

Konfigurasikan pengaturan tugas replikasi AWS DMS.

Untuk mode persiapan tabel target, pilih Jangan lakukan apa-apa. Hentikan tugas setelah beban penuh selesai (untuk membuat kunci utama). Tentukan mode LOB terbatas atau penuh, dan aktifkan tabel kontrol. Secara opsional, Anda dapat mengonfigurasi pengaturan CommitRatelanjutan.

DBA

Konfigurasikan pemetaan tabel.

Di bagian Pemetaan tabel, buat aturan Sertakan untuk semua tabel di semua skema yang disertakan dalam migrasi, lalu buat aturan Kecualikan. Tambahkan tiga aturan transformasi untuk mengonversi skema, tabel, dan nama kolom menjadi huruf kecil, dan tambahkan aturan lain yang Anda perlukan untuk migrasi khusus ini.

DBA

Mulai tugas.

Mulai tugas replikasi. Pastikan beban penuh berjalan. Jalankan ALTER SYSTEM SWITCH LOGFILE pada database Oracle utama untuk memulai tugas.

DBA

Jalankan skrip mid-migration dari AWS SCT.

Di Amazon RDS for PostgreSQL, jalankan create_constraint.sql skrip create_index.sql berikut: dan (jika skema lengkap awalnya tidak dibuat).

DBA

Lanjutkan tugas untuk melanjutkan perubahan pengambilan data (CDC).

Jalankan VACUUM di instans Amazon RDS for PostgreSQL DB, dan mulai ulang tugas AWS DMS untuk menerapkan perubahan CDC yang di-cache.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Periksa log AWS DMS dan tabel validasi.

Periksa dan perbaiki kesalahan replikasi atau validasi apa pun.

DBA

Berhenti menggunakan database Oracle lokal dan dependensinya.

Hentikan semua dependensi Oracle, matikan pendengar di database Oracle, dan jalankan. ALTER SYSTEM SWITCH LOGFILE Hentikan tugas AWS DMS jika tidak menunjukkan aktivitas.

DBA

Jalankan skrip pasca-migrasi dari AWS SCT.

Di Amazon RDS for PostgreSQL, jalankan skrip ini:. create_foreign_key_constraint.sql and create_triggers.sql Pastikan urutannya mutakhir.

DBA

Lengkapi tambahan Amazon RDS untuk langkah-langkah PostgreSQL.

Tingkatkan urutan untuk mencocokkan Oracle jika diperlukan, jalankan VACUUM danANALYZE, dan ambil snapshot untuk kepatuhan.

DBA

Buka koneksi ke Amazon RDS untuk PostgreSQL.

Hapus grup keamanan AWS DMS dari Amazon RDS for PostgreSQL, tambahkan grup keamanan produksi, dan arahkan aplikasi Anda ke database baru.

DBA

Bersihkan objek AWS DMS.

Hapus titik akhir, tugas replikasi, instance replikasi, dan instance. EC2

SysAdmin, DBA

Sumber daya terkait