您的位置:首页 > 其它

捕捉尝试登陆失败的用户信息

2015-01-04 17:15 99 查看
捕捉尝试登陆失败的用户信息 2010-02-23 08:47:32

分类: Linux

最近一个应用的用户被锁,查了一下发现在profile里设置了100次尝试登陆的限制,为了定位具体尝试登陆的时间及ip等相关信息,需要写一个trigger进行捕捉,以下来自网上:

create or replace trigger logon_denied_to_alert

after servererror on database

declare

message varchar2(120);

IP varchar2(15);

v_os_user varchar2(80);

v_module varchar2(50);

v_action varchar2(50);

v_pid varchar2(10);

v_sid number;

begin

IF (ora_is_servererror(1017)) THEN

if sys_context('userenv', 'network_protocol') = 'tcp' then

IP := sys_context('userenv', 'ip_address');

else

select distinct sid into v_sid from sys.v_$mystat;

SELECT p.SPID

into v_pid

FROM V$PROCESS p, V$SESSION v

WHERE p.ADDR = v.PADDR

AND v.sid = v_sid;

end if;

v_os_user := sys_context('userenv', 'os_user');

dbms_application_info.READ_MODULE(v_module, v_action);

message := to_char(sysdate, 'Dy Mon dd HH24:MI:SS YYYY') ||

' logon denied from ' || nvl(IP, v_pid) || ' ' || v_os_user ||

' with ' || v_module || ' ' || v_action;

sys.dbms_system.ksdwrt(2, message);

end if;

end;

/

当有用户尝试登陆失败后,alert日志里记录了如下信息:

Mon Feb 22 03:50:13 2010 logon denied from 192.168.80.19 oracle with sqlplus@node1 (TNS V1-V3)

该trigger只是记录登陆失败的信息,正常成功登陆不会记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐