Kamis, 09 Juni 2016

Menjadwalkan Aktivitas di MySql

Pendahuluan


Kadang database MySql yang kita miliki memerlukan perawatan secara berkala, baik yang harus dilakukan dalam interval jam, hari, minggu, bulan, maupun tahun. 

Perawatan berkala yang biasa dilakukan misalnya, reorganisasi index, memindahkan data pada satu tabel ke tabel lainnya, export atau import  data dan masih banyak lagi.

Perawatan berkala tadi dapat dilakukan secara otomatis dengan membuat event dan schedule di mysql, berikut ini penjelasannya.

Konsep

  1. Mysql memiliki komponen scheduler yang biasanya mati secara default.
  2. Proses yang harus dijadwalkan kadang cukup kompleks, sehingga tentunya proses tersebut akan lebih mudah dibuat dalam suatu  prosedur, sehingga tentunya anda perlu tahu bagaimana cara membuat prosedur di MySql
  3. Suatu event / kegiatan perlu dibuat (event adalah sesuatu yang harus dilakukan, yang biasanya kita rencanankan untuk dilakukan dalam suatu interval waktu tertentu)
  4. Suatu event dapat kita schedule-kan / jadwalkan untuk berjalan pada saat tertentu, jika anda perhatikan pada point 3 maka yang dimaksud dengan schedule adalah kalimat "interval waktu tertentu"

Praktek

  1. Akifkan event scheduler dengan mengetikkan perintah berikut

  2. set global event_scheduler = on
  3. Periksa bahwa event scheduler telah aktif

  4. show processlist
  5. Buat prosedur yang berisi proses yang sesuai keinginan anda

  6. create procedure kirim()
    begin
    select now(),now(),now(),'23:59:59','00:00:00',notelp,jenis_keperluan,id_jadwal
    from sengketa.jadwal, sengketa.anggota 
    where sengketa.jadwal.id_anggota=sengketa.anggota.id_anggota
    insert into sms.outbox;
    end\

  7. Buat event dan schedule-kan untuk menjalankan store procedure yang telah dibuat

  8. create event myevent     on schedule every 1 hour     do     call coba kirim

  9. Pastikan event sudah terdaftar dan silahkan pantau aktivitasnya

  10. show events

Selamat mencoba

Kamis, 10 September 2015

Replikasi MySql

Pendahuluan

Replikasi adalah konsep menduplikasi database ke komputer lain dengan beberapa alasan seperti berikut :
  • mengamankan database dari kerusakan komputer karena terjadinya bencana
  • mendekatkan database ke pengguna pada institusi dengan banyak kantor cabang
  • untuk analisa data (dilakukan di slave) agar master tidak terbebani

Konsep

Replikasi pada mysql dilakukan dengan melakukan setup pada database asal (selanjutnya disebut sebagai database master) dan setup pada database tujuan (selanjutnya disebut sebagai database slave).
Berikut ini langkah-langkahnya :

master

  1. Konfigurasikan master agar dapat diakses melalui jaringan, aktifkan binary log dan set server id
  2. Jika database dan tabel belum ada, maka buat database dan tabelnya. Jika database dan tabel sudah ada maka lock dan backup tabel tersebut.
  3. buat user untuk replikasi yang memiliki hak akses ke database dan tabel yang akan direplikasi.

slave

  1. konfigurasikan slave, set server-id berbeda dengan master
  2. buat database yang sama dengan di master, atau restore database dari backup master
  3. aktifkan service replikasi

Praktek

Pada praktek replikasi mysql ini, sudah disiapkan 2 server mysql namun berada di komputer yang sama, supaya keduanya dapat berjalan server mysql master diset pada port 3307 dan server mysql slave diset pada port 3308

master

tambahkan konfigurasi my.ini pada section [mysqld] seperti berikut, lalu hidupkan server :


[mysqld]
port= 3307
log-bin=mysql-bin
server-id= 1

berikut ini adalah data awal pada master











buat pengguna untuk replikasi






kunci tabel dan catat nomer urut log-nya









export database yang ingin direplikasi





slave

tambahkan konfigurasi my.ini pada section [mysqld] seperti berikut, lalu hidupkan server :


[mysqld]

port= 3308

server-id= 2


import database ke slave

jalankan service slave












periksa status salve unutk memastikan slave telah berjalan










set up selesai

jalankan perintah berikut di master

unlock tables;

silahkan lakukan peruahan data pada master dan periksa perubahan yang terjadi di slave

semoga bermanfaat


Jumat, 31 Juli 2015

Memperbaiki oracle enterprise manager yang rusak

Oracle Enterprise Manager (OEM) biasanya tidak dapat dihidupkan ketika terjadi perubahan nama host komputer atau ketika terjadi perubahan alamat IP.

Kerusakan seperti ini tidak dapat diperbaiki dengan mudah dengan hanya melakukan perubahan konfigurasi, karena konfigurasi yang harus diubah cukup banyak.

Cara termudah untuk memperbaiki OEM tidak dapat start adalah dengan menghapus OEM lalu meng-installnya kembali.

Hal yang dilakukan dalam proses uninstall dan install OEM sebenarnya cukup banyak, mulai dari pembuatan struktur direktori OEM hingga penghapusan dan pembuatan ulang schema dan struktur tabel di dalam database oracle untuk menyimpan data operasional OEM.

Beruntungnya kita tidak perlu melakukan hal kompleks tersebut, karena oracle telah menyediakan tools untuk uninstall dan install kembali OEM.

Untuk uninstall OEM kita dapat menjalankan perintah

emca -deconfig dbcontrol db -repos drop

Lalu, untuk install kembali dapat menjalankan perintah

emca -config dbcontrol db -repos create

Saat menjalankan perintah diatas, bisa jadi aplikasi emca meminta nilai oracle_unqname dari environment variable, untuk itu kita bisa menjalankan perintah

set oracle_unqname=nama_service_oracle

Nama service oracle dapat anda temukan di direktori oradata (default-nya biasanya orcl).

Jika instalasi sukses dan anda tidak dapat mengaksesnya melalui browser, periksa informasi error pada browser anda, jika terkait dengan security berarti browser anda telah menggunakan enkripsi dengan kunci enkripsi yang lebih panjang daripada kunci enkripsi yang disediakan oleh web server OEM (oracle agak ketinggalan teknologi dalam hal security OEM-nya). Cara termudah yang saya lakukan agar tetap dapat menggunakan OEM adalah dengan mematikan fitur enkripsinya dengan menjalankan perintah berikut

emctl unsecure dbconsole

Solusi diatas tentu tidak baik jika anda menggunakan OEM dalam lingkungan production. Untuk solusi yang lebih baik, anda dapat mengubah key server anda dengan key yang lebih panjang dengan memanfaatkan tools open ssl.

Semoga bermanfaat..