2023年8月1日发(作者:)
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-ffind ./ -mtime +7 -name "*.aud" -type f –delete通常我们新装好⼀个数据库中查询审计开关的时候,可能会发现它的设置为DB。(预装设置,如果为其他表⽰被认为设置过)SQL>show parameter audit_trail
Name TYPE VALUE
-----------------------------------
audit_trail string DBaudit_trail=DB,代表的是,oracle将把每次审计跟踪记录在数据库的⼀张叫做AUD$的表中。SQL>select owner,table_name,tablespace_name from dba_tables a where _name ='AUD$'OWNER TABLE_NAME TABLESPACE_NAME--------------------------------------------------------------SYS AUD$ SYSTEM⽽这张表所在的表空间,正式oracle数据库最重要的SYSTEM表空间。
由于这个表空间⾮常特殊:如果此时它正好被设置为⾃动扩展(AUT=YES)的话:SQL>select pace_name,,tensible from dba_data_files a where pace_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敢shutdownoracle就给你在$ORACLE_BASE/admin/$ORACLE_SID/adump ⽬录中记.aud的⽂件所以,开了DB功能,会同时将审计⽇志记在AUD$表中和操作系统aud⽂件中。设置为NONE,仍然会⽽且毫⽆其他办法的将记录在操作系统aud⽂件中。*数据库的表为:$*操作系统⽬录为:$ORACLE_BASE/admin/实例名/adump/可通过SQL>show parameter audit 查询到)
是不是很变态?所以这个⽬录长期不清理的话,会积压⼤量*.aud⽂件长期⼤量不删除的话,会影响到操作系统inodes
所以,⼩伙伴们:如果为DB,记得定期清空aud$表SQL>truncate table $;如果你不想⽤DB功能,可以设置关闭SQL>alter system set audit_trail=none scope=spfile;注意,需要重启数据库SQL>shutdown immediate;SQL>startup;如果为NONE,记得清空aud⽂件或者配置crontab定时任务定时清空aud⽂件。注意:不要直接删除adump⽬录,否则,你会sqlplus不了数据库。
2023年8月1日发(作者:)
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-ffind ./ -mtime +7 -name "*.aud" -type f –delete通常我们新装好⼀个数据库中查询审计开关的时候,可能会发现它的设置为DB。(预装设置,如果为其他表⽰被认为设置过)SQL>show parameter audit_trail
Name TYPE VALUE
-----------------------------------
audit_trail string DBaudit_trail=DB,代表的是,oracle将把每次审计跟踪记录在数据库的⼀张叫做AUD$的表中。SQL>select owner,table_name,tablespace_name from dba_tables a where _name ='AUD$'OWNER TABLE_NAME TABLESPACE_NAME--------------------------------------------------------------SYS AUD$ SYSTEM⽽这张表所在的表空间,正式oracle数据库最重要的SYSTEM表空间。
由于这个表空间⾮常特殊:如果此时它正好被设置为⾃动扩展(AUT=YES)的话:SQL>select pace_name,,tensible from dba_data_files a where pace_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敢shutdownoracle就给你在$ORACLE_BASE/admin/$ORACLE_SID/adump ⽬录中记.aud的⽂件所以,开了DB功能,会同时将审计⽇志记在AUD$表中和操作系统aud⽂件中。设置为NONE,仍然会⽽且毫⽆其他办法的将记录在操作系统aud⽂件中。*数据库的表为:$*操作系统⽬录为:$ORACLE_BASE/admin/实例名/adump/可通过SQL>show parameter audit 查询到)
是不是很变态?所以这个⽬录长期不清理的话,会积压⼤量*.aud⽂件长期⼤量不删除的话,会影响到操作系统inodes
所以,⼩伙伴们:如果为DB,记得定期清空aud$表SQL>truncate table $;如果你不想⽤DB功能,可以设置关闭SQL>alter system set audit_trail=none scope=spfile;注意,需要重启数据库SQL>shutdown immediate;SQL>startup;如果为NONE,记得清空aud⽂件或者配置crontab定时任务定时清空aud⽂件。注意:不要直接删除adump⽬录,否则,你会sqlplus不了数据库。
发布评论