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

DBA日常任务清单--定期清理Oracle审计文件

sinye56 2024-09-21 02:32 3 浏览 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在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: