Kamis, 18 September 2014

Migrasi database dari MySQL ke Oracle Database Menggunakan Sql Developer

Ketika memasuki kantor yang sekarang, saya mendapatkan challenge untuk memigrasikan salah satu database perusahaan dari MySQL ke Oracle. Pertama kali, namun tidak terlalu khawatir karena mbah google menyediakan banyak link tutorial. Kali ini akan saya tuliskan, catatan saya sendiri.....

Database yang akan saya migrasikan berasal dari database MySQL versi 5 yang ada pada server linux, dan akan dimigrasikan ke oracle 11g pada server yang sama. Hal pertama yang harus dipersiapkan adalah installasi sql developer.

Pada awalnya, sql developer saya install di pc saya, dan membuat koneksi ke database MySql dan Oracle yang ada disever, namun hal ini mengalami kendala untuk tabel yang cukup besar, proses akan terhenti karena java-heap-space. Alternatif yang saya lakukan adalah installasi sql developer di sisi server karena kapasitas dan memorynya tentu lebih lega.

Jika aplikasi sql developer sudah tersedia, langkah berikutnya adalah mengaktifkan koneksi sql developer ke MySQL, karena secara default, sql developer hanya memberikan tab konfigurasi ke database oracle. Tutorial untuk mengaktifkan koneksi dari sql developer ke database MySql akan saya buat di thread terpisah.


Jika koneksi ke database MySQL sudah di enable di sql developer, buat lah koneksi ke database MySQL yang menjadi source database. Buat juga koneksi ke database oracle yang menjadi target migrasi.
    koneksi ke database target oracle
Buat sebuah user baru di sisi di Oracle khusus untuk menyimpan repository migrasi. Dalam percobaan saya, saya membuat sebuah user dengan nama migruser menggunakan perintah berikut:
  create user migruser identified by migruser

Koneksi ke database source mysql
User yang berfungsi untuk menyimpan repositori migrasi harus mendapatkan role Resource, dan juga mendapatkan sys privilege yaitu create session dan create view.

grant resource to migruser
grant create session to migruser
grant create view to migruser

Tools -> Migration -> Repository Management -> Create Repository
Setelah user baru jadi dan mendapatkan role dan privileges yang diperlukan, buat koneksi user baru tersebut di sql developer. 

Untuk membuat repository, klik Tools pada toolbar dan pilih Migration->Repository Management ->Create Repository.

Jendela introduction dan ringkasan step step migrasi
Jendela introduction terhadap repository akan dibuka, pada jendela tersebut klik Next untuk melanjutkan.












Pilih koneksi repository
Pada jendela ini, kita harus menentukan koneksi yang akan digunakan untuk membuat repository. dalam hal ini, saya menggunakan koneksi mengguankan user migruser  seperti yang tampak pada capture berikutnya.








Create project dan direktori

Pada jendela  berikutnya kita akan membuat sebuah project migrasi mengan memasukkan nama project dan juga direktori tempat menyimpan output yang dihasilkan dari proses migrasi ini. Dalam hal ini, nama project yang saya masukkan adalah csi_migration.









Memilih koneksi database sumber
Jendela berikutnya adalah untuk memilih koneksi source database yaitu database mysql yang sudah kita konfigur sebelumnya. Pada opsi Mode, pilih Online jika migrasi dilakukan pada saat koneksi ke database tidak dibatasi.









Memilih database yang akan dimigrasikan
Setelah kita memilih koneksi database sumber, langkah selanjutnya adalah memilih database yang akan kita migrasikan. Jika user yang kita gunakan untuk login ke database MySQL memilihi privilege untuk mengakes lebih dari satu database, maka semua database tersebut akan di tampilkan. Kita dapat memilih satu atau lebih database untuk dimigrasikan dalam satu project.








Mapping tipe data

Langkah berikutnya adalah melakukan mapping tipe data. Pada dasarnya sql developer sudah melakukan mapping secara otomatis, tapi kita tetap dapat merubah default mapping tersebut.









Object object lain yang bisa diikut dalam migrasi

Jendela berikutnya kita menentukan object object yang ingin di translate. Table dan index pada dasarnya langsung akan di migrasikan. Tetapi kita dapat memilih object oject seperti constraint, function, procedure,  trigger dan views untuk ikut di migrasi ke target database atau tidak.








Pilih koneksi database target
Jendela  berikutnya adalah memilih koneksi untuk target database oracle yang sudah kita konfigure sebelumnya. Pada pilihan Mode migrasi, pilih Online karena database target dalam kondisi open.









Berikutnya adalah menentukan koneksi sumber dan target untuk move data. Pilih koneksi Mysql pada Source dan koneksi ke oracle database sebagai target. Pada pilihan Mode, pilih online untuk melakukan migrasi data pada saat kedua database dalam keadan open. Klik Finish untuk mengakhiri konfigurasi dan memulai proses migrasi.





Pada tahap ini kita tinggal duduk, menyenderkan punggung di sandaran kursi dan menunggu proses migrasi selesai. Sekian tutorial migrasi, monggo yang kalo ada yang ingin di tanyakan atau ingin  di komplein ataau ada cara lain yang jauh lebih Oke



































































Tidak ada komentar:

Posting Komentar