百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

一文看懂生产数据库如何有效清理Oracle审计文件

sinye56 2024-10-11 17:40 4 浏览 0 评论

概述

今天主要分享下Oracle审计方面的内容,之前其实有分享过审计表空间的转移及数据清理,但是在操作系统层面的清理还没介绍,今天补一下这块。


1、Oracle审计

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

SQL>show parameter audit_trail 

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

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

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

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

SQL>select a.tablespace_name,a.bytes,a.autoextensible from dba_data_files a where a.tablespace_name='SYSTEM';

长此以往,SYSTEM表空间最终会因为过度肥胖把磁盘撑爆。(反过来,如果SYSTEM表空间的autoextensible=NO,AUD$表就没地方写就会报错无法分配空间)

所以有些数据库会根据情况,将审计功能“关闭”:

--1.设置审计参数关闭
SQL>alter system set audit_trail=none scope=spfile;
--2.重启数据库
SQL>shutdown immediate;
SQL>startup;

2、Oracle强制审计

但即使关闭审计功能,Oracle还是会强制审计,以下这些操作系统会强制记录:用管理员权限连接Instance;启动数据库;关闭数据库。

oracle早有准备,有一个叫强制审计的变态功能在等着你。

强制审计变态的功能:

(1)用SYSDBA或者SYSOPER权限登录数据库(conn / as sysdba)

(2)startup数据库

(3)shutdown数据库

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

开了DB功能,会同时将审计日志记在AUD$表中和操作系统aud文件中。设置为NONE,仍然会而且毫无其他办法的将记录在操作系统aud($ORACLE_BASE/admin/实例名/adump/)文件中。

所以这个目录长期不清理的话,会积压大量*.aud文件,长期大量不删除的话,会影响到操作系统inodes。


3、定期情况aud$表和清理操作系统审计日志

3.1、如果为DB,记得定期清空aud$表

SQL>truncate table sys.aud$;

3.2、清理操作系统审计日志(一个aud文件为4k)

--进入审计日志目录:
cd $ORACLE_BASE/admin/$ORACLE_SID/adump
--删除1年前的审计文件:
find ./ -type f -name "*.aud" -mtime +360|xargs rm -f
--一次清空所有审计文件
find ./ -type f -name "*.aud"|xargs rm-f

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


后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

相关推荐

Linux基础知识之修改root用户密码

现象:Linux修改密码出现:Authenticationtokenmanipulationerror。故障解决办法:进入单用户,执行pwconv,再执行passwdroot。...

Linux如何修改远程访问端口

对于Linux服务器而言,其默认的远程访问端口为22。但是,出于安全方面的考虑,一般都会修改该端口。下面我来简答介绍一下如何修改Linux服务器默认的远程访问端口。对于默认端口而言,其相关的配置位于/...

如何批量更改文件的权限

如果你发觉一个目录结构下的大量文件权限(读、写、可执行)很乱时,可以执行以下两个命令批量修正:批量修改文件夹的权限chmod755-Rdir_name批量修改文件的权限finddir_nam...

CentOS「linux」学习笔记10:修改文件和目录权限

?linux基础操作:主要介绍了修改文件和目录的权限及chown和chgrp高级用法6.chmod修改权限1:字母方式[修改文件或目录的权限]u代表所属者,g代表所属组,o代表其他组的用户,a代表所有...

Linux下更改串口的权限

问题描述我在Ubuntu中使用ArduinoIDE,并且遇到串口问题。它过去一直有效,但由于可能不必要的原因,我觉得有必要将一些文件的所有权从root所有权更改为我的用户所有权。...

Linux chown命令:修改文件和目录的所有者和所属组

chown命令,可以认为是"changeowner"的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。当只需要修改所有者时,可使用...

chmod修改文件夹及子目录权限的方法

chmod修改文件夹及子目录权限的方法打开终端进入你需要修改的目录然后执行下面这条命令chmod777*-R全部子目录及文件权限改为777查看linux文件的权限:ls-l文件名称查看li...

Android 修改隐藏设置项权限

在Android系统中,修改某些隐藏设置项或权限通常涉及到系统级别的操作,尤其是针对非标准的、未在常规用户界面显示的高级选项。这些隐藏设置往往与隐私保护、安全相关的特殊功能有关,或者涉及开发者选项、权...

完蛋了!我不小心把Linux所有的文件权限修改了!在线等修复!

最近一个客户在群里说他一不小心把某台业务服务器的根目录权限给改了,本来想修改当前目录,结果执行成了根目录。...

linux改变安全性设置-改变所属关系

CentOS7.3学习笔记总结(五十八)-改变安全性设置-改变所属关系在以前的文章里,我介绍过linux文件权限,感兴趣的朋友可以关注我,阅读一下这篇文章。这里我们不在做过的介绍,注重介绍改变文件或者...

Python基础到实战一飞冲天(一)--linux基础(七)修改权限chmod

#07_Python基础到实战一飞冲天(一)--linux基础(七)--修改权限chmod-root-groupadd-groupdel-chgrp-username-passwd...

linux更改用户权限为root权限方法大全

背景在使用linux系统时,经常会遇到需要修改用户权限为root权限。通过修改用户所属群组groupid为root,此操作只能使普通用户实现享有部分root权限,普通用户仍不能像root用户一样享有超...

怎么用ip命令在linux中添加路由表项?

在Linux中添加路由表项,可以使用ip命令的route子命令。添加路由表项的基本语法如下:sudoiprouteadd<network>via<gateway>这...

Linux配置网络

1、网卡名配置相关文件回到顶部网卡名命名规则文件:/etc/udev/rules.d/70-persistent-net.rules#PCIdevice0x8086:0x100f(e1000)...

Linux系列---网络配置文件

1.网卡配置文件在/etc/sysconfig/network-scripts/下:[root@oldboynetwork-scripts]#ls/etc/sysconfig/network-s...

取消回复欢迎 发表评论: