温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle怎样进行审计日志清理

发布时间:2021-11-30 11:15:31 来源:亿速云 阅读:544 作者:柒染 栏目:关系型数据库

本篇文章给大家分享的是有关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

通常我们新装好一个数据库中查询审计开关的时候,可能会发现它的设置为DB。(预装设置,如果为其他表示被认为设置过)

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

而这张表所在的表空间,正式oracle数据库最重要的SYSTEM表空间。

由于这个表空间非常特殊:如果此时它正好被设置为自动扩展(AUT=YES)的话:

SQL>select a.tablespace_name,a.bytes,a.autoextensible from dba_data_files a where a.tablespace_name='SYSTEM' TABLESPACE_NAME        BYTES              AUT
--------------------------------------------------------
SYSTEM 2147473648 YES

长此以往,SYSTEM表空间最终会因为过度肥胖把磁盘撑爆。

(反过来,如果SYSTEM表空间的autoextensible=NO,AUD$表就没地方写就会报错无法分配空间)

SO,有点数据库就会根据情况,将审计功能“关闭”:

1.设置审计参数关闭

SQL>alter system set audit_trail=none scope=spfile;

2.重启数据库

SQL>shutdown immediate;
SQL>startup;

这时候小伙伴以为高枕无忧了,其实,oracle早有准备,有一个叫强制审计的变态功能在等着你。

只要你敢

  • 用SYSDBA或者SYSOPER权限登录数据库

  • 敢startup

  • 敢shutdown

oracle就给你在$ORACLE_BASE/admin/$ORACLE_SID/adump 目录中记.aud的文件

所以,

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

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

*数据库的表为:sys.aud$

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

可通过SQL>show parameter audit 查询到)

是不是很变态?

所以这个目录长期不清理的话,会积压大量*.aud文件

长期大量不删除的话,会影响到操作系统inodes

所以,小伙伴们:

  • 如果为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文件。

注意:不要直接删除adump目录,否则,你会sqlplus不了数据库。

以上就是oracle怎样进行审计日志清理,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI