LogMiner: Mencari Si Pembuat Kesalahan


Jika terjadi kesalahan di source code, kita bisa mncari tahu siapa yang melakukan perubahan pada baris yang error melalui annotate cvs. Demikian juga bila isi tabel di Oracle tiba-tiba berantakan, kita bisa mencari tahu user mana yang ‘nakal’ dengan menganalisa redo log file. Atau setidaknya kita bisa tahu hari apa dan jam berapa kerusakan itu terjadi.

Cara paling mudah untuk menganalisa redo log adalah dengan menggunakan LogMiner yang berupa PL/SQL API dan sejumlah views.

Pertama-tama, kita login sebagai SYS di SQL*Plus dan menjalankan query berikut untuk memulai memberitahu redolog file apa saja yang akan di-analisa:

  EXECUTE DBMS_LOGMNR.ADD_LOGFILE ( -
     LOGFILENAME => 'c:\oracle\product\10.1.0\db_Latihan\latihan\redo01.log', -
     OPTIONS => DBMS_LOGMNR.NEW);

Karena kita menganalisa database yang sedang online, dimana kita punya akses ke source database (mining database kita sama dengan source database), maka kita bisa menyuruh LogMiner untuk menggunakan data dictionary di source database:

  EXECUTE DBMS_LOGMNR.START_LOGMNR ( -
    OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

Setelah itu, kita bisa melakukan query ke V$LOGMNR_CONTENTS untuk melihat isi redo log file. Sebagai contoh, kita bisa melihat perubahan apa saja yang dilakukan oleh user SCOTT dengan menggunakan query berikut:

  SELECT USERNAME, SQL_REDO FROM V$LOGMNR_CONTENTS WHERE USERNAME = 'SCOTT';

Sayangnya, karena aku tidak pernah meng-archive redo log file, dan ukuran redo log aku juga kecil, maka aku hanya bisa melihat perubahan hingga sekitar satu jam yang lalu saja. SYS banyak melakukan query aneh2 yang memenuhi redo log file.

Setelah selesai melakukan analisa, kita dapat menutup session LogMiner dengan perintah berikut:

  EXECUTE DBMS_LOGMNR.END_LOGMNR;

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: