【问题标题】:Query to find all DML operations performed by all users(developers) on a table查询以查找所有用户(开发人员)对表执行的所有 DML 操作
【发布时间】:2019-10-29 00:22:52
【问题描述】:

我有一个表 'x' 我想查看所有以前的用户名(开发者)的 DML 操作,例如谁更新了记录、谁插入了记录以及谁删除了记录。

【问题讨论】:

    标签: database oracle oracle11g plsqldeveloper


    【解决方案1】:

    你有两个选择

    1) 在您想要的表上创建触发器,并写入您创建的审计表

    2) 对所有 DML 操作所需的表进行审计 例如:AUDIT (DML) ON TABLE;

    audit parameters doc

    【讨论】:

      【解决方案2】:

      这不仅仅是简单的查询。为此,必须设置数据库。

      1) 检查 audit_trail 设置。在 sqlplus 中执行 show parameter audit
      如果 audi_trail = os, xml 审计数据存储在操作系统级别的目录audit_file_dest
      如果audi_trail = db,则审计数据存储在DBA_AUDIT_TRAIL

      2) 检查您的表是否经过审核。

      select * from USER_OBJ_AUDIT_OPTS where object_name ='TABLE_NAME';

      如果此处存在表,请查询 DBA_AUDIT_TRAIL 或 os 文件。

      如果不执行这个 AUDIT SELECT,INSERT,DELETE,UPDATE on TABLE_NAME;

      等待入侵者

      【讨论】:

        猜你喜欢
        • 2021-03-21
        • 1970-01-01
        • 1970-01-01
        • 2011-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-11
        • 1970-01-01
        相关资源
        最近更新 更多