

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

# Migrasikan Amazon RDS for Oracle ke Amazon RDS untuk PostgreSQL dengan dan menggunakan dan AWS SCT AWS DMS AWS CLI CloudFormation
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation"></a>

*Pinesh Singal, Amazon Web Services*

## Ringkasan
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-summary"></a>

Pola ini menunjukkan cara memigrasikan Amazon [Relational Database Service (Amazon RDS) multi-terabyte untuk instans Oracle DB ke instans Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) [for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) DB dengan menggunakan (). AWS Command Line Interface AWS CLI Pendekatan ini memberikan waktu henti minimal dan tidak perlu masuk ke. Konsol Manajemen AWS

Pola ini membantu menghindari konfigurasi manual dan migrasi individual dengan menggunakan konsol AWS Schema Conversion Tool (AWS SCT) dan AWS Database Migration Service (AWS DMS). Solusinya menyiapkan konfigurasi satu kali untuk beberapa database dan melakukan migrasi dengan menggunakan AWS SCT dan AWS DMS di file. AWS CLI

Pola ini digunakan AWS SCT untuk mengonversi objek skema database dari Amazon RDS for Oracle ke Amazon RDS for PostgreSQL, dan kemudian digunakan untuk memigrasikan data. AWS DMS Menggunakan skrip Python di AWS CLI, Anda membuat AWS SCT objek dan AWS DMS tugas dengan template. CloudFormation 

## Prasyarat dan batasan
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS.
+ Instans Amazon RDS for Oracle DB yang ada.
+ Amazon RDS yang ada untuk instans DB Amazon RDS for PostgreSQL. 
+ Instans Amazon Elastic Compute Cloud (Amazon EC2) atau mesin lokal dengan OS Windows atau Linux untuk menjalankan skrip.
+ Pemahaman tentang jenis tugas AWS DMS migrasi berikut:`full-load`,`cdc`,`full-load-and-cdc`.  Untuk informasi selengkapnya, lihat [Membuat tugas](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) dalam AWS DMS dokumentasi. 
+ AWS SCT, diinstal dan dikonfigurasi dengan driver Java Database Connectivity (JDBC) untuk mesin database Oracle dan PostgreSQL. Untuk informasi selengkapnya, lihat [Menginstal dan mengonfigurasi AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) dalam AWS SCT dokumentasi. 
+ `AWSSchemaConversionToolBatch.jar`File dari AWS SCT folder yang diinstal, disalin ke direktori kerja Anda.
+ `cli-sct-dms-cft.zip`File (terlampir), diunduh dan diekstraksi di direktori kerja Anda.
+ Versi mesin contoh AWS DMS replikasi terbaru. Untuk informasi selengkapnya, lihat [Bagaimana cara membuat instance AWS DMS replikasi](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) dalam AWS Dukungan dokumentasi dan [catatan AWS DMS rilis](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReleaseNotes.html). 
+ AWS CLI versi 2, diinstal dan dikonfigurasi dengan ID kunci akses Anda, kunci akses rahasia, dan AWS Region nama default untuk EC2 instance atau OS tempat skrip dijalankan. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) dan [Mengkonfigurasi pengaturan untuk](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) AWS CLI dokumentasi. AWS CLI 
+ Keakraban dengan CloudFormation template. Untuk informasi selengkapnya, lihat [Cara CloudFormation kerja](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-overview.html) dalam CloudFormation dokumentasi. 
+ Python versi 3, diinstal dan dikonfigurasi pada EC2 instance atau OS tempat skrip dijalankan. Untuk informasi selengkapnya, lihat [dokumentasi Python](https://docs.python.org/3/). 

**Batasan**
+ Persyaratan minimum untuk instans Amazon RDS for Oracle DB sumber Anda adalah: 
  + Oracle versi 12c (12.1.0.2, 12.2.0.1), 18c (18.0.0.0), dan 19c (19.0.0.0) untuk edisi Enterprise, Standard, Standard One, dan Standard Two.
  + Meskipun Amazon RDS mendukung Oracle 18c (18.0.0.0), versi ini berada di jalur penghentian karena Oracle tidak lagi menyediakan tambalan untuk 18c setelah tanggal. end-of-support Untuk informasi selengkapnya, lihat [Amazon RDS for](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html#Oracle.Concepts.Deprecate.11204) Oracle di dokumentasi Amazon RDS.
  + Amazon RDS for Oracle 11g tidak lagi didukung.
+ Persyaratan minimum untuk instans Amazon RDS for PostgreSQL DB target Anda adalah: 
  + PostgreSQL versi 9 (9.5 dan 9.6), 10.x, 11.x, 12.x, dan 13.x

**Versi produk**
+ Amazon RDS for Oracle DB instans versi 12.1.0.2 dan yang lebih baru
+ Amazon RDS untuk instans PostgreSQL DB versi 11.5 dan yang lebih baru
+ AWS CLI versi 2 
+ Versi terbaru dari AWS SCT
+ Versi terbaru Python 3

## Arsitektur
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-architecture"></a>

**Tumpukan teknologi sumber**
+ Amazon RDS for Oracle

**Tumpukan teknologi target**
+ Amazon RDS for PostgreSQL

**Arsitektur sumber dan target**

Diagram berikut menunjukkan migrasi instans Amazon RDS for Oracle DB ke instans Amazon RDS for PostgreSQL DB menggunakan skrip Python. AWS DMS 

![Migrasi RDS untuk instans Oracle DB ke RDS untuk instans PostgreSQL DB menggunakan AWS DMS dan Python.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/5e041494-2e64-4f09-b6ec-0e0cba3a4972/images/77022e13-46fb-4aa8-ab49-85b0ca4c317a.png)


 

Diagram menunjukkan alur kerja migrasi berikut:

1. Skrip Python digunakan AWS SCT untuk terhubung ke sumber dan menargetkan instance DB.

1. Pengguna mulai AWS SCT dengan skrip Python, mengonversi kode Oracle ke kode PostgreSQL, dan menjalankannya pada instance DB target.

1. Skrip Python membuat tugas AWS DMS replikasi untuk instance DB sumber dan target.

1. Pengguna menyebarkan skrip Python untuk memulai AWS DMS tugas dan kemudian menghentikan tugas setelah migrasi data selesai.

**Otomatisasi dan skala**

Anda dapat mengotomatiskan migrasi ini dengan menambahkan parameter dan perubahan terkait keamanan ke skrip Python Anda, untuk menyediakan fungsionalitas tambahan. 

## Alat
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)membantu Anda menyiapkan sumber daya AWS, menyediakannya dengan cepat dan konsisten, serta mengelolanya sepanjang siklus hidupnya di seluruh Akun AWS dan Wilayah. Pola ini mengkonversi file `.csv` input ke file `.json` input dengan menggunakan script Python. `.json`File ini digunakan dalam AWS CLI perintah untuk membuat CloudFormation tumpukan yang membuat beberapa tugas AWS DMS replikasi dengan Amazon Resource Names (ARNs), tipe migrasi, pengaturan tugas, dan pemetaan tabel.
+ [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 di antara kombinasi pengaturan cloud dan lokal. Pola ini digunakan AWS DMS untuk membuat, memulai, dan menghentikan tugas dengan skrip Python yang berjalan pada baris perintah, dan untuk membuat template. CloudFormation 
+ [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. Pola ini membutuhkan `AWSSchemaConversionToolBatch.jar` file dari AWS SCT direktori yang diinstal.

**Kode**

`cli-sct-dms-cft.zip`File (terlampir) berisi kode sumber lengkap untuk pola ini.

## Epik
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-epics"></a>

### Konfigurasikan AWS SCT dan buat objek database di AWS CLI
<a name="configure-awssct-and-create-database-objects-in-the-cli"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
|  AWS SCT Konfigurasikan untuk menjalankan dari file AWS CLI. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Jalankan `run_aws_sct.py` skrip Python. | Jalankan skrip `run_aws_sct.py` Python dengan menggunakan perintah berikut:<br />`$ python run_aws_sct.py database_migration.txt`<br />Script Python mengkonversi objek database dari Oracle ke PostgreSQL dan membuat file SQL dalam format PostgreSQL. Skrip ini juga membuat file PDF`Database migration assessment report`, yang memberi Anda rekomendasi terperinci dan statistik konversi untuk objek database. | DBA | 
| Buat objek di Amazon RDS untuk PostgreSQL. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 

### Konfigurasikan dan buat AWS DMS tugas dengan menggunakan AWS CLI dan CloudFormation
<a name="configure-and-create-dms-tasks-by-using-the-cli-and-cfn"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat contoh AWS DMS replikasi. | Masuk ke Konsol Manajemen AWS, buka [AWS DMS konsol](https://console.aws.amazon.com/dms/v2/), dan buat instance replikasi yang dikonfigurasi sesuai dengan kebutuhan Anda.<br />Untuk informasi selengkapnya, lihat [Membuat instance replikasi](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) dalam AWS DMS dokumentasi dan [Bagaimana cara membuat instance AWS DMS replikasi](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) dalam dokumentasi. AWS Dukungan  | DBA | 
| Buat titik akhir sumber. | Di AWS DMS konsol, pilih **Endpoint** dan kemudian buat titik akhir sumber untuk database Oracle sesuai dengan kebutuhan Anda. Atribut koneksi tambahan harus `numberDataTypeScale` dengan `-2` nilai.<br />Untuk informasi selengkapnya, lihat [Membuat titik akhir sumber dan target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) dalam AWS DMS dokumentasi. | DBA | 
| Buat titik akhir target. | Di AWS DMS konsol, pilih **Endpoint** dan kemudian buat titik akhir target untuk database PostgreSQL sesuai dengan kebutuhan Anda.  <br />Untuk informasi selengkapnya, lihat [Membuat titik akhir sumber dan target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) dalam AWS DMS dokumentasi. | DevOps insinyur | 
| Konfigurasikan detail AWS DMS replikasi untuk dijalankan dari file. AWS CLI | Konfigurasikan titik akhir AWS DMS sumber dan target serta detail replikasi dalam `dms-arn-list.txt` file dengan ARN titik akhir sumber, ARN titik akhir target, dan ARN instance replikasi dengan menggunakan format berikut:<pre>#sourceARN,targetARN,repARN<br />arn:aws:dms:us-east-1:123456789012:endpoint:EH7AINRUDZ5GOYIY6HVMXECMCQ<br />arn:aws:dms:us-east-1:123456789012:endpoint:HHJVUV57N7O3CQF4PJZKGIOYY5<br />arn:aws:dms:us-east-1:123456789012:rep:LL57N77AQQAHHJF4PJFHNEDZ5G</pre> | DBA | 
| Jalankan skrip `dms-create-task.py` Python untuk membuat tugas. AWS DMS  | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Verifikasi bahwa AWS DMS tugas sudah siap. | Di AWS DMS konsol, periksa apakah AWS DMS tugas Anda dalam `Ready` status di bagian **Status**. | DBA | 

### Memulai dan menghentikan AWS DMS tugas dengan menggunakan AWS CLI
<a name="start-and-stop-the-dms-tasks-by-using-the-cli"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Mulai AWS DMS tugas. | Jalankan skrip `dms-start-task.py` Python dengan menggunakan perintah berikut:<pre>$ python dms-start-task.py start '<cdc-start-datetime>'</pre>Tanggal dan waktu mulai harus dalam `'YYYY-MM-DDTHH:MI:SS'` format `'DD-MON-YYYY'` atau (misalnya, `'01-Dec-2019'` atau`'2018-03-08T12:12:12'`).<br />Anda dapat meninjau status AWS DMS tugas di tab **Statistik tabel** di halaman **Tugas** AWS DMS konsol. | DBA | 
| Validasi data. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html)Untuk informasi selengkapnya, lihat [validasi AWS DMS data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) dalam AWS DMS dokumentasi. | DBA | 
| Hentikan AWS DMS tugas. | Jalankan skrip Python dengan menggunakan perintah berikut:<pre>$ python dms-start-task.py stop</pre>AWS DMS tugas mungkin berhenti dengan `failed` status, tergantung pada status validasi. Untuk informasi lebih lanjut, lihat bagian selanjutnya. | DBA | 

## Pemecahan masalah
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| AWS SCT koneksi uji sumber dan target gagal. | Konfigurasikan versi driver JDBC dan aturan masuk grup keamanan VPC untuk menerima lalu lintas masuk. | 
| Uji coba sumber atau target titik akhir gagal. | Periksa apakah pengaturan titik akhir dan contoh replikasi berada dalam `Available` status. Periksa apakah status koneksi titik akhir adalah`Successful`. <br />Untuk informasi selengkapnya, lihat [Bagaimana cara memecahkan masalah kegagalan konektivitas titik akhir AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/dms-endpoint-connectivity-failures/) dalam dokumentasi. AWS Dukungan  | 
| Proses beban penuh gagal. | Periksa apakah basis data sumber dan target memiliki tipe dan ukuran data yang cocok. <br />Untuk informasi selengkapnya, lihat [Memecahkan masalah tugas migrasi AWS DMS dalam](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html) dokumentasi. AWS DMS  | 
| Anda menemukan kesalahan menjalankan validasi. | Periksa apakah tabel memiliki kunci primer karena tabel kunci non-primer tidak divalidasi.<br />Jika tabel memiliki kunci utama dan kesalahan, periksa apakah atribut koneksi tambahan di titik akhir sumber memiliki`numberDataTypeScale=-2`.<br />Untuk informasi selengkapnya, lihat [Pengaturan titik akhir saat menggunakan Oracle sebagai sumber untuk AWS DMS[OracleSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_OracleSettings.html)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib), dan [Pemecahan Masalah](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Troubleshooting) dalam dokumentasi. AWS DMS  | 

## Sumber daya terkait
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-resources"></a>
+ [Menginstal dan mengkonfigurasi AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)
+ [Pengantar AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (video)
+ [Contoh perintah operasi CloudFormation tumpukan untuk AWS CLI dan PowerShell](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cli.html)
+ [Menavigasi antarmuka pengguna AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Menggunakan database Oracle sebagai sumber AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Menghubungkan ke database Oracle dengan AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/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) 
+ [Sumber untuk migrasi data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Target untuk migrasi data](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [cloudformation (dokumentasi](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html))AWS CLI 
+ [buat-tumpukan (dokumentasi](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html))AWS CLI  
+ [dms](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dms/index.html) (AWS CLI dokumentasi) 

## Lampiran
<a name="attachments-5e041494-2e64-4f09-b6ec-0e0cba3a4972"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/5e041494-2e64-4f09-b6ec-0e0cba3a4972/attachments/attachment.zip)