Memigrasikan database Oracle lokal ke Amazon RDS for PostgreSQL menggunakan Oracle bystander 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.

Memigrasikan database Oracle lokal ke Amazon RDS for PostgreSQL menggunakan Oracle bystander dan AWS DMS

Cady Motyka, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara memigrasikan database Oracle lokal ke salah satu layanan database AWS yang kompatibel dengan PostgreSQL berikut dengan waktu henti minimal:

  • Amazon Relational Database Service (Amazon RDS) untuk PostgreSQL

  • Edisi yang Kompatibel dengan Amazon Aurora PostgreSQL

Solusinya menggunakan AWS Database Migration Service (AWS DMS) untuk memigrasikan data, AWS Schema Conversion Tool (AWS SCT) untuk mengonversi skema database, dan database pengamat Oracle untuk membantu mengelola migrasi. Dalam implementasi ini, downtime dibatasi untuk berapa lama waktu yang dibutuhkan untuk membuat atau memvalidasi semua kunci asing pada database. 

Solusinya juga menggunakan instans Amazon Elastic Compute Cloud (Amazon EC2) dengan database pengamat Oracle untuk membantu mengontrol aliran data melalui AWS DMS. Anda dapat menghentikan sementara replikasi streaming dari database Oracle lokal ke pengamat Oracle untuk mengaktifkan AWS DMS untuk mengejar validasi data, atau menggunakan alat validasi data lain. Instans Amazon RDS for PostgreSQL DB atau instans DB yang kompatibel dengan Aurora PostgreSQL dan database pengamat akan memiliki data yang sama saat AWS DMS menyelesaikan migrasi perubahan saat ini. 

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif

  • Database Oracle sumber di pusat data lokal dengan database siaga Active Data Guard yang dikonfigurasi

  • AWS Direct Connect dikonfigurasi antara pusat data lokal dan AWS Secrets Manager untuk menyimpan rahasia database

  • Driver Java Database Connectivity (JDBC) untuk konektor AWS SCT, diinstal baik pada mesin lokal atau pada instance di EC2 mana AWS SCT diinstal

  • Keakraban dengan menggunakan database Oracle sebagai sumber AWS DMS

  • Keakraban menggunakan database PostgreSQL sebagai target AWS DMS

Batasan

  • Batas ukuran database: 64 TB

Versi produk

Arsitektur

Tumpukan teknologi sumber

  • Database Oracle lokal

  • Sebuah EC2 contoh yang menyimpan pengamat untuk database Oracle

Tumpukan teknologi target

  • Amazon RDS untuk PostgreSQL atau Aurora PostgreSQL misalnya, PostgreSQL, PostgreSQL 9.3 dan yang lebih baru

Arsitektur target

Diagram berikut menunjukkan contoh alur kerja untuk memigrasikan database Oracle ke database AWS yang kompatibel dengan PostgreSQL dengan menggunakan AWS DMS dan pengamat Oracle:

Memigrasi database Oracle lokal ke PostgreSQL di AWS.

Alat

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan AWS SCT.

Buat laporan baru, dan sambungkan ke Oracle sebagai sumber dan PostgreSQL sebagai target. Di Pengaturan Proyek, buka tab SQL Scripting. Ubah Target SQL Script ke Multiple Files. File-file ini akan digunakan nanti dan diberi nama sebagai berikut:

  • create_database.sql

  • create_sequence.sql

  • create_table.sql

  • create_view.sql

  • create_function.sql

DBA

Mengkonversi skema database Oracle.

Di tab Tindakan, pilih Hasilkan Laporan. Kemudian, pilih Konversi Skema dan pilih Simpan sebagai SQL.

DBA

Ubah skrip.

Misalnya, Anda mungkin ingin mengubah skrip jika nomor dalam skema sumber telah dikonversi ke format numerik di PostgreSQL, tetapi Anda ingin menggunakan BIGINT sebagai gantinya untuk kinerja yang lebih baik.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat instans Amazon RDS DB.

Di Wilayah AWS yang benar, buat instans PostgreSQL DB baru. Untuk informasi selengkapnya, lihat Membuat instans PostgreSQL DB dan menghubungkan ke database pada instans PostgreSQL DB dalam dokumentasi Amazon RDS.

AWS SysAdmin, DBA

Konfigurasikan spesifikasi instans DB.

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

AWS SysAdmin, DBA

Konfigurasikan jaringan dan keamanan.

Tentukan virtual private cloud (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 KMS.

AWS SysAdmin, DBA

Konfigurasikan cadangan.

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

AWS SysAdmin, DBA

Konfigurasikan opsi pemantauan.

Aktifkan atau nonaktifkan 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, jalankan skrip berikut yang dihasilkan oleh AWS SCT:

  • create_database.sql

  • create_sequence.sql

  • create_table.sql

  • create_view.sql

  • create_function.sql

AWS SysAdmin, DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan jaringan untuk Amazon EC2.

Buat VPC baru, subnet, gateway internet, tabel rute, dan grup keamanan.

AWS SysAdmin

Buat EC2 instance.

Di Wilayah AWS yang sesuai, buat EC2 instance baru. Pilih Amazon Machine Image (AMI), pilih ukuran instans, dan konfigurasikan detail instans: jumlah instance (1), VPC dan subnet yang Anda buat di tugas sebelumnya, tetapkan IP publik secara otomatis, dan opsi lainnya. Tambahkan penyimpanan, konfigurasikan grup keamanan, dan luncurkan. Saat diminta, buat dan simpan key pair untuk langkah selanjutnya.

AWS SysAdmin

Connect database sumber Oracle ke EC2 instance.

Salin alamat IP IPv4 publik dan DNS ke file teks dan sambungkan dengan menggunakan SSH sebagai berikut: ssh -i “your_file.pem” EC2-user@<your-IP- -DNS>. address-or-public

AWS SysAdmin

Siapkan host awal untuk pengamat di Amazon. EC2

Siapkan kunci SSH, profil bash, ORATAB, dan tautan simbolis. Buat direktori Oracle.

AWS SysAdmin, Linux Admin

Siapkan salinan database untuk pengamat di Amazon EC2

Gunakan RMAN untuk membuat salinan database, mengaktifkan logging tambahan, dan membuat file kontrol siaga. Setelah penyalinan selesai, tempatkan database dalam mode pemulihan.

AWS SysAdmin, DBA

Siapkan Oracle Data Guard.

Ubah file listener.ora Anda dan mulai pendengar. Siapkan tujuan arsip baru. Tempatkan pengamat dalam mode pemulihan, ganti file sementara untuk menghindari korupsi di masa depan, instal crontab jika perlu untuk mencegah direktori arsip kehabisan ruang, dan edit manage-trclog-files-oraclefile.cfg untuk sumber dan siaga.

AWS SysAdmin, DBA

Siapkan database Oracle untuk menyinkronkan pengiriman.

Tambahkan file log siaga dan ubah mode pemulihan. Ubah pengiriman log ke SYNC AFFIRM pada sumber utama dan sumber siaga. Alihkan log pada primer, konfirmasikan melalui log peringatan EC2 pengamat Amazon bahwa Anda menggunakan file log siaga, dan konfirmasikan bahwa aliran pengulangan mengalir di SYNC.

AWS SysAdmin, DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat instance replikasi di AWS DMS.

Lengkapi bidang untuk nama, kelas instance, VPC (sama seperti instans Amazon EC2 ), Multi-AZ, dan aksesibilitas publik. Di bagian Advance, 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 EC2 pribadi Amazon), 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 lintas VPCs.

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: maxFileSize dan 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 diperlukan untuk migrasi spesifik 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 skrip berikut yang dihasilkan oleh AWS SCT:

  • create_index.sql

  • create_constraint.sql

DBA

Mulai ulang tugas untuk melanjutkan perubahan pengambilan data (CDC).

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

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Tinjau log AWS DMS dan tabel validasi untuk mengetahui kesalahan apa pun.

Periksa dan perbaiki kesalahan replikasi atau validasi apa pun.

DBA

Hentikan semua dependensi Oracle.

Hentikan semua dependensi Oracle, matikan pendengar pada 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 berikut yang dihasilkan oleh AWS SCT:

  • create_foreign_key_constraint.sql

  • create_triggers.sql

DBA

Lengkapi tambahan Amazon RDS untuk langkah-langkah PostgreSQL.

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

DBA

Buka koneksi ke Amazon RDS for 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