重庆思庄oracle技术分享-oracle 审计日志清理

0 阅读1分钟

进入审计日志目录:

cd ORACLE_BASE/admin/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

确认当前审计状态:

SQL>show parameter audit_trail

Name       TYPE     VALUE

-----------------------------------

audit_trail   string     DB -- 表示已启用审计

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

SQL>select owner,table_name,tablespace_name from dba_tables a where a.table_name ='AUD$'

OWNER TABLE_NAME TABLESPACE_NAME

--------------------------------------------------------------

SYS AUD$ SYSTEM

而这张表默认属于system表空间

关闭审计功能

修改AUDIT_TRAIL参数为NONE(需重启生效):

ALTER SYSTEM SET AUDIT_TRAIL='NONE' SCOPE=SPFILE;

关键参数说明:

SCOPE=SPFILE:确保参数修改持久化到参数文件

NONE:完全禁用审计功能,停止生成所有审计日志

重启数据库生效

执行以下命令完成重启:

SHUTDOWN IMMEDIATE;

STARTUP;

验证关闭结果

再次检查参数值确认审计已关闭:

SHOW PARAMETER AUDIT_TRAIL;

NAME TYPE VALUE

-------------------- ----------- -----

audit_trail string NONE

历史日志清理

关闭审计前可清理旧日志释放空间:

TRUNCATE TABLE SYS.AUD$; -- 清理标准审计日志