首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle SYSTEM/SYSAUX 表空間高使用率應急擴容指南

     編輯:Oracle 資料庫基礎

現象:核心表空間使用率逼近 100%

表空間名       總大小(M)  已用(M)  使用率  空閒(M)  最大塊(M)
LMS_TABLESPACE      32.44     1.38    4.25%    31.56    30.81
SYSAUX             310     309.25   99.76%     0.75     0.75
SYSTEM             450     440.69   97.93%     9.31     8.94
UNDOTBS1            25      11.75   47.00%    13.25    11.94
USERS                5       0.44    8.80%     4.56     4.56

SYSAUX 99.76%、SYSTEM 97.93% 觸發告警,必須立即擴容。

排查步驟 1:確認是否啟用自動擴展

SELECT tablespace_name, autoextensible, increment_by
FROM dba_data_files;
  • AUTOEXTENSIBLE = YES:已開啟自動擴展,INCREMENT_BY 顯示每次增長塊數(單位:DB_BLOCK_SIZE)。
  • AUTOEXTENSIBLE = NO:需手動擴容或開啟自動擴展。

方案 A:新增數據文件(推薦,無需停機)

ALTER TABLESPACE system
ADD DATAFILE 'D:\OracleXE\oradata\XE\system_01.dbf' SIZE 1024M;

同理處理 SYSAUX。新文件立即生效,緩解空間壓力。

方案 B:擴展現有文件並開啟自動擴展

-- 1. 開啟自動擴展
ALTER DATABASE DATAFILE 'D:\OracleXE\oradata\XE\system_01.dbf' AUTOEXTEND ON;

-- 2. 手動調大至目標尺寸(避免頻繁小幅擴展碎片化)
ALTER DATABASE DATAFILE 'D:\OracleXE\oradata\XE\system_01.dbf' RESIZE 2048M;

根因分析與長期治理

  1. AUDIT$ / FGA_LOG$ 膨脹:審計轉儲未及時清理 → 定期 DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL。
  2. 統計信息歷史:SYS.WRI$_OPTSTAT_* 表佔用大量 SYSAUX → 調整 DBMS_STATS.ALTER_STATS_HISTORY_RETENTION(默認 31 天)。
  3. 統一審計軌跡:12c+ 統一審計默認寫入 SYSAUX → 修改 AUDIT_TRAIL 至專用表空間。
  4. EM Repository / AWR 快照:保留期過長 → 減少保留天數或移至專用表空間。

監控腳本建議

-- 表空間使用率 > 85% 告警
SELECT tablespace_name, ROUND(used_percent,1) pct_used
FROM dba_tablespace_usage_metrics
WHERE used_percent > 85;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved