はじめに
Autonomous Database で、AWR レポートと、AWR SQL レポートを取得する方法を紹介します。概要を説明すると、AWR レポートは、Oracle Database インスタンス全体に関わる性能レポートです。AWR SQL レポートは、SQL クエリーとしての性能レポートです。
Autonomous で自律的にパフォーマンスが向上するものの、どういった SQL にどれくらいの時間が掛かっていて、それがどんな実行計画で処理されているかは気になるはずです。
今回は、Oracle SQL Developer をつかって取得する方法を紹介します。
Oracle SQL Developer で接続方法
こちら で接続方法を紹介しています。Wallet ファイルを、読み込むことで接続が出来ます。
AWR Report
Autonomous Database へ接続出来ている状態から、VIew → DBA を選択します。
Performance → AWR → AWR Report Viewer を選択します。
Browse を選択すると、AWR Snapshot の一覧から選べるため、そこから AWR Report を出力する2点のSnapshot を選択します。この開始と終了の間の期間に関するレポートとなります。Snapshot を選択したあとに、実行ボタンを押します。
AWR Report が生成されます。
時間の掛かっているSQLの Top10位が含まれています。
AWR Snapshot は一定時間お気に消えるので、後でじっくり読みたい場合は、HTML として保存すると良いです。フロッピーボタンから保存できます。
Deference Report Viwer
2 個の AWR Report を比較することが出来ます。サービス開始当初の時に性能で問題が無かった時の AWR Report と、現在性能問題が発生しているときの AWR Report を比較することも出来ます。正常時と異常時を比較することで、何がどれくらい変わったのかを簡単に解析が出来るため、便利な機能です。
今回は紹介にとどめておきます。
AWR SQL Report
SQL単体での性能を解析するための、AWR SQL Report です。Performance → AWR → SQL Report Viewer を選択します。
AWR Report を実行したときの Snapshot の ID と、実行時間が長くて詳細を確認したい SQL の SQL ID を入力します。その後、実行ボタンを押します。
過去、SQL を実行したときの実行計画や、実行計画で予測した取得行数などを確認できます。