Oracle 审计文件

Oracle审计功能:

     Oracle11g推出了审计功能,但这个功能会针对很多操作都产生审计文件.aud,日积月累下来这些文件也很多,
默认情况下,系统为了节省资源,减少I/0操作,其审计功能是关闭的

一、审计功能关闭


1、查看审计功能是否开启?
su – oracle
sqlplus “/as sysdba”
SQL> show parameter audit_trail

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      DB
说明:VALUE值为DB,表面审计功能为开启的状态

 audit_trail=DB,代表的是,oracle将把每次审计跟踪记录在数据库的一张叫做AUD$的表中。

 audit_trail=os , oracle将把每次审计跟踪记录在os文件系统中方便调取

2、关闭oracle的审计功能
SQL> alter system set audit_trail=FALSE scope=spfile;
System altered.

3、重启数据库
SQL> shutdown immediate;
SQL> startup;

 

4、验证审计是否已经被关闭
SQL> show parameter audit_trail

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      FALSE
说明:VALUE值为FALSE,表面审计功能为关闭的状态

 

oracle 审计日志清理

--进入审计日志目录:

cd $ORACLE_BASE/admin/$ORACLE_SID/adump

--删除3个月前的审计文件:

find ./ -type f -name "*.aud" -mtime +91|xargs rm -f

--一次清空所有审计文件

find ./ -type f -name "*.aud"|xargs rm-f

find ./ -mtime +7 -name "*.aud" -type f –delete

 

强制审计的变态功能:

1.用sysdba或者sysoper权限登陆数据库

2.startup

3.shutdown

这几个操作都会记录在$ORACLE_BASE/admin/$ORACLE_SID/adump 目录中记录.aud的文件.

所以,开启了DB功能,会同时将审计日志记录在AUD$表中和操作系统aud文件中.

         设置为NONE,仍然会毫无办法的将记录在操作系统aud文件中.

 数据库的表为 sys.aud$

 操作系统目录为:$ORACLE_BASE/admin/实例名/adump

 可通过 >show parameter audit查询到

所以,小伙伴们:

  • 如果为DB,记得定期清空aud$表
SQL>truncate table sys.aud$;
  • 如果你不想用DB功能,可以设置关闭
SQL>alter system set audit_trail=none scope=spfile;

注意,需要重启数据库

SQL>shutdown immediate;
SQL>startup;
  • 如果为NONE,记得清空aud文件或者配置crontab定时任务定时清空aud文件。

 

posted @ 2017-11-15 11:04  高伟-林州  阅读(2913)  评论(0编辑  收藏  举报