標籤:database 資訊 rom image into 跟蹤 int context host
---建立日誌表記錄使用者登入資訊
create table user_log
(
user_id VARCHAR2(30),
session_id NUMBER(10),
host_name VARCHAR2(30),
last_module VARCHAR2(30),
logon_day DATE,
logoff_day DATE,
elapsed_minutes NUMBER(10)
);
--建立使用者登入之後的觸發器統計使用者登陸時的資訊:
create or replace trigger logon_trigger
after logon on database
begin
insert into user_log
values(
user,
sys_context(‘userenv‘,‘sessionid‘),
sys_context(‘userenv‘,‘host‘),
null,
sysdate,
null,
null
);
end;
select * from user_log;
--建立使用者登出之前的觸發器統計使用者登出時的資訊:
create or replace trigger logoff_trigger
before logoff on database
begin
update user_log
set last_module =
(select module
from v$session
where sys_context(‘USERENV‘, ‘SESSIONID‘) = audsid)
where sys_context(‘USERENV‘, ‘SESSIONID‘) = session_id;
update user_log
set logoff_day = sysdate
where sys_context(‘USERENV‘, ‘SESSIONID‘) = session_id;
update user_log
set elapsed_minutes = round((logoff_day - logon_day) * 1440)
where sys_context(‘USERENV‘, ‘SESSIONID‘) = session_id;
end;
Oracle--建立TRIGGER實現跟蹤使用者登入資訊