度量快速开发平台-专业、快速的软件定制快开平台
标题: oracle 审计日志清理 [打印本页]
作者: 张兴康 时间: 2020-7-5 14:29
标题: 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[align=left][color=rgb(0, 0, 0)][backcolor=transparent][font=Verdana,Arial,Helvetica,sans-serif][size=14px]而这张表所在的表空间,正式oracle数据库最重要的SYSTEM表空间。[/size][/font][/backcolor][/color][/align][align=left][color=rgb(0, 0, 0)][backcolor=transparent][font=Verdana,Arial,Helvetica,sans-serif][size=14px]由于这个表空间非常特殊:如果此时它正好被设置为自动扩展(AUT=YES)的话:[/size][/font][/backcolor][/color][/align][code]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
所以,小伙伴们:
- SQL>truncate table sys.aud$;
复制代码如果你不想用DB功能,可以设置关闭
- SQL>alter system set audit_trail=none scope=spfile;
复制代码 注意需要重启数据库
- 如果为NONE,记得清空aud文件或者配置crontab定时任务定时清空aud文件。
注意:不要直接删除adump目录,否则,你会sqlplus不了数据库。
OWNER TABLE_NAME TABLESPACE_NAME
--------------------------------------------------------------
SYS AUD$ SYSTEM[/code]而这张表所在的表空间,正式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
所以,小伙伴们:
- SQL>truncate table sys.aud$;
复制代码如果你不想用DB功能,可以设置关闭
- SQL>alter system set audit_trail=none scope=spfile;
复制代码 注意需要重启数据库
- 如果为NONE,记得清空aud文件或者配置crontab定时任务定时清空aud文件。
注意:不要直接删除adump目录,否则,你会sqlplus不了数据库。
作者: 张兴康 时间: 2020-7-5 14:29
作者: caixuqad 时间: 2020-7-5 17:15
作者: fteair 时间: 2020-7-5 17:47
作者: fteair 时间: 2020-7-5 17:48
作者: 张兴康 时间: 2020-7-6 14:55
作者: caixuqad 时间: 2020-7-6 17:19
作者: fteair 时间: 2020-7-6 17:22
作者: 张兴康 时间: 2020-7-7 14:03
作者: caixuqad 时间: 2020-7-7 17:40
作者: 张兴康 时间: 2020-7-8 15:02
作者: caixuqad 时间: 2020-7-8 17:49
欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) |
Powered by Discuz! X3.2 |