Oracle用户登录信息的统计
Oracle用户登录信息的统计
1.创建存储Oracle用户登录信息的表:
create table stats$user_log
(
user_id VARCHAR2(30),
session_id NUMBER(10),
host_name VARCHAR2(30),
last_module VARCHAR2(30),
logon_day DATE,
logon_time VARCHAR2(15),
logoff_day DATE,
logoff_time VARCHAR2(10),
elapsed_minutes NUMBER(10)
)
2.创建用户登录之后的触发器统计用户登陆时的信息:
create or replace trigger logon_trigger
after logon on database
begin
insert into stats$user_log
values(user,
sys_context('userenv','sessionid'),
sys_context('userenv','host'),
null,
sysdate,
to_char(sysdate,'hh24:mi:ss'),
null,
null,
null
);
end;
3.创建用户登出之前的触发器统计用户登出时的信息:
create or replace trigger logoff_trigger
before logoff on database
begin
update stats$user_log
set last_module =
(select module
from v$session
where sys_context('USERENV', 'SESSIONID') = audsid)
where sys_context('USERENV', 'SESSIONID') = session_id;
update stats$user_log
set logoff_day = sysdate
where sys_context('USERENV', 'SESSIONID') = session_id;
update stats$user_log
set logoff_time = to_char(sysdate, 'hh24:mi:ss')
where sys_context('USERENV', 'SESSIONID') = session_id;
update stats$user_log
set elapsed_minutes = round((logoff_day - logon_day) * 1440)
where sys_context('USERENV', 'SESSIONID') = session_id;
end;
4.查看用户登入登出信息:
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 05-15奇安信:数据安全问题是医疗卫生行业数字化
- 05-15腾讯宣布混元文生图大模型开源
- 05-15网易云音乐与韩国知名娱乐公司Kakao达成战略
- 05-15阿联酋宣告正式开启“5G-A全国商用”计划,
- 05-15二十年未遇的强烈地磁暴来袭