zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    微信小程序登录(包括获取不到unionid的情况)
    ionic生成签名的APK方法总结
    iframe的简单使用方法
    常见的浏览器端的存储技术:cookie
    AJAX 过程总结
    react相关知识总结2
    正则表达式相关知识点
    vue相关知识汇总
    react相关知识汇总
    Vue-Router核心实现原理
  • 原文地址:https://www.cnblogs.com/zeussbook/p/14188989.html
Copyright © 2011-2022 走看看