oracle 审计drop单张表,sysaux表空间中,审计信息表aud$过大清理实例

巡检发现系统system表空间达到26G,正常情况下其大小最多几个G。这里发现其只要原因是aud$信息过大导致。

oracle 11g 是默认开启审计DB,在数据库运行过程中,会将审计信息放入aud$中,system表空间就会随之不断扩大,也会带来system表空间的性能下降。

一般处理: truncate table  aud$

处理过程:

1.查看aud$所占空间,及审计开启状况

2.按要求备份部分审计信息aud$_bak,在其他用户作为中转备份,这里100为例

3.truncate table aud$

4.将刚才备份的信息再插回aud$表中,insert into aud$

5.删除中间表aud$_bak

6.查看aud$表数据量及system表空间现在大小

7.将新的审计信息迁移至新表空间,不再放在system中

1.查看aud$,发现表已经太大。

select

b.tablespace_name"表空间",

b.bytes/1024/1024 "大小M",

(b.bytes-sum(nvl(a.bytes,0)))/1024/1024"已使用M",

substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)"利用率"

fromdba_free_space a,dba_data_files b

wherea.file_id=b.file_idandb.tablespace_name='SYSTEM'

groupbyb.tablespace_name,b.file_name,b.bytes

orderbyb.tablespace_name;

SQL> SELECT*FROM(SELECTSEGMENT_NAME,SUM(BYTES) / 1024 / 1024 MB

FROMDBA_SEGMENTS

WHERETABLESPACE_NAME ='SYSTEM'

GROUPBYSEGMENT_NAME

ORDERBY2DESC)

WHEREROWNUM 

29289867_1438486221Ejt9.png

2.审计已经开启

29289867_1438486324U2aa.png

3. 这里要求保留最近100天的数据量,可以采用exp方式和create table 方式备份,这里采用create table方式

注意:这里临时放在read用户下,要确认此用户所在表空间的剩余空间足够。

Create  table read.aud$_bak as  SELECT

*

from  aud$   where

round((sysdate-cast(NTIMESTAMP#

AS DATE)),0) < 100;

4. 比较aud$_bak和aud$前100天的数据量<

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值