AWR(Automatic Workload Repository)の各種設定方法を紹介します。
AWRとはOracle Databaseの稼働統計とワークロード情報のスナップショットを自動的に収集・管理する機能です。
この記事ではスナップショットの取得間隔・保存期間や取得レベル、またAWRの有効化・無効化方法を紹介します。
なおAWR利用には「Diagnostic Pack」のライセンスが追加で必要になります。
AWRの有効化・無効化設定:CONTROL_MANAGEMENT_PACK_ACCESS
AWRを使用するためには、「Diagnostics Pack」ライセンスが必要になります。
「Diagnostics Pack」ライセンスを制御している初期化パラメータは「CONTROL_MANAGEMENT_PACK_ACCESS」です。
「CONTROL_MANAGEMENT_PACK_ACCESS」を変更することで有効・無効を制御しますが、
このパラメータは「Turning Pack」ライセンスと共存して使用する点に注意してください。
Enterprise EditionのデータベースではAWRは有効化されていますが、
稀に意識してAWRの機能を無効化しているデータベースがあります。
- 「Diagnostics Pack」ライセンスと「Turning Pack」ライセンスを有効化するSQLです。
alter system set CONTROL_MANAGEMENT_PACK_ACCESS = DIAGNOSTIC+TUNING scope = SPFILE;
- 「Diagnostics Pack」ライセンスを有効化するSQLです。
alter system set CONTROL_MANAGEMENT_PACK_ACCESS = DIAGNOSTIC scope = SPFILE;
- 「Diagnostics Pack」ライセンスを無効化するSQLです。
alter system set CONTROL_MANAGEMENT_PACK_ACCESS = NONE scope = SPFILE;
上記のSQL実行後にデータベースの再起動を忘れずに行いましょう。
※ Diagnostics Packを使用していないとAWR、Turing Packを使用しないとSQLアドバイザーなどは使用できません。
有効化されているだけではライセンス料は発生しないはずです。。。
統計情報の取得レベルを変更:STATISTICS_LEVEL
AWRで取得される統計情報を取得レベルを制御するのは「STATISTICS_LEVEL」になります。
以下設定値とその意味になります。
[table id=57 /]
基本的にはデフォルトの「TYPICAL」を設定すれば十分な情報を取得できます。
以下が設定SQLになります。
alter system set STATISTICS_LEVEL = TYPICAL scope = BOTH;
スナップショットの取得間隔と保存期間を設定:DBMS_WORKLOAD_REPOSITORY
AWRに取得間隔と保存期間を設定するには、「DBMS_WORKLOAD_REPOSITORY」プロシージャを使用します。
以下がプロシージャの使用方法です。
begin
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => <取得間隔を分で指定>,
retention => <保存期間を分で指定>;
end;
/
- 「interval」は取得間隔を指定
- 「retention」は保存期間を指定
どちらもの整数で指定し単位は”分”で指定します。下が取得期間を「30分」、保存期間を「30日(60×24時間×30日 = 43200分)」に設定した例です。
begin
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => 30,
retention => 43200);
end;
/
また以下が設定確認のSQLになります。
select DBID,
SNAP_INTERVAL,
RETENTION
from DBA_HIST_WR_CONTROL;
以下が出力例です。
DBID SNAP_INTERVAL RETENTION
-------------- --------------------- ---------------------------------------------------------------------------
1469414445 +00000 00:30:00.0 +00030 00:00:00.0
「SNAP_INTERVAL」、「RETENTION」の左側が日数で右側が時間です。
※ 保存期間を無期限にする場合にはマニュアル”0”にするとなっていますが、
うまく動作しませんでしたので、最大値の100年の「150000」を設定することをオススメします。
[itemlink post_id=”4915″]