Oracle 10g では自動ワークロードリポジトリ(AWR)という機能が追加され、問題の検出やチューニングのためにメモリー内の統計情報が定期的に(デフォルトで60分ごとに)スナップショットとして自動保存されるようになりました。
作成されたAWRスナップショットは各種アドバイザで内部的に使用されますが、データベース管理者がAWRレポートとして出力し、チューニングなどに役立てることもできます。
AWRレポートを出力・表示するにはEnterprise Managerで見る方法とスクリプトでレポートを作成する方法の2通りの方法があります。
Enterprise Managerで見る手順は以下のとおりです。
1.[パフォーマンス]タブをクリックします。
2.[その他の監視リンク]リージョンの[スナップショット]をクリックします。
3.[最初のスナップショット]を選択し、[実行]をクリックします。
4.[最後のスナップショット]を選択し、[実行]をクリックします。
5.保存スナップショットを選択し、[アクション]から「レポートの表示」を選択し、[実行]をクリックします。
スクリプトでレポートを作成する手順は以下のとおりです。
1.SQL*Plusで以下のスクリプトを実行します。
SQL> @?/rdbms/admin/awrrpt2.レポートタイプを入力します。('html' or 'text')
report_typeに値を入力してください: html3.最初のスナップショットと最後のスナップショットの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 のライセンスが必要になります。
