2020.08.06
過去のSQL平均実行時間や実行計画の履歴を確認する
1. 概要
紹介する手順は、以下のような場面で活用することが出来ます。
- 過去数カ月のSQL平均実行時間の推移を知りたい
- SQLの論理読取ブロック数や物理読取ブロック数の推移を知りたい
- SQLが過去に使用した実行計画の履歴が知りたい
- SQLの実行計画の変化により実行時間の変化状況などを確認したい
MaxGauge for Oracleは、セッション情報やSQL実行情報を取得してリポジトリDBに過去の情報を保存しています。
保存された稼働情報から特定のSQLの平均実行時間、論理読取ブロック数、物理読取ブロック数、などの推移を確認することが出来ます。
また、SQLは実行計画別に稼働情報が保存されているので実行計画の変化や変化したことによる動作の変化などを確認することが出来ます。
2. SQLの過去の実行状況を確認する
特定のSQLの過去の実行状況を調査するには、[Performance Analyzer]画面の[SQL分析][長期分析][1-SQL]で調査することが出来ます。
- 調査には調査対象となるSQLの SQL ID が必要になります、事前にSQL IDを取得しておいてください
2.1. 調査方法
1. [PERFORMANCE ANALYZER]画面に遷移します
[Realtime Monitor]画面の右上部[PERFORMANCE ANALYZER]ボタンをクリックして[Performance Analyzer]画面を表示します。
2. [SQL分析][長期分析][1-SQL]画面に遷移します
- [Performance Analyzer]の画面左メニューから[SQL分析]をクリック
- 画面上段メニューの[長期分析]をクイックして表示された画面の[1-SQL]タブをクリックします
3. 調査対象のSQLと期間を指定します
- 調査対象のインスタンスをプルダウンメニューから選択します
- 調査の対象となるSQL IDを指定します
- 調査したい期間を指定します
- [検索]ボタンをクリックします
4. 調査対象のSQLの実行状況が表示されます
検索で指定したSQL IDのSQLの実行状況が表示されます。
画面上段の領域
画面上段に領域に積み上げ棒グラフと折れ線グラフが1日単位の集計値で表示されます。
- 調査対象SQLの実行回数と平均時間を表示しています
- スライダを切り替えると調査対象SQLの物理読取ブロック数、論理読取ブロック数に切り替わります
- 調査対象SQLの実行回数と平均論理読取ブロック数、平均物理読取ブロック数を表示しています
- 積み上げ棒グラフの色が変化している日は複数の実行計画でSQLが実行されたことを示します
- 積み上げ棒グラフをクリックすると調査対象SQLの1日の実行状況を確認出来る画面が別窓で表示されます
別窓で表示される1日トレンドの画面は、調査対象SQLの10分毎の実行統計の結果を確認することが出来ます。
1日トレンドから、実行計画別の時間別の実行回数、平均処理時間や実行計画の表示などを確認することが出来ます。
画面下段の領域
画面下段の領域には、SQLの実行統計が日別に表形式で表示されます。
- 調査対象SQLの実行統計が日別に集計され表示されます
- 詳細を確認したい行で右クリックメニューから「SQL詳細」をクリックすると1日トレンドの別窓が表示され詳細を確認することが出来ます
- リスト上で右クリックメニューから「エクスポート(エクセル)」をクリックすると表示されている表の内容をEXCELファイルでダウンロードすることが出来ます
2.2. セッションリストから調査する方法
[PERFORMANCE ANALYZER]の各画面にあるセッションリストからセッションが実行していたSQLの過去の実行状況を確認することも出来ます
1. セッションリストから調査する
- セッションリストで調査したいセッション(実行されているSQL)の行で右クリック、メニューから「長期分析」をクリックします
- 「長期分析」をクリックすると「1-SQL」の画面に遷移します
- 「長期分析」をクリックするとセッションが実行していたSQL IDを検索条件に過去7日分の実行状況を表示します