oracle11g AUD$维护

原创 2012年03月26日 13:21:39

SYSTEM表空间使用率达到了85%,查出是用来记录审计记录的aud$表占用了很大的空间。

备份后truncate掉AUD$,问题临时解决。记得oracle11.2可以把aud$迁移到普通的表空

间。于是试了一把,果然ok。


1.检查SYSTEM表空间使用情况

SQL*Plus: Release 11.2.0.3.0 Production on Mon Mar 26 11:21:18 2012
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options


SQL>  select  
  2   b.tablespace_name "表空间",
  3  b.bytes/1024/1024 "大小M",
  4  (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 "已使用M",
  5  substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) "利用率"
  6  from dba_free_space a,dba_data_files b
  7  where a.file_id=b.file_id
  8    and b.tablespace_name='SYSTEM'
  9  group by b.tablespace_name,b.file_name,b.bytes
  10  order by b.tablespace_name;
 
表空间                 大小M       已使用M   利用率
------------------- ---------- ----------- ----------
SYSTEM                    4096   3485.9375    85.10

2.从dba_segments中找出占用SYSTEM表空间中排名前10位的大对象。

SQL> col segment_name for a15;
SQL> SELECT *
  2    FROM (SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MB
  3            FROM DBA_SEGMENTS
  4           WHERE TABLESPACE_NAME = 'SYSTEM'
  5           GROUP BY SEGMENT_NAME
  6           ORDER BY 2 DESC)
  7   WHERE ROWNUM < 10;
 
查出aud$占用的很大的空间。

3.准备truncate aud$表

SQL> show parameter AUDIT_TRAIL

NAME            TYPE        VALUE    
--------------- ----------- ---------
audit_trail     string      DB

-- truncate aud$ 表需要有相关的权限。
SQL> truncate table aud$;
Table truncated

4.truncate后检查system表空间使用情况,发现使用率由85%降低到29.44%

SQL> ANALYZE TABLE aud$  COMPUTE STATISTICS;
Table analyzed. 

SQL>  select  
 2    b.tablespace_name "表空间",
 3    b.bytes/1024/1024 "大小M",
 4    (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 "已使用M",
 5    substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) "利用率"
 6    from dba_free_space a,dba_data_files b
 7    where a.file_id=b.file_id
 8     and b.tablespace_name='SYSTEM'
 9    group by b.tablespace_name,b.file_name,b.bytes
10   order by b.tablespace_name;
 
表空间                大小M    已使用M   利用率
---------------- ---------- ----------   ----------
SYSTEM                 4096       1206   29.44


5.为了避免system表空间爆满对数据的影响,把aud$从system表空间迁移到普通表空间AUD_FILE

SQL>  BEGIN
  2   DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(
  3   AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, 
  4   AUDIT_TRAIL_LOCATION_VALUE => 'AUD_FILE');
  5   END;
  6  /

SQL> col owner for a5;
SQL> SELECT OWNER, TABLE_NAME, TABLESPACE_NAME
  2    FROM DBA_TABLES
  3   WHERE TABLE_NAME = 'AUD$'
  4     AND OWNER = 'SYS';

OWNER TABLE_NAME    TABLESPACE_NAME
----- ------------------------------ ------------------------------
SYS   AUD$                           TD_FILB  



oracle审计AUD$过大导致的数据库登录异常

今天,省分技术人员反映数据库登录异常。 查询oerr,发现该错误是一般性提示,可能导致的原因有数据库未注册、本地文件配置问题等。由于平时连接并没有问题,是突发情况,所以排除了配置问题...
  • hellokidss
  • hellokidss
  • 2016年04月25日 13:56
  • 1246

AUD$ 引起的SYSTEM表空间过大

oracle 11g 默认审计开启DB,数据库在实际运行中,会将审计放入aud 中,因此SYSTEM表空间会出现的比较大,system表空间过大会影响数据库性能,因此处理方法是 (1) trunc...
  • u012135077
  • u012135077
  • 2015年11月03日 13:16
  • 631

oracle清空aud$表的案例

某系统数据库的aud$表大小达到30G,与开发确认,这个表可以清掉。 1.先将表导出备份一下 exp "'/ as sysdba'" tables=SYS.AUD$ file=aud.dmp  l...
  • zengxuewen2045
  • zengxuewen2045
  • 2016年12月13日 22:30
  • 2076

解决关于aud$对象导致system表空间暴涨问题

OS VERSION : LINUX 6 ORACLE VERSION : 11.2.0.4
  • u011823742
  • u011823742
  • 2014年11月17日 14:23
  • 1412

AUD$ 引起的SYSTEM表空间过大

oracle 11g 默认审计开启DB,数据库在实际运行中,会将审计放入aud$ 中,因此SYSTEM表空间会出现的比较大,system表空间过大会影响数据库性能,因此处理方法是 (1) trunc...
  • ptzrbin
  • ptzrbin
  • 2014年01月23日 14:22
  • 5851

SYS.AUD$无法扩容导致无法登录的问题

昨天同事说有个测试库无法登录了,用PLSQL Developer登陆后提示: ERROR: ORA-00604: error occurred at recursive SQL level 1 ORA...
  • bisal
  • bisal
  • 2014年02月11日 10:14
  • 17111

oracle11g AUD$维护

SYSTEM表空间使用率达到了85%,查出是用来记录审计记录的aud$表占用了很大的空间。 备份后truncate掉AUD$,问题临时解决。记得oracle11.2可以把aud$迁移到普通的表空 ...
  • lwei_998
  • lwei_998
  • 2012年03月26日 13:21
  • 13877

转关于“ORA-01653: 表 SYS.AUD$ 无法通过 128 (在表空间 SYSTEM 中) 扩展”的错误

SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 5月 17 18:31:08 2010 Copyright (c) 1982, 2007, Or...
  • u012248761
  • u012248761
  • 2016年12月01日 09:24
  • 467

oracle 11g的audit导致system表空间快速增长的问题

11gr2版本,oracle把参数audit_trail 自动设置为DB级别,导致很多数据库的操作被记录在审计表sys.aud$中,导致sys.aud$所在的表空间快速增长。可以通过TRUNCATE清...
  • hijk139
  • hijk139
  • 2012年03月23日 16:20
  • 9259

Oracle审计表AUD$数据过大问题

How to truncate or delete rows from audit trail table sys.aud$ 1)Only appropriate privileged us...
  • liqfyiyi
  • liqfyiyi
  • 2011年11月29日 17:12
  • 4854
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle11g AUD$维护
举报原因:
原因补充:

(最多只允许输入30个字)