`
MicroJoey
  • 浏览: 87804 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通过Trigger监控Logon和Logoff

阅读更多
1,创建审计信息的Table
create table login_log
(
    session_id int not null,
    SID        INT,
    login_on_time  date,
    login_off_time  date,
    user_in_db    varchar2(100),
    machine    varchar2(100),
    os_user     varchar2(100),
    ip_address varchar2(20),
    run_program varchar2(100)
);


2,创建登陆审计的Trigger
create or replace trigger login_on_info
after logon on database
Begin
    insert into login_log(session_id,SID,login_on_time,login_off_time,user_in_db,machine,os_user,ip_address,run_program)
    select AUDSID,SID,sysdate,null,sys.login_user,machine,a.OSUSER,SYS_CONTEXT('USERENV','IP_ADDRESS'),NVL(program,MODULE)
    from v$session a where AUDSID = USERENV('SESSIONID');
END;


3,创建Logoff的Trigger

create or replace trigger login_off_info
before logoff on database
Begin
        update login_log set  login_off_time = sysdate
        where session_id = USERENV('SESSIONID');

exception
    when others then
            null;
END;


4,可以查询审计信息
SELECT * FROM login_log;



Note:
1)需要用sys用户来创建

如不用sys用户,会报如下Error:
Thu Apr  7 14:58:00 2011
Errors in file /opt/oracle/app/oracle/admin/bks/bdump/bks_ora_7456.trc:
ORA-04098: trigger 'SYS.LOGIN_ON_INFO' is invalid and failed re-validation
分享到:
评论

相关推荐

    PLSQL编程(触发器).docx

    5. **系统触发器**:除了DML触发器,还有系统触发器,如`logon_trigger`和`logoff_trigger`,它们在用户登录和登出数据库时触发。`logon_trigger`在用户成功登录后插入一条记录到`log_event`表,记录登录时间和...

    oracle安全审计之登录登出、ddl操作记录触发器

    BEFORE LOGOFF ON DATABASE BEGIN INSERT INTO audit_log (event_time, user_name) VALUES (SYSDATE, USER); END; / ``` 接下来,我们讨论DDL操作记录触发器。DDL操作包括创建(CREATE)、删除(DROP)、修改...

    oracle_基本的几种触发器

    BEFORE | AFTER STARTUP | SHUTDOWN | LOGON | LOGOFF ON DATABASE BEGIN -- 在这里编写触发器的动作 END; ``` 例如,为了记录数据库关闭的时间,可以创建以下触发器: ```sql CREATE OR REPLACE TRIGGER db_...

    Oracle8触发器系统事件的应用.pdf

    此外,Oracle8还支持系统事件,如数据库启动(STARTUP)、关闭(SHUTDOWN)和错误消息,以及用户事件,如登录(LOGON)和登出(LOGOFF)。 系统事件的属性提供了丰富的信息,例如操作对象的名称、所有者、开始时间...

    利用Oarcle事件触发器提高“军卫一号”系统的安全性.pdf

    3) LOGOFF:用户注销前; 4) STARTUP:数据库启动后; 5) SHUTDOWN:数据库关闭时。 通过创建和应用这些事件触发器,我们可以实现对用户活动的自定义审计,从而提升系统的安全性。创建事件触发器需要拥有ADMINISTER...

Global site tag (gtag.js) - Google Analytics