

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
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms"></a>

*Cady Motyka, Amazon Web Services*

## Ringkasan
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-summary"></a>

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
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-prereqs"></a>

**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](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) DMS
+ Keakraban [menggunakan database PostgreSQL sebagai target AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 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](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). 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](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html). 
+ 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](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html).

## Arsitektur
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-architecture"></a>

**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.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/6f5d5500-8b09-4bd1-8ef9-e670d58d07f8/images/1de98abd-c143-481a-b55f-e8d00eb96a38.png)


## Alat
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) membantu Anda memigrasikan penyimpanan data ke AWS Cloud atau antara kombinasi pengaturan cloud dan lokal.
+ [AWS Schema Conversion Tool (AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)) 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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di AWS Cloud.

## Epik
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-epics"></a>

### 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, 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | 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 | 

### Membuat dan mengonfigurasi instans Amazon RDS DB
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| 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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html) 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | AWS SysAdmin, DBA | 

### Konfigurasikan pengamat Oracle di Amazon EC2
<a name="configure-the-oracle-bystander-in-amazon-ec2"></a>


| 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\$1file.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 | 

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


| 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: **maxFileSize**dan **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 **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 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: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | 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 | 

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


| 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | 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
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-resources"></a>
+ [Dokumentasi AWS DMS](https://docs.aws.amazon.com/dms/)
+ [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/) 