Oracle

oracle 11g R2 中 SYSTEM 和 SYSAUX 表空間空間不足

  • March 11, 2019

我的數據庫的 SYSTEM 和 SYSAUX 表空間大小現在處於以下狀態:

SYSTEM  - PCT_USED= 99
SYSAUX  - PCT_USED= 95

我相信數據庫現在處於危急狀態。我可以做些什麼來讓它恢復到正常狀態,以及應該遵循哪些標準方法來保持 SYSTEM 和 SYSAUX 表空間文件的安全。

任何幫助將不勝感激。

RDBMS 需要 SYSTEM 和 SYSAUX 表空間才能正常工作。

SYSAUX 表空間

可以使用 V$SYSAUX_OCCUPANTS 視圖檢索駐留在 SYSAUX 表空間中的對象列表。此視圖顯示以下資訊:

OCCUPANT_NAME        VARCHAR(64)    Occupant name  
OCCUPANT_DESC        VARCHAR(64)    Occupant description  
SCHEMA_NAME          VARCHAR2(64)   Schema name for the occupant  
MOVE_PROCEDURE       VARCHAR2(64)   Name of the move procedure; null if not applicable  
MOVE_PROCEDURE_DESC  VARCHAR2(64)   Description of the move procedure  
SPACE_USAGE_KBYTES   NUMBER         Current space usage of the occupant (in KB)  

參考:V$SYSAUX_OCCUPANTS

SYSAUX 表是以下組件的首頁:

SYSAUX Table                         Previous Location
------------------------------------ --------------------------
Analytical Workspace Object Table    SYSTEM
Enterprise Manager Repository        OEM_REPOSITORY
LogMiner                             SYSTEM
Logical Standby                      SYSTEM
OLAP API History Tables              CWMLITE
Oracle Data Mining                   ODM
Oracle Spatial                       SYSTEM
Oracle Streams                       SYSTEM
Oracle Text                          DRSYS
Oracle Ultra Search                  DRSYS
Ora interMedia ORDPLUGINS Comp.      SYSTEM
Ora interMedia ORDSYS Components     SYSTEM
Ora interMedia SI_INFORMTN_SCHEMA C. SYSTEM
Server Manageability Components      -
Statspack Repository                 User-defined
Oracle Scheduler                     - 
Workspace Manager                    SYSTEM

參考:數據庫組件和 SYSAUX 表空間

如果可以減小組件儲存的數據大小,則可以減小所需的 SYSAUX 表空間的大小。

SYSAUX 表空間的最大部分由自動工作負載儲存庫 (AWR) 佔用。Oracle 提供了以下大小建議來確定 AWR 大小以及 SYSAUX 表空間的大部分大小:

Number of CPUs                                 2    |     8    |    32
Number of concurrently active sessions        10    |    20    |   100
Number of user objects: tables and indexes   500    | 5,000    |50,000
Estimated SYSAUX size with default config    500 MB |     2 GB |     5 GB

參考:控制 SYSAUX 表空間的大小

如果您的數據庫一直在不斷增長,或者如果您正在使用 Enterprise Management Console 監控大量對象,那麼您的 SYSAUX 表空間將慢慢填滿。

SYSTEM 表空間

SYSTEM 表空間始終包含整個數據庫的數據字典表。因此,如果您的數據庫因新對象而增長,那麼您的 SYSTEM 表空間也將需要更多空間。

數據字典

數據字典包含什麼:

  • 數據庫中所有模式對象的定義(表、視圖、索引、集群、同義詞、序列、過程、函式、包、觸發器等)
  • 已為模式對象分配了多少空間以及目前由多少空間使用
  • 列的預設值
  • 完整性約束資訊
  • Oracle 使用者的名稱
  • 授予每個使用者的權限和角色
  • 審核資訊,例如誰訪問或更新了各種架構對象
  • 其他一般數據庫資訊

參考:數據字典

解決方案:

  1. 減少 EM 中的監控對像數量
  2. 根據上表中的建議調整 SYSAUX 表空間的大小。

ALTER DATABASE DATAFILE ‘/path/systemSID.dbf’ RESIZE 1000M;

3. 調整 SYSTEM 表空間的大小 


* ```
ALTER DATABASE DATAFILE '/path/sysauxSID.dbf' RESIZE 1000M;

引用自:https://dba.stackexchange.com/questions/181570