【发布时间】:2019-10-29 00:22:52
【问题描述】:
我有一个表 'x' 我想查看所有以前的用户名(开发者)的 DML 操作,例如谁更新了记录、谁插入了记录以及谁删除了记录。
【问题讨论】:
标签: database oracle oracle11g plsqldeveloper
我有一个表 'x' 我想查看所有以前的用户名(开发者)的 DML 操作,例如谁更新了记录、谁插入了记录以及谁删除了记录。
【问题讨论】:
标签: database oracle oracle11g plsqldeveloper
你有两个选择
1) 在您想要的表上创建触发器,并写入您创建的审计表
2) 对所有 DML 操作所需的表进行审计 例如:AUDIT (DML) ON TABLE;
【讨论】:
这不仅仅是简单的查询。为此,必须设置数据库。
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;
等待入侵者
【讨论】: