-- 以sys身份登录数据库创建以下触发器create or replace trigger sys.logoff_trig before logoff on database declare logoff_sid pls_integer; logoff_time date := sysdate; v_ip_addr varchar2(30); v_machine varchar2(100); begin select sid into logoff_sid from v$mystat where rownum<2;
select sys_context('userenv','ip_address') into v_ip_addr from dual;--取得ip insert into system.login_user_history(logon_date ,username,machince_name ,ip_addr,term,prog) select sysdate,login_user,machine,v_ip_addr,terminal,program from v$session where sid=logoff_sid;
before logoff on database
declare
logoff_sid pls_integer;
logoff_time date := sysdate;
v_ip_addr varchar2(30);
v_machine varchar2(100);
begin
select sid
into logoff_sid
from v$mystat
where rownum<2;
select sys_context('userenv','ip_address') into v_ip_addr from dual;--取得ip
insert into system.login_user_history(logon_date ,username,machince_name ,ip_addr,term,prog)
select sysdate,login_user,machine,v_ip_addr,terminal,program
from v$session
where sid=logoff_sid;
end;
/