

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
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms"></a>

*Kumar Babu P G dan Pragnesh Patel, Amazon Web Services*

## Ringkasan
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-summary"></a>

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
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Sumber database Oracle 8i atau 9i di pusat data lokal 
+ AWS Direct Connect dikonfigurasi antara pusat data lokal dan AWS
+ 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](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) DMS
+ Keakraban dengan [menggunakan database PostgreSQL sebagai target AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**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
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-architecture"></a>

**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\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/8add9b21-1b62-46a2-bb8e-0350f36a924a/images/f34f9b0f-f1da-4c27-a385-71b12d16c375.png)


## Alat
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) 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](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 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
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-best-practices"></a>

Untuk praktik terbaik untuk menyegarkan tampilan terwujud, lihat dokumentasi Oracle berikut:
+ [Menyegarkan tampilan terwujud](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG-GUID-64068234-BDB0-4C12-AE70-75571046A586)
+ [Penyegaran cepat untuk tampilan terwujud](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG8361)

## Epik
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-epics"></a>

### Instal Oracle pada sebuah EC2 instance dan buat tampilan terwujud
<a name="install-oracle-on-an-ec2-instance-and-create-materialized-views"></a>


| Tugas | Deskripsi | Keterampilan 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 | 

### Mengkonversi skema database Oracle ke PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Tugas | Deskripsi | Keterampilan 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 | 

### Membuat dan mengonfigurasi instans Amazon RDS DB untuk meng-host database yang dikonversi
<a name="create-and-configure-the-amazon-rds-db-instance-to-host-the-converted-database"></a>


| Tugas | Deskripsi | Keterampilan 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 | 

### Migrasi data dengan menggunakan AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Tugas | Deskripsi | Keterampilan 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: **maxFileSize**dan **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: **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 **CommitRate**lanjutan. | 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 | 

### Potong ke database PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Tugas | Deskripsi | Keterampilan 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` dan`ANALYZE`, 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
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-resources"></a>
+ [Dokumentasi AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Dokumentasi AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Harga Amazon RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Menggunakan database Oracle sebagai sumber AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Menggunakan database PostgreSQL sebagai target AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)