快轉到主要內容

Oracle Alert log 資訊

·588 字·2 分鐘·
PolloChang
作者
PolloChang
我是一隻雞

Automatic SQL Tuning Advisor
#

Oracle 19c

1
2
3
4
5
6
Begin automatic SQL Tuning Advisor run for special tuning task  "SYS_AUTO_SQL_TUNING_TASK"
2026-06-20T06:00:34.071658+08:00
TABLE SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY: ADDED INTERVAL PARTITION SYS_P1254 (46192) VALUES LESS THAN (TO_DATE(' 2026-06-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLE SYS.WRI$_OPTSTAT_HISTGRM_HISTORY: ADDED INTERVAL PARTITION SYS_P1257 (46192) VALUES LESS THAN (TO_DATE(' 2026-06-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
2026-06-20T06:01:56.761390+08:00
End automatic SQL Tuning Advisor run for special tuning task  "SYS_AUTO_SQL_TUNING_TASK"

這段 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_P1254SYS_P1257),用來存放 2026-06-21 00:00:00 之前的資料。


總結
#

簡單來說,這是資料庫在清晨離峰時間進行例行性的自我維護。它告訴你「自動 SQL 調校開始了」,並且在過程中「自動為內部的統計資料歷史表開拓了新的存放空間」。