はじめに
Oracleには、適切なSQL実行計画を算出するための元となる、オプティマイザ統計情報を自動的に収集する機能があります。この記事では、オプティマイザ統計情報の収集時刻を確認方法について書いています。
Oracleのオプティマイザ統計情報収集時間を調べる
以下のクエリを実行すると、曜日単位でオプティマイザ統計情報収集が走る時間が分かります。
conn sys/oracle as sysdba; select WINDOW_NAME, WINDOW_NEXT_TIME, OPTIMIZER_STATS from DBA_AUTOTASK_WINDOW_CLIENTS;
WINDOW_NAMEとは、Oracleのメンテナンス・ウィンドウの名前です。月曜、火曜…と曜日ごとにメンテナンス・ウインドウが存在します。
WINDOW_NEXT_TIMEは、次回オプティマイザ統計情報収集が動く予定の時刻です。
OPTIMIZER_STATSは、オプティマイザ統計情報収集の実行可否を示しています。ENABLEは有効の状態です。
平日と土日で時間が異なる
デフォルトでは、平日は22時、土曜日曜は6時に動くような設定になっているようです。