oracle的系統事件觸發器:系統事件觸發器是指基於oracle系統事件(如logon和startup)所建立的觸發器。透過這種觸發器可以跟蹤系統或資料庫的變化。 create table jax_event_table(eventname varchar2(30),time date); createtrigger tr_startup after startup ondatabase begin insertinto jax_event_table values(ora_sysevent,sysdate); end; createtrigger tr_shutdown beforeshutdownondatabase begin insertinto jax_event_table values(ora_sysevent,sysdate); end; 在建立如上所示的兩個觸發器後,使用shutdown和startup關閉開啟資料庫會往表jax_event_table中記錄一條記錄,但 shutdown abort則不會觸發該觸發器,而startup nomount後使用alter database將資料庫更改為mount或者open都只會觸發一次。
1 SHUTDOWN 2008-3-20 14:29:47 2 STARTUP 2008-3-20 14:42:52 3 SHUTDOWN 2008-3-20 14:43:06 4 STARTUP 2008-3-20 14:45:34 登入和退出觸發器用來記載登入使用者名稱稱、時間和ip地址 createtable jax_log_table( username varchar2(20), log_time date, onoff varchar(6),address varchar2(30)); createtrigger tr_logon after logon ondatabase
oracle的系統事件觸發器:系統事件觸發器是指基於oracle系統事件(如logon和startup)所建立的觸發器。透過這種觸發器可以跟蹤系統或資料庫的變化。 create table jax_event_table(eventname varchar2(30),time date); createtrigger tr_startup after startup ondatabase begin insertinto jax_event_table values(ora_sysevent,sysdate); end; createtrigger tr_shutdown beforeshutdownondatabase begin insertinto jax_event_table values(ora_sysevent,sysdate); end; 在建立如上所示的兩個觸發器後,使用shutdown和startup關閉開啟資料庫會往表jax_event_table中記錄一條記錄,但 shutdown abort則不會觸發該觸發器,而startup nomount後使用alter database將資料庫更改為mount或者open都只會觸發一次。
1 SHUTDOWN 2008-3-20 14:29:47 2 STARTUP 2008-3-20 14:42:52 3 SHUTDOWN 2008-3-20 14:43:06 4 STARTUP 2008-3-20 14:45:34 登入和退出觸發器用來記載登入使用者名稱稱、時間和ip地址 createtable jax_log_table( username varchar2(20), log_time date, onoff varchar(6),address varchar2(30)); createtrigger tr_logon after logon ondatabase