Database OracleDB インフラ

[OracleDB] AWRの設定方法。取得間隔・保存期間や取得レベルは何を設定すべきか?

投稿日:2018年7月11日 更新日:

こんにちは!シミダイ(@shimidai2100)です。

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です。

 

  • Diagnostics Pack」ライセンスを有効化するSQLです。

 

  • Diagnostics Pack」ライセンスを無効化するSQLです。

 

上記のSQL実行後にデータベースの再起動を忘れずに行いましょう。

※ Diagnostics Packを使用していないとAWR、Turing Packを使用しないとSQLアドバイザーなどは使用できません。有効化されているだけではライセンス料は発生しないはずです。。。

統計情報の取得レベルを変更:STATISTICS_LEVEL

AWRで取得される統計情報を取得レベルを制御するのは「STATISTICS_LEVEL」になります。

以下設定値とその意味になります。

設置値説明
TYPICALデータベースの自動管理機能で必要とされる主要統計が収集。
BASICTYPICALから以下の項目が取得されなくなる
・自動ワークロード・リポジトリ(AWR)・スナップショット
・自動データベース診断モニター(ADDM)
・サーバー生成の全アラート
・自動SGAメモリー管理
・自動オプティマイザ統計収集
・オブジェクト・レベルの統計
・エンドツーエンドのアプリケーション・トレース(V$CLIENT_STATS)
・データベースの時間配分統計(V$SESS_TIME_MODELおよびV$SYS_TIME_MODEL)
・サービス・レベルの統計
・バッファ・キャッシュ・アドバイザ
・MTTRアドバイザ
・共有プール・サイジング・アドバイザ
・セグメント・レベルの統計
・PGAターゲット・アドバイザ
・時刻に関連する統計
・統計の監視
ALLTYPICALに追加で以下の項目が取得される
・時刻に関連する統計
・時刻に関連するオペレーティング・システム統計
・計画実行統計

基本的にはデフォルトの「TYPICAL」を設定すれば十分な情報を取得できます。

以下が設定SQLになります。

スナップショットの取得間隔と保存期間を設定:DBMS_WORKLOAD_REPOSITORY

AWRに取得間隔と保存期間を設定するには、「DBMS_WORKLOAD_REPOSITORY」プロシージャを使用します。

以下がプロシージャの使用方法です。

  • interval」は取得間隔を指定
  • retention」は保存期間を指定

どちらもの整数で指定し単位は”分”で指定します。

下が取得期間を「30分」保存期間を「30日(60×24時間×30日 = 43200分)」に設定した例です。

また以下が設定確認のSQLになります。

以下が出力例です。

DBID              SNAP_INTERVAL      RETENTION
--------------  ---------------------  ---------------------------------------------------------------------------
1469414445  +00000 00:30:00.0   +00030 00:00:00.0

SNAP_INTERVAL」、「RETENTION」の左側が日数右側が時間です。

※ 保存期間を無期限にする場合にはマニュアル”0”にするとなっていますが、

うまく動作しませんでしたので、最大値の100年の「150000」を設定することをオススメします。

 

スポンサードリンク

関連記事

-Database, OracleDB, インフラ

Translate »

Copyright© shimidai2100 , 2018 All Rights Reserved.