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
AWS DMS mendukung semua edisi database Oracle untuk versi 10.2 dan yang lebih baru (untuk versi 10.x), 11g dan hingga 12.2, 18c, dan 19c. Untuk daftar terbaru versi yang didukung, lihat Menggunakan Database Oracle sebagai Sumber untuk AWS DMS. Kami menyarankan Anda menggunakan AWS DMS versi terbaru untuk versi dan dukungan fitur yang paling komprehensif. Untuk informasi tentang versi database Oracle yang didukung oleh AWS SCT, lihat dokumentasi AWS SCT.
AWS DMS mendukung PostgreSQL versi 9.4 dan yang lebih baru (untuk versi 9.x), 10.x, 11.x, 12.x, dan 13.x. Untuk informasi terbaru, lihat Menggunakan Database PostgreSQL sebagai Target untuk AWS DMS dalam dokumentasi AWS.
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:

Alat
AWS Database Migration Service (AWS DMS) membantu Anda memigrasikan penyimpanan data ke AWS Cloud atau antara kombinasi pengaturan cloud dan lokal.
AWS Schema Conversion Tool (AWS SCT) mendukung migrasi database heterogen dengan secara otomatis mengonversi skema basis data sumber dan sebagian besar kode kustom ke format yang kompatibel dengan database target.
Amazon Relational Database Service (Amazon RDS) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di AWS Cloud.
Epik
| Tugas | Deskripsi | Keterampilan 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:
| 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 |
| Tugas | Deskripsi | Keterampilan 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:
| AWS SysAdmin, DBA |
| Tugas | Deskripsi | Keterampilan 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 |
| Tugas | Deskripsi | Keterampilan 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:
| 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 |
| Tugas | Deskripsi | Keterampilan 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:
| 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 |