一、审计是否开启
show parameter audit;
1、对于参数audit_sys_operations
设置为true那么sys用户的操作也会被审计,但此值默认为false,此参数控制以sysdba和sysoper权限登陆的用户以及sys用户本身的登陆,审计记录一定会写在操作系统文件中(无论AUDIT_TRAIL参数如何设置)。
2、对于参数audit_trail
none --不开启
os --启用数据库审计,并将数据库审计记录定向到操作系统文件,存储目录为AUDIT_FILE_DEST
db --开启审计功能 启用数据库审计,并将数据库所有审计记录定向到数据库的SYS.AUD$表
db, extended --extened之前的空格必须有,启用数据库审计,并将数据库所有审计记录定向到数据库的SYS.AUD$表,另外填充SYS.AUD$表的SQLBIND列和SQLTEXT列
3、对于参数audit_file_dest
该值为显示当前审计日志的路径
二、审计如何开启
1、需要使用sysdba用户登录,audit_trail默认为DB时不做修改,如何为none则开始第一步
alter system set audit_sys_operations=TRUE scope=spfile;
2、将数据库重启,查看修改内容是否开启审计功能
shutdown immediate;
startup mount;
alter database open;

3、一般来说不建议关闭审计功能,如果需要关闭审计模块
alter system set audit_trail=none;三、审计策略
1、比如我要监测某个用户的行为

audit all by scott by access;该命令会监视用户scott的所有行为,并记录到审计日志中。其中,all表示监视所有操作,by scott表示监视用户scott的操作,by access表示监视所有访问操作(包括SELECT、INSERT、UPDATE、DELETE等)。你可以使用以下命令查看审计结果:
select username 用户,action_name 行为,timestamp 时间
from dba_audit_trail
where username='SCOTT';
2、针对Oracle数据库监视所有登录不成功的用户。这个命令将监视所有登录不成功的用户,并将审计跟踪结果存储在数据库中的SYS.AUD$表中。
AUDIT FAILED LOGIN;你可以使用以下命令查看审计结果:这将显示所有登录不成功的用户的审计结果。
SELECT * FROM dba_audit_trail WHERE action_name = 'LOGON' AND returncode != 0;3、其他审计选项
by access 每一个被审计的操作都会生成一条audit trail
by session 一个会话里面同类型的操作只会生成一条audit trail,默认为by session
whenever successful 操作成功(dba_audit_trail中returncode字段为0) 才审计
whenever not successful 反之。省略该子句的话,不管操作成功与否都会审计
4、审计视图和对应表
- SYS.AUD$ 审计功能的底层视图,如果需要对数据进行删除,只需要对aud$视图进行删除既可,其他视图里的数据都是由aud$所得.
- DBA_AUDIT_EXISTS 列出audit not exists和audit exists产生的审计跟踪,我们默认的都是audit exists.
- DBA_AUDIT_TRAIL 可以在里面查处所有审计所跟踪的信息.
- DBA_AUDIT_OBJECT 可以查询所有对象跟踪信息.(例如,对grant,revoke等不记录),信息完全包含于dba_audit_trail
- DBA_AUDIT_SESSION 所得到的数据都是有关logon或者logoff的信息.
- DBA_AUDIT_STATEMENT 列出grant ,revoke ,audit ,noaudit ,alter system语句的审计跟踪信息.
- DBA_PRIV_AUDIT_OPTS 通过系统和由用户审计的当前系统特权
- DBA_OBJ_AUDIT_OPTS 可以查询到所有用户所有对象的设计选项
- ALL_DEF_AUDIT_OPTS
- AUDIT_ACTIONS 可以查询出在aud$等视图中actions列的含义
- SYSTEM_PRIVILEGE_MAP 可以查询出aud$等视图中priv$used列的含义(注意前面加'-')
- noaudit all on t_test; 撤销审计
- truncate table aud$; 清空审计表内容