查询以查找表上所有用户(开发人员)执行的所有DML操作

时间:2019-06-14 11:04:54

标签: database oracle oracle11g plsqldeveloper

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

2 个答案:

答案 0 :(得分:1)

您有两个选择

1)在所需的表上创建一个触发器,并写入已创建的审计表

2)审核所有DML操作所需的表   例如:桌上的审计(DML);

audit parameters doc

答案 1 :(得分:1)

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

1)检查audit_trail设置。在sqlplus中执行 show parameter audit
如果audi_trail = os,则xml审计数据存储在OS级别的目录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;

等待入侵者