xifenfei 发表于 2018-7-12 12:17:44

触发器找出来密码错误信息

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_modulevarchar2(50);
v_actionvarchar2(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;
/

页: [1]
查看完整版本: 触发器找出来密码错误信息