11 データベースの変更がSQLのパフォーマンスに与える影響の分析

SQLパフォーマンス・アナライザ・クイック・チェック(SPAクイック・チェック)およびSQLパフォーマンス・アナライザを使用すると、データベースの変更がSQLのパフォーマンスに与える影響を評価できます。

次の項では、SPAクイック・チェックとSQLパフォーマンス・アナライザについて説明します。

11.1 SPAクイック・チェックについて

SQLパフォーマンス・アナライザ・クイック・チェック(SPAクイック・チェック)は、データベースを変更する前に、その変更がSQLのパフォーマンスに与える影響を検証します。

SPAクイック・チェックは、データベースに対する変更がパフォーマンスに影響する可能性のある特定のEM Expressデータベース管理ページで使用できます。

SPAクイック・チェックを使用して、次の場合のSQLパフォーマンスに対する影響を検証します。

  • セッションで変更可能な初期化パラメータの値の変更

  • SQLプロファイルの実装

SPAクイック・チェックは、使用する前に構成する必要があります。

11.2 SPAクイック・チェックの構成について

この項では、SPAクイック・チェック構成の概要を示します。

SPAクイック・チェックを使用してデータベース変更の影響を検証する前に、SPAクイック・チェックのデフォルト設定を指定する必要があります。

SPAクイック・チェックのデフォルト設定の1つとして、使用するSPAクイック・チェックのデフォルトSQLチューニング・セットを指定します。このSQLチューニング・セットには、パフォーマンスを分析するSQL文が含まれている必要があります。

11.2.1 SQLチューニング・セットについて

SQLチューニング・セット(STS)は、1つ以上のSQL文がその実行統計および実行コンテキストとともに含まれているデータベース・オブジェクトです。

APIを使用してSQLチューニング・セットを作成し、SQL文をSQLチューニング・セットにロードし、SQLチューニング・セットを別のシステム(本番システムに非常によく似たテスト・システムなど)に転送できます。

EM ExpressでSQLパフォーマンス・アナライザまたはSQLパフォーマンス・アナライザ・クイック・チェック(SPAクイック・チェック)を使用する前に、それらのデフォルト設定を指定する必要があります。これらのツールには、パフォーマンスを分析するSQL文(1つまたは複数)を含むSQLチューニング・セットが必要です。

関連項目:

11.2.2 SPAクイック・チェックのデフォルト値の指定

SPAクイック・チェックを使用する前に、そのデフォルト設定を指定する必要があります。

SPAクイック・チェックのデフォルト設定を指定するには、次の手順に従います。
  1. EM Expressの任意のページで、「パフォーマンス」メニューから「SQLパフォーマンス・アナライザ」を選択します。

    「SQLパフォーマンス・アナライザ」ページが表示されます。

  2. 「クイック・チェック・タスク」タブで、「クイック・チェック・デフォルト設定」をクリックします。

    「SPAクイック・チェック・デフォルト値設定」ダイアログ・ボックスが表示されます。

  3. 「SPAクイック・チェック・デフォルト値設定」ダイアログ・ボックスで、次のものを指定します。
    • SQLチューニング・セット

    • SQLチューニング・セットの文を実行する際に使用する、SPAクイック・チェックのデフォルト値

    • データベースの現在の設定でのSQLチューニング・セット内の文のパフォーマンスとデータベースに計画した変更を加えた後のパフォーマンスを比較する際に使用する、SPAクイック・チェックのデフォルト値。

    「SPAクイック・チェック・デフォルト値設定」ダイアログ・ボックスで、次のフィールドに値を指定します。

    • SQLチューニング・セット: パフォーマンスを分析するSQL文を含むSQLチューニング・セットを指定します。

    • 複数実行の無効化: SPAクイック・チェックがSQLチューニング・セットを実行する際にSQLチューニング・セット内の文を複数回実行する必要があるかどうかを示します。「はい」が選択されている場合、SQLチューニング・セット内の各SQLは1回のみ実行されます。「いいえ」が選択されている場合、SQLチューニング・セット内のSQL文が複数回実行された後、ランタイム統計の平均が求められます。

    • フェッチする行数: SQLパフォーマンス・アナライザ・テストの実行時に各SQLについてフェッチする結果行の数を示します。指定できる値は、ALL_ROWSAVERAGEAUTOまたは整数です。

      説明
      ALL_ROWS すべての結果行がフェッチされます。これがデフォルト値です。
      AVERAGE 結果行の数は、処理される行数の合計およびSQLチューニング・セット内の各SQLの合計実行回数の比率として計算されます。
      AUTO 結果行の数は、SQLチューニング・セットで取得されたオプティマイザ環境のoptimizer_modeパラメータの値を使用して決定されます。optimizer_modeの値がALL_ROWSの場合、すべての結果行がフェッチされます。値がFIRST_ROWS_nの場合、n個の結果行がSPAクイック・チェックによってフェッチされます。
      整数 結果行の数は、この指定値と等しくなり、フェッチする行数が少ない場合はこの値より少なくなります。
    • SQL当たりの時間制限(秒): SPAクイック・チェックがSQLチューニング・セット内の文を実行する際の各文の文当たりのタイムアウト(秒単位)を示します。最大値は2^32-1です。空の場合は無制限です。

    • 合計時間の制限(秒): SPAクイックがSQLチューニング・セット内のすべての文を実行する際のグローバル・タイムアウト(秒単位)を示します。最大値は2^32-1です。空の場合は無制限です。

    • 比較メトリック: データベースの現在の設定でのSQLチューニング・セット内の文のパフォーマンスとデータベースに計画した変更を加えた後のパフォーマンスをSQAクイック・チェックで比較する際に使用するメトリックを選択します。

    • ワークロード効果しきい値(%): ワークロードに対するSQL文の変更の影響のしきい値を示します。ワークロードに対する変更の影響がこのしきい値の絶対値より低い文は変更なしと見なされます(つまり、それらの文のパフォーマンスは向上も低下もしないと見なされます)。

    • SQL効果しきい値(%): SQL文に対する変更の影響のしきい値。SQLの変更の影響がこのしきい値の絶対値より低い文は変更なしと見なされます(つまり、それらの文のパフォーマンスは向上も低下もしないと見なされます)。

11.3 初期化パラメータの変更の影響の検証について

セッションで変更可能なデータベース初期化パラメータの値を変更する前に、SPAクイック・チェックを使用して、データベース・ワークロードに対するその変更の影響を検証できます。

セッションで変更可能なパラメータは、ALTER SESSION文を使用して値を変更できる初期化パラメータです。

11.3.1 初期化パラメータの変更の影響の検証

SPAクイック・チェックを使用して、セッションで変更可能なデータベース初期化パラメータの変更の影響を検証できます。

  1. EM Expressの任意のページで、「構成」メニューから「初期化パラメータ」を選択します。

    「初期化パラメータ」ページが表示されます。

  2. 新しい値の設定の影響を検証する、セッションで変更可能な初期化パラメータを選択します。「初期化パラメータ」ページのセッションで変更可能なパラメータは、「セッション」列にチェック・マークが付いています。「名前」フィルタを使用して、表示される初期化パラメータの数を減らすことができます。

    「オプティマイザ」カテゴリのほとんどのパラメータは、セッションで変更可能です。

  3. 「SPAを使用した検証」をクリックします。

    「SPAを使用した検証」ダイアログ・ボックスが表示され、「名前」フィールドで選択した初期化パラメータが表示されます。

  4. 「SPAを使用した検証」ダイアログ・ボックスで、次のオプションの値を指定し、「OK」をクリックします。
    オプション 説明
    パラメータ値 データベース・ワークロードに対する影響を検証する新しい初期化パラメータを入力します。
    タスク名 デフォルトのタスク名をそのまま使用するか、別の名前を入力します。
    説明 このフィールドには、初期化パラメータ名、現在の値および影響を検証する新しい値が表示されます。デフォルトの説明をそのまま使用するか、別の説明を入力します。
    合計時間の制限 デフォルト値をそのまま使用するか、SPAクイック・チェックが新しい値の影響を検証するために実行できる別の最大時間長(秒単位)を指定します。

    「SQLパフォーマンス・アナライザ」ページの「クイック・チェック・タスク」タブが表示され、新しいタスクの「ステータス」列にSPAクイック・チェックのタスク処理の進行状況が表示されます。タスクの実行が完了すると、「ステータス」列にチェック・マークが表示されます。

  5. 比較レポートを表示するには、「比較レポート名」列でレポートの名前をクリックします。

    タスクの「SQLパフォーマンス・アナライザ・レポート」ページが表示されます。「SQL試行」セクションに、SPAクイック・チェックがタスクに対して実行したSQL試行がリストされ、「SQL試行比較」セクションに、それらの試行に対して実行された1つ以上の比較が表示されます。「上位SQL文」セクションには、2つの試行の上位SQL文の比較が表示されます。

    「ステータス」列には、各文についてパフォーマンスが向上したか、低下したか、変化なしかが表示されます。

    「カテゴリ」フィルタを使用してすべての上位SQL文を表示するか、使用可能なカテゴリの1つのSQL文のみ表示します。

    新しい実行計画が推奨されるSQL文は、「新規計画」列にチェック・マークが表示されます。

  6. ページの下部にある「上位SQL文」セクションで、SQL文のSQL IDをクリックして、2つの試行での文の実行に関する詳細情報を表示します。
    「サマリー」セクションと、「実行の詳細」セクションの「統計」、「計画」および「結果」タブに、2つの試行のSQL文の実行に関する詳細が表示されます。

11.4 SQLプロファイルの実装の影響の検証について

SQLチューニング・アドバイザがSQL文に推奨したSQLプロファイルを実装する前に、SPAクイック・チェックを使用して、その文にSQLプロファイルを実装した場合の影響を検証できます。

SQLチューニング・アドバイザを使用してSQL文をチューニングした後で、そのSQL文のチューニングの結果ページの下部の「推奨の選択」セクションにチューニングの推奨がリストされます。チューニング推奨の1つで文のSQLプロファイルを作成する場合、「タイプ」列にはその推奨の「SQLプロファイル」の値が表示され、「推奨の選択」セクションに「SPAを使用した検証」ボタンが表示されます。

11.4.1 SQLプロファイルの実装の影響の検証

SPAクイック・チェックを使用して、SQLチューニング・アドバイザが推奨したSQLプロファイルの実装の影響を検証できます。

  1. SQL文のチューニングの結果ページの「推奨の選択」セクションで、「SQLプロファイル」推奨を選択し、「SPAを使用した検証」をクリックします。

    validate_prof.gifの説明が続きます
    図validate_prof.gifの説明

    「SPAを使用した検証」ダイアログ・ボックスが表示されます。

  2. 「SPAを使用した検証」ダイアログ・ボックスで、次のオプションの値を指定し、「OK」をクリックします。
    オプション 説明
    タスク名 デフォルトのタスク名をそのまま使用するか、別の名前を入力します。
    説明 このフィールドには、初期化パラメータ名、現在の値および影響を検証する新しい値が表示されます。デフォルトの説明をそのまま使用するか、別の説明を入力します。
    合計時間の制限 デフォルト値をそのまま使用するか、SPAクイック・チェックが新しい値の影響を検証するために実行できる別の最大時間長(秒単位)を指定します。

    「SQLパフォーマンス・アナライザ」ページの「クイック・チェック・タスク」タブが表示され、新しいタスクの「ステータス」列にSPAクイック・チェックのタスク処理の進行状況が表示されます。タスクの実行が完了すると、「ステータス」列にチェック・マークが表示されます。

  3. タスク実行の完了後、タスク名をクリックします。

    タスクの「SQLパフォーマンス・アナライザのタスク」ページが表示されます。「SQL試行」セクションに、SPAクイック・チェックがタスクに対して実行したSQL試行がリストされ、「SQL試行比較」セクションに、それらの試行に対して実行された1つ以上の比較が表示されます。

  4. 比較レポートを表示するには、「比較レポート名」列でレポートの名前をクリックします。

    タスクの「SQLパフォーマンス・アナライザ・レポート」ページが表示されます。「SQL試行」セクションに、SPAクイック・チェックがタスクに対して実行したSQL試行がリストされ、「SQL試行比較」セクションに、それらの試行に対して実行された1つ以上の比較が表示されます。「上位SQL文」セクションには、2つの試行の上位SQL文の比較が表示されます。

    「ステータス」列には、各文についてパフォーマンスが向上したか、低下したか、変化なしかが表示されます。

    「カテゴリ」フィルタを使用してすべての上位SQL文を表示するか、使用可能なカテゴリの1つのSQL文のみ表示します。

    新しい実行計画が推奨されるSQL文は、「新規計画」列にチェック・マークが表示されます。

  5. ページの下部にある「上位SQL文」セクションで、SQL文のSQL IDをクリックして、2つの試行での文の実行に関する詳細情報を表示します。
    「サマリー」セクションと、「実行の詳細」セクションの「統計」、「計画」および「結果」タブに、2つの試行のSQL文の実行に関する詳細が表示されます。

11.4.2 複数SQLプロファイルの実装の影響の検証について

SQLチューニング・アドバイザによって推奨された複数のSQLプロファイルを実装する前に、SPAクイック・チェックを使用して、それらのSQLプロファイルの実装がワークロードに与える影響を検証できます。

複数SQLプロファイルの推奨は、次のEM Expressページに表示されることがあります。

  • 自動SQLチューニング・アドバイザが有効になっている場合、「SQLチューニング・アドバイザ」ページの「自動」タブには、タブの下部にある「上位SQL文」セクションに、文に対する複数のSQLプロファイル推奨がリストされることがあります。

  • SQLチューニング・タスクの「チューニング・タスクの結果」ページ。SQLチューニング・タスクには、SQLチューニング・アドバイザがSQLプロファイルの実装を推奨する複数のSQL文が含まれることがあります。「SQLチューニング・アドバイザ」ページの「手動」タブにSQLチューニング・タスクがリストされ、タスクを選択し、「結果の表示」をクリックして、そのタスクに対するすべての推奨を参照できます。

SQLパフォーマンス・アナライザがEM Expressページで複数のSQLプロファイルの実装を推奨した場合、ページの「上位SQL文」セクションには、「すべてのプロファイルをSPAを使用して検証してください」ボタンがあります。

11.4.3 複数SQLプロファイルの実装の影響の検証

SPAクイック・チェックを使用して、SQLチューニング・アドバイザが推奨した複数のSQLプロファイルの実装の影響を検証できます。

  1. SQLチューニング・アドバイザがSQLプロファイルの実装を推奨した1つ以上のSQL文をリストするEM Expressページの「上位SQL文」で、「すべてのプロファイルをSPAを使用して検証してください」ボタンをクリックします。「すべてのプロファイルをSPAを使用して検証してください」ボタンは、SQLチューニング・アドバイザが複数のSQLプロファイルの実装を推奨していない場合には使用できません。

    validate_all_profs.gifの説明が続きます
    図validate_all_profs.gifの説明

    「SPAを使用した検証」ダイアログ・ボックスが表示されます。

  2. 「SPAを使用した検証」ダイアログ・ボックスで、次のオプションの値を指定し、「OK」をクリックします。
    オプション 説明
    タスク名 デフォルトのタスク名をそのまま使用するか、別の名前を入力します。
    説明 このフィールドには、初期化パラメータ名、現在の値および影響を検証する新しい値が表示されます。デフォルトの説明をそのまま使用するか、別の説明を入力します。
    合計時間の制限 デフォルト値をそのまま使用するか、SPAクイック・チェックが新しい値の影響を検証するために実行できる別の最大時間長(秒単位)を指定します。

    「SQLパフォーマンス・アナライザ」ページの「クイック・チェック・タスク」タブが表示され、新しいタスクの「ステータス」列にSPAクイック・チェックのタスク処理の進行状況が表示されます。タスクの実行が完了すると、「ステータス」列にチェック・マークが表示されます。

  3. タスク実行の完了後、タスク名をクリックします。

    タスクの「SQLパフォーマンス・アナライザのタスク」ページが表示されます。「SQL試行」セクションに、SPAクイック・チェックがタスクに対して実行したSQL試行がリストされ、「SQL試行比較」セクションに、それらの試行に対して実行された1つ以上の比較が表示されます。

  4. 比較レポートを表示するには、「比較レポート名」列でレポートの名前をクリックします。

    タスクの「SQLパフォーマンス・アナライザ・レポート」ページが表示されます。「SQL試行」セクションに、SPAクイック・チェックがタスクに対して実行したSQL試行がリストされ、「SQL試行比較」セクションに、それらの試行に対して実行された1つ以上の比較が表示されます。「上位SQL文」セクションには、2つの試行の上位SQL文の比較が表示されます。

    「ステータス」列には、各文についてパフォーマンスが向上したか、低下したか、変化なしかが表示されます。

    「カテゴリ」フィルタを使用してすべての上位SQL文を表示するか、使用可能なカテゴリの1つのSQL文のみ表示します。

    新しい実行計画が推奨されるSQL文は、「新規計画」列にチェック・マークが表示されます。

  5. 「上位SQL文」セクションで、SQL文のSQL IDをクリックして、2つの試行での文の実行に関する詳細情報を表示します。
    「サマリー」セクションと、「実行の詳細」セクションの「統計」、「計画」および「結果」タブに、2つの試行のSQL文の実行に関する詳細が表示されます。

11.5 SQLパフォーマンス・アナライザについて

SQLパフォーマンス・アナライザは、SQL文ごとのパフォーマンスの相違を識別することで、SQLワークロードに対するデータベース変更の全体的影響を評価するプロセスを自動化します。

レポートには、変更によるワークロード・パフォーマンスへの最終的な影響が示されます。SQLパフォーマンス・アナライザでは、パフォーマンスが低下しているSQL文に適した詳細な実行計画や推奨の調整方法を提供します。これによって、エンド・ユーザーに影響が及ぶ前に、望ましくない結果を修正することができます。また、(時間とコストを大幅に節約しながら)本番環境のシステム変更が最終的なパフォーマンス向上につながることを検証できます。

SQLパフォーマンス・アナライザを使用する前に、パフォーマンスを分析するSQL文を含むSQLチューニング・セットが必要であり、SQLパフォーマンス・アナライザのデフォルト設定を指定する必要があります。

SQLパフォーマンス・アナライザ・タスクは、SQLパフォーマンス・アナライザの完全な分析に関するすべてのデータがカプセル化されているコンテナです。SQLパフォーマンス・アナライザの分析は、2つ以上のSQL試行と1つの比較で構成されています。SQL試行で、特定の環境条件下でのSQLチューニング・セットの実行パフォーマンスがカプセル化されます。SQLパフォーマンス・アナライザ・タスクを作成する場合は、入力ソースとしてSQLチューニング・セットを選択すると、SQL試行の実行時にSQLチューニング・セットがSQL文のソースとして使用されます。

SQLパフォーマンス・アナライザ・タスクの作成後に、変更前のSQL試行を作成します。次に、SQLパフォーマンスへの影響を評価するデータベース変更を行います。データベース変更を行った後で、変更後のSQL試行を作成します。最後に、2つの試行を比較します。

SQLパフォーマンス・アナライザは、2つの試行間での環境の相違による影響を表示します。

11.6 SQLパフォーマンス・アナライザのデフォルト設定の指定

SQLパフォーマンス・アナライザを使用する前に、ツールのデフォルト設定を変更するオプションがあります。

  1. EM Expressページで、「パフォーマンス」メニューから「SQLパフォーマンス・アナライザ」を選択します。

    「SQLパフォーマンス・アナライザ」ページが表示されます。

  2. 「手動タスク」タブで、「SPAデフォルト設定」をクリックします。

    「SPAデフォルト値設定」ダイアログ・ボックスが表示されます。

  3. 「SPAデフォルト値設定」ダイアログ・ボックスで、SQLパフォーマンス・アナライザでSQLチューニング・セットの文の実行時に使用するSQLパフォーマンス・アナライザのデフォルト値、およびデータベースの現在の設定でのSQLチューニング・セットの文のパフォーマンスとデータベースに変更を加えた後のパフォーマンスをSQAパフォーマンス・アナライザで比較する際に使用するデフォルト値を指定します。次のフィールドの値を指定し、「OK」をクリックしてSQLパフォーマンス・アナライザのデフォルト設定を保存します。
    • 複数実行の無効化: SQLパフォーマンス・アナライザがSQLチューニング・セットを実行する際にSQLチューニング・セットの文を複数回実行する必要があるかどうかを示します。「はい」が選択されている場合、SQLチューニング・セット内の各SQLは1回のみ実行されます。「いいえ」が選択されている場合、SQLチューニング・セット内のSQL文が複数回実行された後、ランタイム統計の平均が求められます。

    • SQL当たりの時間制限(秒): SQLパフォーマンス・アナライザがSQLチューニング・セット内の文を実行する際の各文の文当たりのタイムアウト(秒単位)を示します。最大値は2^32-1です。空の場合は無制限です。

    • フェッチする行数: SQLパフォーマンス・アナライザ・テストの実行時に各SQLについてフェッチする結果行の数を示します。指定できる値は、ALL_ROWSAVERAGEAUTOまたは整数です。

      説明
      ALL_ROWS すべての結果行がフェッチされます。これがデフォルト値です。
      AVERAGE 結果行の数は、処理される行数の合計およびSQLチューニング・セット内の各SQLの合計実行回数の比率として計算されます。
      AUTO 結果行の数は、SQLチューニング・セットで取得されたオプティマイザ環境のoptimizer_modeパラメータの値を使用して決定されます。optimizer_modeの値がALL_ROWSの場合、すべての結果行がフェッチされます。値がFIRST_ROWS_nの場合、n個の結果行がSPAクイック・チェックによってフェッチされます。
      整数 結果行の数は、この指定値と等しくなり、フェッチする行数が少ない場合はこの値より少なくなります。
    • フルDMLの実行: 行ロックの取得と行の変更を含めDML文を完全に実行するには、「はい」を指定します。データを変更せずにDMLの問合せ部分のみ実行するには「いいえ」(デフォルト)を指定します。「はい」が指定されている場合、SQLパフォーマンス・アナライザは、DML実行の後でロールバックを発行して、DMLにより永続的な変更が行われないようにします。

    • 捕捉されたオプティマイザ環境の適用: SQLチューニング・セットで捕捉されたSQLオプティマイザごとの環境をSQLパフォーマンス・アナライザの試行で使用する場合は、このフィールドに「はい」を指定します。それ以外の場合は、Noを指定します。

    • 比較メトリック: データベースの現在の設定でのSQLチューニング・セット内の文のパフォーマンスとデータベースに計画した変更を加えた後のパフォーマンスをSQLパフォーマンス・アナライザで比較する際に使用するメトリックを選択します。

    • ワークロード効果しきい値(%): ワークロードに対するSQL文の変更の影響のしきい値を示します。ワークロードに対する変更の影響がこのしきい値の絶対値より低い文は変更なしと見なされます(つまり、それらの文のパフォーマンスは向上も低下もしないと見なされます)。

    • SQL効果しきい値(%): SQL文に対する変更の影響のしきい値。SQLの変更の影響がこのしきい値の絶対値より低い文は変更なしと見なされます(つまり、それらの文のパフォーマンスは向上も低下もしないと見なされます)。

11.6.1 SQLパフォーマンス・アナライザ・タスクの作成

SQLチューニング・セットを入力ソースとして使用して、SQLパフォーマンス・アナライザのタスクを作成します。

  1. EM Expressページで、「パフォーマンス」メニューから「SQLパフォーマンス・アナライザ」を選択します。

    「SQLパフォーマンス・アナライザ」ページが表示されます。

  2. 「手動タスク」タブで、「作成」をクリックします。

    「SQLパフォーマンス・アナライザのタスクの作成」ダイアログ・ボックスが表示されます。

  3. 「SQLパフォーマンス・アナライザのタスクの作成」ダイアログ・ボックスで、次のフィールドに値を入力し、「OK」をクリックします。
    • タスク名: デフォルトのタスク名をそのまま使用するか、タスクに使用する名前を入力します。

    • 説明: オプションで、タスクの説明を入力します。

    • SQLチューニング・セット: タスクの作成に使用するSQLチューニング・セットを選択します。

    新しいSQLパフォーマンス・アナライザ・タスクが「手動タスク」タブのSQLパフォーマンス・アナライザ・タスクのリストに表示されます。

SQLパフォーマンス・アナライザ・タスクの作成後に、SQL試行を作成できます。通常は、変更前のSQL試行を作成し、データベース変更を行ってから、変更後のSQL試行を作成します。

11.6.2 変更前のSQL試行の作成

SQLパフォーマンス・アナライザ・タスクの作成後に、SQLパフォーマンス・アナライザを使用して変更前のSQL試行を作成できます。

次の手順に従って、SQLパフォーマンス・アナライザを使用して変更前のSQL試行を作成します。
  1. EM Expressページで、「パフォーマンス」メニューから「SQLパフォーマンス・アナライザ」を選択します。

    「SQLパフォーマンス・アナライザ」ページが表示されます。

  2. 「手動タスク」タブで、データベース変更の影響を分析するSQL文を含むSQLパフォーマンス・アナライザ・タスクの名前をクリックします。

    そのタスクの「SQLパフォーマンス・アナライザのタスク」ページが表示されます。

  3. 「SQL試行」セクションで、「作成」をクリックして変更前のSQL試行を作成します。
  4. 「SQL試行の作成」ダイアログ・ボックスの「試行情報」タブで、次の操作を実行します。
    • 試行名: デフォルトの試行名をそのまま使用するか、試行に使用する名前を入力します。

    • 説明: オプションで、試行の説明を入力します。

    • 実行タイプ: 試行に使用する実行のタイプを選択します。

      • テスト実行: この方法は、SQLパフォーマンス・アナライザを実行しているデータベースでSQLパフォーマンス・アナライザを通じてSQL文の実行をテストします。

      • 実行計画: この方法は、SQLパフォーマンス・アナライザを実行しているデータベースでのSQLパフォーマンス・アナライザを通じたSQL文の実行計画のみ生成します。EXPLAIN PLAN文と異なり、実行計画の方法を使用するSQL試行ではバインド値が考慮され、実際の実行計画が生成されます。

      • SQLチューニング・セットの変換: この方法では、SQLチューニング・セットに格納されている実行統計および計画を試行に変換します。この試行を他の試行と比較できます。チューニング・セットには、テスト実行試行から収集されたすべてのデータは含まれないため、変換SQLチューニング・セット試行とテスト実行試行の比較を作成する場合は、使用可能な比較メトリックが少なくなります。

    試行を実行する時間をスケジュールする場合は、右矢印ボタンをクリックして「スケジュール」タブに移動します。または、「OK」をクリックして試行を即時に実行します。

    試行が実行されると、そのステータスがタスクの「SQLパフォーマンス・アナライザのタスク」ページの「SQL試行」セクションの「ステータス」列に表示されます。

    試行が完了すると、タスクの「SQLパフォーマンス・アナライザのタスク」ページの「SQL試行」セクションで試行の「ステータス」列にチェック・マーク・アイコンが表示されます。

変更前のSQL試行が完了した後、SQLパフォーマンスへの影響を評価するデータベース変更を行い、変更後のSQL試行を作成します。

11.6.3 変更後のSQL試行の作成

変更前のSQL試行を作成し、データベース変更を行った後で、変更後のSQL試行を作成できます。

SQLパフォーマンスへの影響を評価するデータベース変更を行った後で、次の手順に従って、SQLパフォーマンス・アナライザを使用して変更後のSQL試行を作成します。
  1. EM Expressページで、「パフォーマンス」メニューから「SQLパフォーマンス・アナライザ」を選択します。

    「SQLパフォーマンス・アナライザ」ページが表示されます。

  2. 「手動タスク」タブで、データベース変更の影響を分析するSQL文を含むSQLパフォーマンス・アナライザ・タスクの名前をクリックします。

    そのタスクの「SQLパフォーマンス・アナライザのタスク」ページが表示されます。

  3. 「SQL試行」セクションで、「作成」をクリックして変更後のSQL試行を作成します。
  4. 「SQL試行の作成」ダイアログ・ボックスの「試行情報」タブで、次の操作を実行します。
    • 試行名: デフォルトの試行名をそのまま使用するか、試行に使用する名前を入力します。

    • 説明: オプションで、試行の説明を入力します。

    • 実行タイプ: 試行に使用する実行のタイプを選択します。

      • テスト実行: この方法では、SQLパフォーマンス・アナライザを介してSQL文をテスト実行します。SPAパフォーマンス・アナライザを実行しているデータベースまたはリモート・データベースで実行できます。

      • 実行計画: この方法では、SQLパフォーマンス・アナライザを介してSQL文の実行計画のみ生成します。SPAパフォーマンスを実行しているデータベースまたはリモート・データベースで実行できます。EXPLAIN PLAN文と異なり、実行計画の方法を使用するSQL試行ではバインド値が考慮され、実際の実行計画が生成されます。

      • SQLチューニング・セットの変換: この方法では、SQLチューニング・セットに格納されている実行統計および計画を試行に変換します。この試行を他の試行と比較できます。チューニング・セットには、テスト実行試行から収集されたすべてのデータは含まれないため、変換SQLチューニング・セット試行とテスト実行試行の比較を作成する場合は、使用可能な比較メトリックが少なくなります。

    試行を実行する時間をスケジュールする場合は、右矢印ボタンをクリックして「スケジュール」タブに移動します。または、「OK」をクリックして試行を即時に実行します。

    試行が実行されると、そのステータスがタスクの「SQLパフォーマンス・アナライザのタスク」ページの「SQL試行」セクションの「ステータス」列に表示されます。

    試行が完了すると、タスクの「SQLパフォーマンス・アナライザのタスク」ページの「SQL試行」セクションで試行の「ステータス」列にチェック・マーク・アイコンが表示されます。

変更後のSQL試行を完了した後、変更前のSQL試行と変更後のSQL試行を比較して、データベース変更のSQLパフォーマンスへの影響を評価します。

11.6.4 2つのSQL試行の比較

変更前のSQL試行と変更後のSQL試行が作成された後で、SQLパフォーマンス・アナライザを使用して、2つのSQL試行を比較して、データベース変更がSQLのパフォーマンスに与える影響を評価できます。

次の手順に従って、2つのSQL試行を比較します。
  1. EM Expressページで、「パフォーマンス」メニューから「SQLパフォーマンス・アナライザ」を選択します。

    「SQLパフォーマンス・アナライザ」ページが表示されます。

  2. 「手動タスク」タブで、データベース変更の影響を分析するSQL文を含むSQLパフォーマンス・アナライザ・タスクの名前をクリックします。

    そのタスクの「SQLパフォーマンス・アナライザのタスク」ページが表示されます。

  3. 2つのSQL試行を比較するには、タスクの「SQLパフォーマンス・アナライザのタスク」ページの「SQL試行比較」セクションで「作成」をクリックします。
  4. 「SQL比較レポートの作成」ダイアログ・ボックスの「比較情報」タブで、次の操作を実行します。
    • 比較レポート名: デフォルトの比較レポート名をそのまま使用するか、レポートに使用する名前を入力します。

    • 説明: オプションで、比較の説明を入力します。

    • 試行1の名前: 比較で使用する最初の試行を選択します。任意の試行を選択できますが、通常は変更前のSQL試行を最初の試行として選択します。

    • 試行2の名前: 比較で使用する2つ目の試行を選択します。任意の試行を選択できますが、通常は変更後のSQL試行を2つ目の試行として選択します。

    • 比較メトリック: 比較に使用するメトリックを選択します。

    比較を実行する時間をスケジュールする場合は、右矢印ボタンをクリックして「スケジュール」タブに移動します。または、「OK」をクリックして比較を即時に実行します。

    比較が実行されると、そのステータスがタスクの「SQLパフォーマンス・アナライザのタスク」ページの「SQL試行比較」セクションの「ステータス」列に表示されます。

  5. 新しい比較レポートを表示するには、「SQL試行比較」セクションの「比較レポート名」列でレポートの名前をクリックします。
タスクの「SQLパフォーマンス・アナライザ・レポート」ページに、2つの試行の比較レポートが表示されます。

「上位SQL文」セクションには、2つの試行の上位SQL文の比較が表示されます。

「ステータス」列には、各文についてパフォーマンスが向上したか、低下したか、変化なしかが表示されます。

「カテゴリ」フィルタを使用してすべての上位SQL文を表示するか、使用可能なカテゴリの1つのSQL文のみ表示します。

11.7 データベースの変更がSQLのパフォーマンスに与える影響の分析: Oracle by Example Series

Oracle by Example(OBE)には、『Oracle Database 2日でデータベース管理者』に関するシリーズが含まれています。このOBEでは、この項のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。

データベースの変更がSQLのパフォーマンスに与える影響の分析に関するOBEを表示するには、Webブラウザに次のURLを入力します。

https://apexapps.oracle.com/pls/apex/f?p=44785:24:::NO:24:P24_CONTENT_ID:16834