1、建立例程启动和关闭触发器
CREATE TABLE event_table(event varchar2(30),time date);
例程启动触发器只能使用after关键字,例程关闭只能使用before关键字
CREATE OR REPLACE TRIGGER tr_startup
AFTER STARTUP ON DATABASE
BEGIN
INSERT INTO event_table VALUES(ora_sysevent,SYSDATE);
END;
CREATE OR REPLACE TRIGGER tr_shutdown
BEFORE SHUTDOWN ON DATABASE
BEGIN
INSERT INTO event_table VALUES(ora_sysevent,SYSDATE);
END;
2、建立登陆和退出触发器
CREATE TABLE log_table
(
username VARCHAR2(20),
logon_time DATE,
logoff_time DATE,
address VARCHAR2(20)
)
CREATE OR REPLACE TRIGGER tr_logon
AFTER LOGON ON DATABASE
BEGIN
INSERT INTO log_table(username,logon_time,address)
VALUES(ora_login_user,SYSDATE,ora_client_ip_address);
END;
CREATE OR REPLACE TRIGGER tr_logoff
BEFORE LOGOFF ON DATABASE
BEGIN
INSERT INTO log_table(username,logoff_time,address)
VALUES(ora_login_user,SYSDATE,ora_client_ip_address);
END;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16566331/viewspace-670115/
,如需转载,请注明出处,否则将追究法律责任。