SYSTEM資料表空間AUD$使用空間過大問題解決方案

來源:互聯網
上載者:User

SYSTEM資料表空間AUD$使用空間過大問題解決方案

問題現象:SYSTEM資料表空間使用率超99%,前期設計時SYSTEM資料表空間是10G固定大小不允許自動擴充。

1.查詢SYSTEM資料表空間的使用率
set linesize 200col TABLESPACE_NAME for a25col SUM_SPACE(M) for a20col USED_SPACE(M) for a20col USED_RATE(%) for a20col FREE_SPACE(M) for a20SELECT D.TABLESPACE_NAME,       SPACE || 'M' "SUM_SPACE(M)",       BLOCKS "SUM_BLOCKS",       SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)",       ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%'          "USED_RATE(%)",       FREE_SPACE || 'M' "FREE_SPACE(M)"  FROM (  SELECT TABLESPACE_NAME,                 ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,                 SUM (BLOCKS) BLOCKS            FROM DBA_DATA_FILES        GROUP BY TABLESPACE_NAME) D,       (  SELECT TABLESPACE_NAME,                 ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACE            FROM DBA_FREE_SPACE        GROUP BY TABLESPACE_NAME) F WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)  AND D.TABLESPACE_NAME = 'SYSTEM';
2.查詢SYSTEM資料表空間中各個段佔用空間情況
SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE, SUM(BYTES)/1024/1024  FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'SYSTEM' GROUP BY OWNER, SEGMENT_NAME, SEGMENT_TYPE ORDER BY 4;
3.截斷佔用空間最大的AUD$表(需要和DBA確認後操作)
truncate table AUD$;
4.查詢AUD$表的資料表空間
 SELECT OWNER, TABLE_NAME, TABLESPACE_NAME    FROM DBA_TABLES     WHERE TABLE_NAME = 'AUD$'     AND OWNER = 'SYS';  
5.更改AUD$表的資料表空間為其他資料表空間(選做)
BEGIN   DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(    AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,     AUDIT_TRAIL_LOCATION_VALUE => '&AUD_TBS_NAME');  END;  /  

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.