Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bermigrasi dari Amazon RDS for Oracle ke Amazon RDS untuk MySQL
Jitender Kumar, Srini Ramaswamy, dan Neha Sharma, Amazon Web Services
Ringkasan
Pola ini memberikan panduan untuk memigrasikan Amazon Relational Database Service (Amazon RDS) untuk instans Oracle DB ke instans Amazon RDS for MySQL DB di Amazon Web Services (AWS). Pola ini menggunakan AWS Database Migration Service (AWS DMS) dan AWS Schema Conversion Tool (AWS SCT).
Pola ini memberikan praktik terbaik untuk menangani migrasi prosedur tersimpan. Ini juga mencakup dan perubahan kode untuk mendukung lapisan aplikasi.
Prasyarat dan batasan
Prasyarat
- Akun AWS aktif. 
- Database sumber Amazon RDS for Oracle. 
- Basis data target Amazon RDS for MySQL. Database sumber dan target harus berada dalam virtual private cloud (VPC) yang sama. Jika Anda menggunakan beberapa VPCs, atau Anda harus memiliki izin akses yang diperlukan. 
- Grup keamanan yang memungkinkan konektivitas antara basis data sumber dan target, AWS SCT, server aplikasi, dan AWS DMS. 
- Akun pengguna dengan hak istimewa yang diperlukan untuk menjalankan AWS SCT pada database sumber. 
- Pencatatan tambahan diaktifkan untuk menjalankan AWS DMS pada database sumber. 
Batasan
- Batas ukuran basis data Amazon RDS sumber dan target adalah 64 TB. Untuk informasi ukuran Amazon RDS, lihat dokumentasi AWS. 
- Oracle tidak peka huruf besar/kecil untuk objek database, tetapi MySQL tidak. AWS SCT dapat menangani masalah ini saat membuat objek. Namun, beberapa pekerjaan manual diperlukan untuk mendukung ketidakpekaan kasus penuh. 
- Migrasi ini tidak menggunakan ekstensi MySQL untuk mengaktifkan fungsi asli Oracle. AWS SCT menangani sebagian besar konversi, tetapi beberapa pekerjaan diperlukan untuk mengubah kode secara manual. 
- Perubahan driver Java Database Connectivity (JDBC) diperlukan dalam aplikasi. 
Versi produk
- Amazon RDS for Oracle 12.2.0.1 dan yang lebih baru. Untuk RDS yang saat ini didukung untuk versi Oracle, lihat dokumentasi AWS. 
- Amazon RDS for MySQL 8.0.15 dan yang lebih baru. Untuk RDS yang saat ini didukung untuk versi MySQL, lihat dokumentasi AWS. 
- AWS DMS versi 3.3.0 dan yang lebih baru. Lihat dokumentasi AWS untuk informasi selengkapnya tentang titik akhir sumber dan titik akhir target yang didukung AWS DMS. 
- AWS SCT versi 1.0.628 dan yang lebih baru. Lihat sumber AWS SCT dan matriks dukungan titik akhir target dalam dokumentasi AWS. 
Arsitektur
Tumpukan teknologi sumber
- Amazon RDS for Oracle. Untuk informasi selengkapnya, lihat Menggunakan database Oracle sebagai sumber AWS DMS. 
Tumpukan teknologi target
- Amazon RDS for MySQL. Untuk informasi selengkapnya, lihat Menggunakan database yang kompatibel dengan MySQL sebagai target AWS DMS. 
Arsitektur migrasi
Dalam diagram berikut, AWS SCT menyalin dan mengonversi objek skema dari database sumber Amazon RDS for Oracle dan mengirimkan objek ke database target Amazon RDS for MySQL. AWS DMS mereplikasi data dari database sumber dan mengirimkannya ke Amazon RDS for MySQL instance.

Alat
- AWS Data Migration Service membantu Anda memigrasikan penyimpanan data ke AWS Cloud atau antara kombinasi pengaturan cloud dan lokal. 
- Amazon Relational Database Service (Amazon RDS) membantu Anda menyiapkan, mengoperasikan, dan menskalakan database relasional di AWS Cloud. Pola ini menggunakan Amazon RDS for Oracle dan Amazon RDS untuk MySQL. 
- 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. 
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
|---|---|---|
| Validasi versi dan mesin basis data sumber dan target. | DBA | |
| Identifikasi persyaratan perangkat keras untuk instance server target. | DBA, SysAdmin | |
| Identifikasi persyaratan penyimpanan (jenis dan kapasitas penyimpanan). | DBA, SysAdmin | |
| Pilih jenis instans yang tepat (kapasitas, fitur penyimpanan, fitur jaringan). | DBA, SysAdmin | |
| Identifikasi persyaratan keamanan akses jaringan untuk basis data sumber dan target. | DBA, SysAdmin | |
| Pilih strategi migrasi aplikasi. | Pertimbangkan apakah Anda menginginkan waktu henti penuh atau sebagian waktu henti untuk aktivitas cutover. | DBA, SysAdmin, Pemilik aplikasi | 
| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
|---|---|---|
| Buat VPC dan subnet. | SysAdmin | |
| Buat grup keamanan dan daftar kontrol akses jaringan (ACLs). | SysAdmin | |
| Konfigurasikan dan mulai Amazon RDS for Oracle instance. | DBA, SysAdmin | |
| Konfigurasikan dan mulai Amazon RDS for MySQL instance. | DBA, SysAdmin | |
| Siapkan kasus uji untuk validasi konversi kode. | Ini akan membantu dalam pengujian unit untuk kode yang dikonversi. | DBA, Pengembang | 
| Konfigurasikan instans AWS DMS. | ||
| Konfigurasikan titik akhir sumber dan target di AWS DMS. | 
| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
|---|---|---|
| Buat skrip basis data target menggunakan AWS SCT. | Periksa keakuratan kode yang dikonversi oleh AWS SCT. Beberapa pekerjaan manual akan diperlukan. | DBA, Pengembang | 
| Di AWS SCT, pilih pengaturan “Case Insensitive”. | Di AWS SCT, pilih Pengaturan Proyek, Sensitivitas Kasus Target, Case Insensitive. | DBA, Pengembang | 
| Di AWS SCT, pilih untuk tidak menggunakan fungsi asli Oracle. | Di Pengaturan Proyek, periksa fungsi TO_ CHAR/TO_NUMBER/TO _DATE. | DBA, Pengembang | 
| Buat perubahan untuk kode “sql%notfound”. | Anda mungkin harus mengonversi kode secara manual. | |
| Kueri pada tabel dan objek dalam prosedur tersimpan (gunakan kueri huruf kecil). | DBA, Pengembang | |
| Buat skrip utama setelah semua perubahan dibuat, dan kemudian gunakan skrip utama pada database target. | DBA, Pengembang | |
| Prosedur tersimpan unit-test dan panggilan aplikasi menggunakan data sampel. | ||
| Bersihkan data yang dibuat selama pengujian unit. | DBA, Pengembang | |
| Jatuhkan kendala kunci asing pada database target. | Langkah ini diperlukan untuk memuat data awal. Jika Anda tidak ingin menghapus batasan kunci asing, Anda harus membuat tugas migrasi untuk data khusus untuk tabel primer dan sekunder. | DBA, Pengembang | 
| Jatuhkan kunci utama dan kunci unik pada database target. | Langkah ini menghasilkan kinerja yang lebih baik untuk beban awal. | DBA, Pengembang | 
| Aktifkan logging tambahan pada database sumber. | DBA | |
| Buat tugas migrasi untuk pemuatan awal di AWS DMS, lalu jalankan. | Pilih opsi untuk memigrasi data yang ada. | DBA | 
| Tambahkan kunci utama dan kunci asing ke database target. | Kendala perlu ditambahkan setelah beban awal. | DBA, Pengembang | 
| Buat tugas migrasi untuk replikasi yang sedang berlangsung. | Replikasi yang sedang berlangsung membuat database target disinkronkan dengan database sumber. | DBA | 
| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
|---|---|---|
| Ganti fungsi asli Oracle dengan fungsi asli MySQL. | Pemilik aplikasi | |
| Pastikan bahwa hanya nama huruf kecil yang digunakan untuk objek database dalam query SQL. | DBA, SysAdmin, Pemilik aplikasi | 
| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
|---|---|---|
| Matikan server aplikasi. | Pemilik aplikasi | |
| Validasi bahwa basis data sumber dan target sinkron. | DBA, Pemilik aplikasi | |
| Hentikan instans Amazon RDS for Oracle DB. | DBA | |
| Hentikan tugas migrasi. | Ini akan berhenti secara otomatis setelah Anda menyelesaikan langkah sebelumnya. | DBA | 
| Ubah koneksi JDBC dari Oracle ke MySQL. | Pemilik aplikasi, DBA | |
| Mulai aplikasi. | DBA, SysAdmin, Pemilik aplikasi | 
| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
|---|---|---|
| Meninjau dan memvalidasi dokumen proyek. | DBA, SysAdmin | |
| Kumpulkan metrik tentang waktu untuk bermigrasi, persentase tugas manual versus alat, penghematan biaya, dll. | DBA, SysAdmin | |
| Hentikan dan hapus instans AWS DMS. | DBA | |
| Hapus titik akhir sumber dan target. | DBA | |
| Hapus tugas migrasi. | DBA | |
| Ambil snapshot dari instans Amazon RDS for Oracle DB. | DBA | |
| Hapus instans Amazon RDS for Oracle DB. | DBA | |
| Matikan dan hapus sumber daya AWS sementara lainnya yang Anda gunakan. | DBA, SysAdmin | |
| Tutup proyek dan berikan umpan balik apa pun. | DBA |