Automatic SQL Tuning Advisor #
Oracle 19c
|
|
這段 alert log 記錄的是 Oracle 資料庫內部自動維護機制的正常運作資訊,這完全不是錯誤訊息,不需要進行任何處理。
我們可以把這段日誌拆解為兩個日常維護事件:
1. 自動 SQL 調校任務啟動 #
日誌開頭提到 Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK",代表資料庫在 2026 年 6 月 20 日早上 6 點整左右,自動啟動了內建的 SQL 調校顧問任務。這個任務通常會在系統設定的維護視窗內執行,用來分析前一天消耗比較多資源的 SQL 語法,並提供優化建議。
2. 系統內部統計資料表自動新增分區 #
接下來的兩行訊息:
TABLE SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY: ADDED INTERVAL PARTITION...TABLE SYS.WRI$_OPTSTAT_HISTGRM_HISTORY: ADDED INTERVAL PARTITION...
這兩個以 WRI$_OPTSTAT 開頭的資料表,是 Oracle 用來儲存資料庫對象(如資料表、欄位)歷史統計資訊與直方圖(Histograms)的內部系統表。
因為這兩個表在設計上採用了「間隔分區(Interval Partitioning)」的機制,當系統要寫入新一天的歷史統計資料,而資料庫發現現有的分區空間不夠裝新日期的資料時,就會自動建立新的分區(例如日誌中的 SYS_P1254 與 SYS_P1257),用來存放 2026-06-21 00:00:00 之前的資料。
總結 #
簡單來說,這是資料庫在清晨離峰時間進行例行性的自我維護。它告訴你「自動 SQL 調校開始了」,並且在過程中「自動為內部的統計資料歷史表開拓了新的存放空間」。