(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;