Skip to content

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



Silahkan baca yang berikut ini juga :

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*