zoukankan      html  css  js  c++  java
  • Oracle--创建TRIGGER实现跟踪用户登录信息

    ---创建日志表记录用户登录信息
    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;

  • 相关阅读:
    C# 删除指定目录下的所有文件及文件夹
    C# 数组集合分页 Skip Take
    MongoDB模糊查询 工具
    C# skip 重试执行代码段
    C# 加载配置文件
    消息队列MSMQ的使用
    C#中const和readonly的区别
    JSP页面中的tab页
    使用jquery获取单选按钮radio的值
    JSP页面获取下来框select选中项的值和文本的方法
  • 原文地址:https://www.cnblogs.com/guipeng/p/6508777.html
Copyright © 2011-2022 走看看