oracle数据库解决system表空间已爆满的问题

有时会发现数据库system表空间增加很快,使用如下语句查看system表空间使用量。也能够使用toad直接看。html

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) "利用率"
  from dba_free_space a, dba_data_files b
 where a.file_id = b.file_id
   and b.tablespace_name = 'SYSTEM'
 group by b.tablespace_name, b.file_name, b.bytes
 order by b.tablespace_name;

执行如下语句查看是哪一个对象占用较大数据库

SELECT *
  FROM (SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MB
          FROM DBA_SEGMENTS
         WHERE TABLESPACE_NAME = 'SYSTEM'
         GROUP BY SEGMENT_NAME
         ORDER BY 2 DESC)
 WHERE ROWNUM < 10;

通常发现都是发现是AUD$审计表占用资源量大。spa

直接登陆数据库,清理掉SYS.AUD$表。code

truncate table  SYS.AUD$;

 

 

 

若是想关闭数据库审计,能够参考如下连接htm

http://www.javashuo.com/article/p-oallxsao-gv.html对象

http://blog.sina.com.cn/s/blog_b56640170102xbj7.htmlblog

相关文章
相关标签/搜索