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に値を入力してください: 6384.レポートのファイル名を入力します。
report_nameに値を入力してください:awrrpt.html
いずれの方法でも開始点と終了点のスナップショットIDを指定するところがキモです。
つまり時間帯を絞って分析することができるわけですが、これによって例えばオンライン処理のピークの時間帯や、夜間のバッチ処理の時間帯など、特定の時間帯における問題点をより正確に捉えることができます。
Oracle9iまではこのような機能はSTATSPACKとして提供されていましたが、インストール、スナップショットの取得、レポートの作成、不要データの削除をすべて手動で実行しなければなりませんでした。
その点、AWRレポートの場合、ユーザーが行う作業はレポートの作成のみとなっており、より手軽に利用することができるのが便利です。
出力された内容を読み解く力は相変わらず必要ですが^^;
【注意!】 AWRレポートを利用するためには、Enterprise Edition でかつ Oracle Diagnostics Pack のライセンスが必要になります。