1.手工清理:

a.清理审计数据前可先备份一份数据出来:

exp "'/ as sysdba'" tables=SYS.AUD$ file=/path/audit_bak_20160403.dmp  log=/path/audit_bak_20160403_exp.log direct=y
b.查看当前审计数据大小:select segment_name, bytes/1024/1024/1024 as SIZE_GB from dba_segments where segment_name = 'AUD$';
c.查看审计表总行数:select count(*) from sys.aud$;
d.查看最早一条审计记录的时间:select min(ntimestamp#) from aud$;
e.删除审计数据(可根据需要保留一定时间段的数据):
delete sys.aud$ where NTIMESTAMP# < trunc(sysdate, 'HH') - 90;(删除90天前的数据)
commit;
因delete操作会消耗较多资源,建议根据最早一条审计记录的时间,分批删除审计数据,注意删除后需执行commit命令。
f.审计数据删除后空间并未释放:select segment_name, bytes/1024/1024/1024 as SIZE_GB from dba_segments where segment_name = 'AUD$';
手工释放空间:
alter table sys.aud$ enable row movement;
alter table sys.aud$ shrink space cascade; (compact)
alter table sys.aud$ disable row movement;
再次查询:select segment_name, bytes/1024/1024/1024 as SIZE_GB from dba_segments where segment_name = 'AUD$';

2.自动清理

a.创建清理sys.aud$表的存储过程procedure:
create or replace procedure clear_aud as
begin
delete sys.aud$ where NTIMESTAMP# < trunc(sysdate, 'HH') - 90;
commit;
exception when others then rollback;
end;

/

b.创建清理sys.aud$表的Job:
variable aud_job number;
begin
dbms_job.submit(:aud_job,'clear_aud;',sysdate,'trunc(LAST_DAY(sysdate) + 1)');
commit;
end;

/

当前立即执行,下一次执行在每个月第一天的午夜12点。
c.运行Job
begin
dbms_job.run(:aud_job);
end;
 /
d.如果想删除Job,可以使用如下命令:
begin
dbms_job.remove(:aud_job);
end;
 /
可通过查看dba_jobs和dba_jobs_running这两个表查看Job运行状态,例如:
select  job,last_date,next_date,total_time,broken,interval,failures from dba_jobs;

3.如果执行job无法清除只能通过shell放到后台进行清理
[oracle]# more aud_del.sh 
#!/bin/bash
sqlplus '/as sysdba' <<EOF
delete sys.aud$ where ntimestamp# < trunc(sysdate, 'HH') - $1;
commit;
exit;
EOF
 oracle]# more test.sh 
#!/bin/bash
for (( c=410; c>=90; c-- ))
do
        echo "Welcome $c times"
        su - oracle -s /bin/bash aud_del.sh $c
done
[oracle]# nohup /home/oracle/test.sh > /home/oracle/output.txt &

清除sys.aud$相关推荐

  1. kmemleak的使用---内存泄露检测工具【转】

    转自:http://blog.csdn.net/lishenglong666/article/details/8287783 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 内 ...

  2. [20180403]访问dba_autotask_task无输出问题.txt

    [20180403]访问dba_autotask_task无输出问题.txt --//链接http://www.itpub.net/thread-1911421-1-1.html的讨论,还没注意原先的 ...

  3. oracle删除数据文件

    在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表.视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能"移走"表空间. 一.使用offline数据文件的 ...

  4. oracle删除orcl库_oracle删除数据文件

    在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表.视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能"移走"表空间. 一.使用offline数据文件的 ...

  5. linux管理员清理主目录,在Linux上如何清理垃圾系统管理员

    最近在网上看到一张图(原图出处不详,题图据原图重制,有修改.) 唔,感觉很有道理啊,你看,rm 是删除,这个单词简单好记:连 rf 都给出了解释,"垃圾文件":/* 代表目录下的所 ...

  6. oracle学习笔记之 审计

    Oracle数据库审计 数据库审计是监视并记录选定的用户数据库操作.主要分为标准审计和精细粒度审计(FGA,Fine-Grained Auditing),标准审计可在语句级.对象级.权限级进行审计:精 ...

  7. Oracle10.2.0.1开始可以在线删除数据文件

    Oracle删除数据文件 在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表.视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能"移走"表空间. 一.使 ...

  8. Oracle表空间满了该如何解决?

    Oracle表空间满了该如何解决? 第一步:查看表空间的使用情况 方式1:用SQL查询 –1.查看表空间的使用情况 SELECT a.tablespace_name, a.bytes total, b ...

  9. oracle数据库审计os,审计Oracle数据库的使用

    Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 仅使用权限.角色.视图.甚至细粒度安全策略建立访问控制系统还不能保证数据 ...

最新文章

  1. Python七大原则,24种设计模式
  2. 《Java工程师成神之路》终于免费开放下载了!
  3. 039_Unicode对照表五
  4. 构建dubbo分布式平台-maven模块规划和平台功能导图
  5. 集成学习(期末复习)
  6. mysql 删除线程_mysql删除阻塞线程
  7. (转)yi_meng linux 下 ifcfg-eth0 配置 以及ifconfig、ifup、ifdown区别
  8. 自定义灵活 自动滚动的Dialog
  9. 理解Attention机制原理及模型
  10. Java中在时间戳计算的过程中遇到的数据溢出问题
  11. 使用ffmpeg快速生成视频截图
  12. java编程 数组的中位数中枢_Java算法题1:找出两个有序数组的中位数?
  13. 嵌入式Linux开发环境搭建实验
  14. Autodesk AutoCAD 2018 for Mac 汉化破解版安装教程
  15. AndroidStudio NDK开发环境配置及示例
  16. 题解 P1774 【最接近神的人_NOI导刊2010提高(02)】
  17. html模态框插件,如何使用JavaScript构建模态框插件
  18. 多地“摇号购房” 开发商迎来了良机?
  19. 姚振华,一个想要胜天半子的男人
  20. 【半导体先进工艺制程技术系列】FinFET和UTB-SOI简介

热门文章

  1. 监控摄像头,车载摄像头选型
  2. AI认知架构四十年的发展与挑战
  3. 雷曼兔(vijos1474)
  4. vue 把组件方法暴露到window对象中
  5. Alizee -《艾莉婕处女演唱会》(Alizee.En.Concert.2004)[DVDRip]
  6. MogaFX—老挝央行禁止货币兑换单位出售外币
  7. LeetCode ----车的可捕获量(JavaScript解法)
  8. 文字到底应该如何雕琢
  9. 怎么将txt文件转化为html格式的文件?--极为丑陋的方式
  10. 2021CSP-J复赛游记——开端