自動メンテナンスタスクの種類

この記事では自動メンテナンスタスクについて解説します。

 自動メンテナンスタスクとは

自動メンテナンスタスクとは、データベースのメンテナンス操作のために自動的に開始されるタスクです。

タスクは「メンテナンス・ウィンドウ」に設定された時間帯に定期的に実行されます。

メンテナンス・ウィンドウは設定変更が可能で、システム負荷が少ないタイミングでタスクを実行できます。


 自動メンテナンスタスクの種類

Oracle Databaseでは次の種類のタスクが用意されています。

・自動オプティマイザ統計収集

・オプティマイザ統計アドバイザ

・自動セグメントアドバイザ

・自動SQLチューニングアドバイザ

・SQL計画管理(SPM)展開アドバイザ


 自動オプティマイザ統計収集

データベースのオブジェクトに対して、統計情報を収集するタスクです。

収集された統計情報はSQLの実行計画の作成に利用されます。

統計情報はリアルタイムで更新されません。

統計情報取得後に大量のデータ更新があった場合は、最適な実行計画が選択されずパフォーマンスが劣化します。

そのため適切なタイミングで統計情報を取得することが大切です。


 オプティマイザ統計アドバイザ

オプティマイザ統計の取得方法を調査し、より優れた推奨方法を提案するタスクです。

自動オプティマイザ統計収集タスクの一部として実行されます。

提案される推奨アクションは自動的には実行されません。

このタスクを実行されるうえでの不具合も多く、無効化しておくことが推奨されます。


 自動セグメントアドバイザ

再利用可能な領域を持つセグメントを識別し、セグメントの断片化を解消する方法を提案するタスクです。

タスクの実行によって性能に影響が出る可能性があるため、無効化することが推奨されます。


 自動SQLチューニングアドバイザ

高負荷のSQLに対して最適な実行計画を提案するタスクです。

タスクの実行に伴うデータベースへの負荷もあるため、基本的には無効化が推奨されます。


 SQL計画管理(SPM)展開アドバイザ

新しく登録された実行計画をテスト実行し、実行計画を最適化するタスクです。

自動SQLチューニングアドバイザの一部として組み込まれていますが、別々に有効化/無効化ができません。

自動SQLチューニングアドバイザと同様の理由で無効化が推奨されます。