系统事件触发器

时间:2021-08-15 05:06:19

(1)常用事件属性函数
系统事件触发器

系统事件触发器

(2) 建立例程启动触发器—例程关闭触发器 数据库启动和关闭

/*
例程启动触发器,例程关闭触发器 只有特权用户才可以建立,
例程启动触发器–只能使用after关键字
例程关闭触发器 —只能使用before关键字
*/

/建立事件表/
create table event_table(
event varchar2(30),
time date
);

create or replace trigger tri_startup
after startup
on database
begin
insert into event_table values(ora_sysevent,sysdate);
end;

create or replace trigger tri_shutdown
before shutdown
on database
begin
insert into event_table values(ora_sysevent,sysdate);
end;

select * from event_table;

(3)建立用户登陆和退出触发器
/*
用户登陆和退出触发器 只有特权用户才可以建立,
用户登陆触发器–只能使用after关键字
退出触发器 —只能使用before关键字
*/

create table log_table(
username varchar2(50),
logon_time date,
logoff_time date,
address varchar2(50)
);

create or replace trigger tri_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 tri_logoff
before LOGOFF
on database
begin
insert into log_table(username,logoff_time,address)
values(ora_login_user,sysdate,ora_client_ip_address);
end;

select * from log_table;
系统事件触发器