Trigger: Mencatat History Startup & shutdown DB

Kita bisa mengetahui kapan database shutdown dan kapan database startup, biasanya dengan melihat di alert log. Lebih detail tentang alert log saya bahas di Maintenance Log dan Trace File. Namun kita perlu usaha ekstra untuk membaca alert log. Untuk mempermudahnya, kita bisa membuat trigger yang mencatat setiap aktivitas (startup dan shutdown) ke tabel history.

Catatan: Untuk melakukan ini, gunakanan user yang punya privilege DBA (misalnya SYS atau SYSTEM).

Langkah pertama, siapkan tabel untuk mencatat history startup dan shutdown.

create table tbl_database_activity
(waktu		DATE,keterangan	varchar2(8))
tablespace users;

Selanjutnya buat Trigger yang dijalankan sebelum database shutdown. Penting: Shutdown abort tidak akan dicatat oleh trigger ini.

CREATE OR REPLACE TRIGGER proc_database_shutdown
BEFORE SHUTDOWN ON DATABASE
BEGIN
insert into tbl_database_activity
values(sysdate,'SHUTDOWN');
END;
/

Yang berikut ini trigger sesudah database startup

CREATE OR REPLACE TRIGGER proc_database_startup
AFTER STARTUP ON DATABASE
BEGIN
insert into tbl_database_activity
values(sysdate,'STARTUP');
END;
/

Untuk melihat history startup dan shutdown, tinggal query ke tabel tbl_database_activity

SQL> select to_char(waktu,'dd-Mon-yy hh24:mi:ss'),
keterangan from system.tbl_database_activity
order by waktu;

TO_CHAR(WAKTU,'DD- KETERANG
------------------ --------
07-Aug-08 09:43:38 SHUTDOWN
07-Aug-08 09:44:44 STARTUP
07-Aug-08 10:05:24 STARTUP

Dalam contoh di atas, lihat hasil di baris ketiga, kok STARTUP padahal sebelumnya sudah STARTUP. Itu artinya, pastinya sebelum ini dilakukan shutdown abort atau database mati karena accident (misal listrik mati atau hardware rusak).

This entry was posted in Administration, SQL and PL/SQL and tagged , , , , , . Bookmark the permalink.

3 Responses to Trigger: Mencatat History Startup & shutdown DB

  1. Firman says:

    Nice article =),,

    Klo misalnya database mati mendadak (listrik mati), apakah di alert log juga akan tercatat?

    Terimakasih,

    Firman

  2. INA-098984 says:

    ilmunya sangat bermanfaat..
    serasa mndapat pncerahan baru,
    GODBLESS U Mr.Rohmad..

  3. irwan says:

    mau tanya bagaimana cara membuat 2 datablok pd 1 modul,,misal blok pertama itu berisi tabel yang mana berisi data,dan tempat menyimpan data stelah di insert dan di update, sedangkan pd blok kedua merupakan tempat memasukkan data apakh update ato insert, serta memiliki tombol mis; save, cancel dan exit, tentunya bgmna membuat tombol tersebut, shingga ktika ditekan,mis; menekan tombol save,mka akan muncul pesan “simpan data ini”? atau “update data berhasil” bisa jg muncul data xxx (xxx) berhasil disimpan”…
    terimakasih jika berkenan dijawab.

Leave a Reply

Your email address will not be published. Required fields are marked *