oracle数据库解决system表空间已爆满的问题
有时会发现数据库system表空间增长很快,使用以下语句查看system表空间使用量。也可以使用toad直接看。
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 MBFROM DBA_SEGMENTS
WHERE TABLESPACE_NAME
= "SYSTEM"GROUP BY SEGMENT_NAME
ORDER BY
2 DESC)WHERE ROWNUM
< 10;
一般发现都是发现是AUD$审计表占用资源量大。
直接登录数据库,清理掉SYS.AUD$表。
truncate table SYS.AUD$;
如果想关闭数据库审计,可以参考以下链接
https://www.cnblogs.com/chxmtl/p/11731085.html
http://blog.sina.com.cn/s/blog_b56640170102xbj7.html
以上是 oracle数据库解决system表空间已爆满的问题 的全部内容, 来源链接: utcz.com/z/531664.html