若表空間 PCTINCREASE = 0,SMON 不會 對該表空間執行碎片合併。此時需手動 ALTER TABLESPACE ... COALESCE 或導出/導入重組。
-- 查看表空間 PCTINCREASE
SELECT tablespace_name, pct_increase FROM dba_tablespaces;
-- 建議:除非特殊需求(如 LOB 表空間),否則設置 > 0(如 10 或默認 50)
PCTINCREASE = 0 僅影響碎片整理,不影響實例恢復功能。僅在歸檔模式下啟動。LGWR 切換日志組時,若目標組未歸檔,資料庫掛起等待 ARCH 完成歸檔。頻繁切換 + 慢歸檔 = 業務凍結。
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4 SCOPE=BOTH;(最大 10,9i 限制 9)。ALTER DATABASE NOARCHIVELOG; 或增大日志文件/增加組數。/*+ APPEND */ 直載路徑(最小化重做生成),或臨時設為 NOLOGGING 操作。ALTER DATABASE ARCHIVELOG,立即進行 Level 0 備份建立基線。SMON 守護空間健康與數據一致性;ARCH 守護可恢復性但可能拖垮寫入性能。DBA 應:
PCTINCREASE > 0 讓 SMON 自動整理碎片。V$ARCHIVE_DEST_STATUS、V$SESSION_WAIT (log file switch (archiving needed))。LOG_ARCHIVE_MAX_PROCESSES、優化日志文件大小、大載入窗口臨時調整策略。