[Oracle] AWRレポート | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

awrrpt


Oracle 10g では自動ワークロードリポジトリ(AWR)という機能が追加され、問題の検出やチューニングのためにメモリー内の統計情報が定期的に(デフォルトで60分ごとに)スナップショットとして自動保存されるようになりました。

作成されたAWRスナップショットは各種アドバイザで内部的に使用されますが、データベース管理者がAWRレポートとして出力し、チューニングなどに役立てることもできます。


AWRレポートを出力・表示するにはEnterprise Managerで見る方法とスクリプトでレポートを作成する方法の2通りの方法があります。


Enterprise Managerで見る手順は以下のとおりです。

1.[パフォーマンス]タブをクリックします。

2.[その他の監視リンク]リージョンの[スナップショット]をクリックします。

3.[最初のスナップショット]を選択し、[実行]をクリックします。

4.[最後のスナップショット]を選択し、[実行]をクリックします。

5.保存スナップショットを選択し、[アクション]から「レポートの表示」を選択し、[実行]をクリックします。


スクリプトでレポートを作成する手順は以下のとおりです。

1.SQL*Plusで以下のスクリプトを実行します。

SQL> @?/rdbms/admin/awrrpt
2.レポートタイプを入力します。('html' or 'text')

report_typeに値を入力してください: html
3.最初のスナップショットと最後のスナップショットのIDを入力します。

Instance     DB Name        Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
orcl         orcl               629 24 7月  2007 09:00     1
                                630 24 7月  2007 10:00     1
                                631 24 7月  2007 11:00     1
                                632 24 7月  2007 12:00     1
                                633 24 7月  2007 13:00     1
                                634 24 7月  2007 14:00     1
                                635 24 7月  2007 15:00     1
                                636 24 7月  2007 16:00     1
                                637 24 7月  2007 17:00     1
                                638 24 7月  2007 18:00     1
.
.
.

begin_snapに値を入力してください: 633

end_snapに値を入力してください: 638
4.レポートのファイル名を入力します。

report_nameに値を入力してください:awrrpt.html


いずれの方法でも開始点と終了点のスナップショットIDを指定するところがキモです。

つまり時間帯を絞って分析することができるわけですが、これによって例えばオンライン処理のピークの時間帯や、夜間のバッチ処理の時間帯など、特定の時間帯における問題点をより正確に捉えることができます。


Oracle9iまではこのような機能はSTATSPACKとして提供されていましたが、インストール、スナップショットの取得、レポートの作成、不要データの削除をすべて手動で実行しなければなりませんでした。

その点、AWRレポートの場合、ユーザーが行う作業はレポートの作成のみとなっており、より手軽に利用することができるのが便利です。

出力された内容を読み解く力は相変わらず必要ですが^^;


【注意!】 AWRレポートを利用するためには、Enterprise Edition でかつ Oracle Diagnostics Pack のライセンスが必要になります。