• Orcal创建触发器


    在工作,发现公共的一张表某个字段的数据一直被删除。但是系统庞大,短时间难以定位是哪里删除了这些数据。因此萌生了创建一个触发器【审计开销太大】,记录删除这张表的操作。遗憾的是Orcal 11无法使用ora_sql_txt记录操作的SQL语句。

    一、触发器语法

    -- 创建触发器
    create or replace trigger 触发器名
      before|after|instead of 触发时间
      on 触发对象 表|视图 (for each row)
      begin
        触发操作
      end;

    参考

    二、实例

    --1.创建删除记录表 监控用户删除某个表的操作
    --drop table ZT_DELETETABLEINFO;
    create table ZT_DELETETABLEINFO
    (
      operatoruser      VARCHAR2(20),
      machine      VARCHAR2(32),
      ip      VARCHAR2(32),
      operatortime   DATE,
      dmlsql    VARCHAR2(4000),
      tablename     VARCHAR2(256)
    );
    comment on table ZT_DELETETABLEINFO is '删除记录表';
    comment on column ZT_DELETETABLEINFO.operatoruser is '操作用户';
    comment on column ZT_DELETETABLEINFO.operatoruser is '机器';
    comment on column ZT_DELETETABLEINFO.ip is '操作IP';
    comment on column ZT_DELETETABLEINFO.operatortime  is '操作时间';
    comment on column ZT_DELETETABLEINFO.dmlsql is '执行的SQL语句';
    comment on column ZT_DELETETABLEINFO.tablename is '被删除的表';
    
    --2.创建触发器 监控 删除表记录
    --drop trigger ZT_DELETETABLEINFO_TRIGGER

    drop trigger ZT_DELETETABLEINFO_TRIGGER;
    create trigger ZT_DELETETABLEINFO_TRIGGER
      before delete on tablename
      for each row
      begin
        IF :old.cloumn= 'cloumn' THEN --这里加过滤条件
          insert into ZT_DELETETABLEINFO
          (operatoruser, machine, ip, operatortime, dmlsql,tablename)
        values
          (user,SYS_CONTEXT('USERENV', 'HOST'),sys_context('userenv', 'ip_address'),sysdate,'','tablename');
        END IF;
      end;

     
    -- 1.查询当前登录用户
    select user,ora_login_user from dual;
    -- 2.查询当前登录IP
    select SYS_CONTEXT('USERENV', 'IP_ADDRESS') as clientip from dual;
    -- 3.查询登录机器
    select SYS_CONTEXT('USERENV', 'HOST') as clientname  from dual;
  • 相关阅读:
    ios tablevie 圆角
    IOS window(窗口)、视图(view)frame的学习
    iOS 测试用代码
    自定义导航条UINavigationbar
    前端正则表达式书写以及常用的方法
    JavaScript中的类、原型、原型链、继承(转载)
    简单详细讲解js闭包(转载)
    前端中的事件循环eventloop机制(转载)
    CSS优化技巧,可缩短页面加载时间(转载)
    程序员如何快速提高编程能力?快来看大牛的方法(转)
  • 原文地址:https://www.cnblogs.com/zeussbook/p/14188989.html
Copyright © 2020-2023  润新知