この記事では自動メンテナンスタスクの無効化について解説します。
自動メンテナンスタスクの無効化
自動メンテナンスタスクではSQLチューニングアドバイザ、自動オプティマイザ統計収集、自動セグメントアドバイザの3種類が自動で実行されます。
これらはデフォルトではすべて有効となっているため、動作させたくない場合は無効化する必要があります。
アドバイザは不要であったり、統計情報を更新したくない場合などに無効化を実施します。
自動メンテナンスタスクの無効化にはDBMS_AUTO_TASK_ADMINパッケージを使用します。
BEGIN
dbms_auto_task_admin.disable(
client_name => '<自動メンテナンスタスク名>',
operation => NULL,
window_name => NULL);
END;
/
反対にメンテナンスタスクを有効化したい場合はdisableをenableに変更します。
無効化手順
まずは自動メンテナンスタスクが有効か無効かを確認します。
SQL> select client_name, status from dba_autotask_client;
CLIENT_NAME STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection ENABLED
auto space advisor ENABLED
sql tuning advisor ENABLED
STATUSがENABLEになっているので、すべて有効化された状態です。
DBMS_AUTO_TASK_ADMINパッケージを使用してSQLチューニングアドバイザを無効化します。
SQL> BEGIN
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/
PL/SQL procedure successfully completed.
SQLチューニングアドバイザが無効化されたか確認します。
SQL> select client_name, status from dba_autotask_client;
CLIENT_NAME STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection ENABLED
auto space advisor ENABLED
sql tuning advisor DISABLED
STATUSがDISABLEになり、無効化されていることが確認できました。