点击上方"蓝字"
关注我们,享更多干货!
# 前言 #
最近很多人咨询我Oracle的审计功能,下面我用一个非常清晰的过程给大家讲解一个相关案例。
我们都知道Oracle审计功能很强大,自身的审计功能分两种:
标准审计,基本审计数据库和数据库对象发生了什么操作。
精确审计,审计SQL级别、字段级别等。
当然Oracle也有自己的第三方审计产品——AVDF,感兴趣的朋友可以去了解。
以下以用户密码被修改作为审计案例。
开启审计
审计级别
alter system set audit_trail=os scope=spfile;
Note:
默认是DB级别,存放在System表空间。若想将审计记录存放在表空间,可以把AUD$表迁移至专门的表空间存放,避免后期庞大影响系统登录。Oracle官方是建议将审计记录存放在本地,当然也要定期清理。
审计sys的操作
alter system set audit_sys_operations=true scope=spfile;
Note:
审计sys用户、SYSDBA、SYSOPER、SYSASM之类的权限的操作。
查看审计日志存放目录
show parameter audit_file_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /oracle/app/oracle/admin/fordb
/adump
SQL>
重启数据库生效
shutdown immediate
startup
修改审计策略
查看
select * from dba_stmt_audit_opts;<