多语言展示
当前在线:615今日阅读:126今日分享:42

oracle 12c 审计用户操作

oracle 12c(12.2.0.1) 审计用户操作行为,在工作中遇到一个情况,数据中心库有一张表数据每天被按天删除,需要找一下是谁删除的。从v$sql,v$sqlarea 中都没找到有用信息,考虑后决定通过审计的方式来查找是谁删了数据,配置好审计后第二天查看审计日志,配置检查方法如下:
方法/步骤
1

创建所有对象审计策略(12c 默认开启混合模式审计)CREATE AUDIT POLICY all_actions_pol ACTIONS ALL;

2

为特定用户(test)启用审计策略AUDIT POLICY all_actions_pol by test;

3

查询审计策略是否作用于用户

4

验证审计是否生效测试过程:       1、新建会话使用test用户登录;       2、创建表test;       3、插入数据;       4、查询表数据;       5、更新表数据;       6、删除test表数据;查询语句:select a.event_timestamp '执行时间',a.os_username '操作系统用户',a.userhost '主机名',a.terminal '终端',a.instance_id '实例id',a.dbid '数据库id',a.dbusername '数据库用户',a.client_program_name '客户端名称',a.action_name '语句类型',a.sql_text 'sql 语句' from UNIFIED_AUDIT_TRAIL a where a.sql_text like '%' order by a.event_timestamp desc;测试结果:审计日志中记录了完整的操作过程。

注意事项

12c 默认审计是混合模式(传统审计和统一审计),无需在开启。

推荐信息