この記事では自動メンテナンスタスクについて解説します。
自動メンテナンスタスクとは
自動メンテナンスタスクとは、データベースのメンテナンス操作のために自動的に開始されるタスクです。
タスクは「メンテナンス・ウィンドウ」に設定された時間帯に定期的に実行されます。
メンテナンス・ウィンドウは設定変更が可能で、システム負荷が少ないタイミングでタスクを実行できます。
自動メンテナンスタスクの種類
Oracle Databaseでは次の種類のタスクが用意されています。
・自動オプティマイザ統計収集
・オプティマイザ統計アドバイザ
・自動セグメントアドバイザ
・自動SQLチューニングアドバイザ
・SQL計画管理(SPM)展開アドバイザ
自動オプティマイザ統計収集
データベースのオブジェクトに対して、統計情報を収集するタスクです。
収集された統計情報はSQLの実行計画の作成に利用されます。
統計情報はリアルタイムで更新されません。
統計情報取得後に大量のデータ更新があった場合は、最適な実行計画が選択されずパフォーマンスが劣化します。
そのため適切なタイミングで統計情報を取得することが大切です。
オプティマイザ統計アドバイザ
オプティマイザ統計の取得方法を調査し、より優れた推奨方法を提案するタスクです。
自動オプティマイザ統計収集タスクの一部として実行されます。
提案される推奨アクションは自動的には実行されません。
このタスクを実行されるうえでの不具合も多く、無効化しておくことが推奨されます。
自動セグメントアドバイザ
再利用可能な領域を持つセグメントを識別し、セグメントの断片化を解消する方法を提案するタスクです。
タスクの実行によって性能に影響が出る可能性があるため、無効化することが推奨されます。
自動SQLチューニングアドバイザ
高負荷のSQLに対して最適な実行計画を提案するタスクです。
タスクの実行に伴うデータベースへの負荷もあるため、基本的には無効化が推奨されます。
SQL計画管理(SPM)展開アドバイザ
新しく登録された実行計画をテスト実行し、実行計画を最適化するタスクです。
自動SQLチューニングアドバイザの一部として組み込まれていますが、別々に有効化/無効化ができません。
自動SQLチューニングアドバイザと同様の理由で無効化が推奨されます。