Oracleド素人のため勉強中なのですが、備忘を兼ねて記載致します。
※どのくらい素人かというと、sys , system ユーザの違いがわからなかったり、インスタンスって何?っていうぐらいです。笑
■環境について
OracleDatabae12 release2 ※手元にこれしかなかった。。。
Windows 10
■自動メンテナンスについて
データベースのメンテナンスを実施する際、何をどうメンテナンスしたらよいかわからないことがあります。
その際、OracleDatabaseがいい感じに定期的にメンテナンスしてくれるのが、
自動メンテナンス機能です。
■自動メンテナンスの種類について
デフォルトでは以下の3種類です。
①自動オプティマイザ統計収集(auto optimizer stats collection)
データベースオブジェクトに対する統計情報を自動的に収集する機能です。
②自動セグメントアドバイザ(auto space advisor)
再生可能な領域が存在しているセグメントを識別し、
それらのセグメントの断片化を解消する方法について推奨する機能です。
③SQLチューニング・アドバイザ(sql tuning advisor)
高負荷のSQL文のパフォーマンスを調査し、それらの文のチューニング方法について推奨する機能です。
■自動メンテナンスの実行タイミングについて
3種類の自動メンテナンスとも、
「Windowグループ」と呼ばれる単位でスケジュールが設定されています。
「Windowグループ」は「Window名」と呼ばれるものの集合体です。
少しややっこしいのですが、Window名(後述しますが、MONDAY_WINDOWとか)ごとに、どの自動メンテナンスが有効/無効になっているかを設定しております。
デフォルトのWindow名の設定は以下の通りです。
select * from DBA_AUTOTASK_WINDOW_CLIENTS;
各列の意味は以下の通りです。
①自動オプティマイザ統計収集(auto optimizer stats collection)
Windowグループ: ORA$AT_WGRP_OS
デフォルト設定:
select * from DBA_SCHEDULER_WINDOW_GROUPS where WINDOW_GROUP_NAME = 'ORA$AT_WGRP_OS';
Window名: MONDAY_WINDOW ~ SUNDAY_WINDOW の7つ
デフォルト設定:
select * from DBA_SCHEDULER_WINGROUP_MEMBERS where WINDOW_GROUP_NAME = 'ORA$AT_WGRP_OS';
②自動セグメントアドバイザ(auto space advisor)
Windowグループ: ORA$AT_WGRP_SA
デフォルト設定:
select * from DBA_SCHEDULER_WINDOW_GROUPS where WINDOW_GROUP_NAME = 'ORA$AT_WGRP_SA';
Window名: MONDAY_WINDOW ~ SUNDAY_WINDOW の7つ
デフォルト設定:
select * from DBA_SCHEDULER_WINGROUP_MEMBERS where WINDOW_GROUP_NAME = 'ORA$AT_WGRP_SA';
③SQLチューニング・アドバイザ(sql tuning advisor)
Windowグループ: ORA$AT_WGRP_SQ
デフォルト設定:
select * from DBA_SCHEDULER_WINDOW_GROUPS where WINDOW_GROUP_NAME = 'ORA$AT_WGRP_SQ';
Window名: MONDAY_WINDOW ~ SUNDAY_WINDOW の7つ
デフォルト設定:
select * from DBA_SCHEDULER_WINGROUP_MEMBERS where WINDOW_GROUP_NAME = 'ORA$AT_WGRP_SQ';
以上です。