Bermigrasi dari Amazon RDS for Oracle ke Amazon RDS untuk MySQL - AWS Prescriptive Guidance

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

Arsitektur

Tumpukan teknologi sumber

Tumpukan teknologi target

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.

AWS SCT, AWS DMS, dan Amazon RDS diterapkan di subnet pribadi.

Alat

Epik

TugasDeskripsiKeterampilan 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
TugasDeskripsiKeterampilan 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.

TugasDeskripsiKeterampilan 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
TugasDeskripsiKeterampilan 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
TugasDeskripsiKeterampilan 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
TugasDeskripsiKeterampilan 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

Sumber daya terkait