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 MB
          FROM 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM