|   
 
 | 
[技术文章] Oracle 11g关闭审计功能及删除日志方法 
| Oracle 11g推出了审计功能,但这个功能会针对很多操作都产生审计文件.aud,日积月累下来这些文件也很多,考虑到实际情况,为了节省资源、减少I/0操作,将审计功能关闭: 
 一 审计功能的参数控制
 audit_trail 参数的值可以设置为以下几种
 1. NONE:不开启
 2. DB:开启审计功能
 3. OS:审计记录写入一个操作系统文件。
 4. TRUE:与参数DB一样
 5. FALSE:不开启审计功能。
 这个参数是写道spfile里面的,需要重启数据库
 
 二 查看是否审计功能是否启动
 SQL> show parameter audit
 NAME                                 TYPE        VALUE
 ------------------------------------ ----------- ------------------------------
 audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
 audit_sys_operations                 boolean     FALSE
 audit_syslog_level                   string
 audit_trail                          string      NONE
 
 三 开启审计
 SQL> conn /as sysdba
 SQL> show parameter audit
 NAME                                 TYPE        VALUE
 ------------------------------------ ----------- ------------------------------
 audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
 audit_sys_operations                 boolean     FALSE
 audit_syslog_level                   string
 audit_trail                          string      NONE
 SQL> alter system set audit_sys_operations=TRUE scope=spfile;--审计管理用户(以sysdba/sysoper角色登陆)
 SQL> alter system set audit_trail=db,extended scope=spfile;
 重启实例
 SQL> show parameter audit
 NAME                                 TYPE        VALUE
 ------------------------------------ ----------- ------------------------------
 audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
 audit_sys_operations                 boolean     TRUE
 audit_syslog_level                   string
 audit_trail                          string      DB, EXTENDED
 (完成)
 
 四 关闭审计
 SQL> conn /as sysdba
 SQL> show parameter audit
 SQL> alter system set audit_trail = none scope=spfile;
 SQL> shutdown immediate;
 SQL> startup;
 
 五 删除审计日志
 当已形成很多日志时,可删除里面的记录,目前是直接删除,未对数据库造成影响。
 查询目前的日志信息:select * FROM SYS.AUD$;
 删除已有的审计信息:DELETE FROM SYS.AUD$;
 或者快速删除表信息:truncate table  SYS.AUD$;
 | 
 |