ヘッダーをスキップ

Oracle Database 2日でパフォーマンス・チューニング・ガイド
11g リリース1(11.1)

E05744-02
目次
目次
索引
索引

戻る 次へ

12 SQLパフォーマンスの影響分析

データベースのアップグレードまたは索引の追加などのシステム変更によって、SQL文の実行計画が変更されることがあり、SQLパフォーマンスに重大な影響を与えることがあります。場合によっては、システム変更によってSQL文が低下し、SQLパフォーマンスが低下することがあります。また、システム変更によってSQLパフォーマンスが向上することもあります。SQLパフォーマンスのシステム変更による、影響を正確に予想できるため、SQL文が低下する場合に事前にシステムをチューニングしたり、SQL文のパフォーマンスが向上する場合のパフォーマンス利得を評価し、測定できます。

SQLパフォーマンス・アナライザによって、次によるSQLワークロードへのシステム変更の影響を予想できます。

この章は次の項で構成されています。

SQLパフォーマンス・アナライザの使用方法

SQLパフォーマンス・アナライザを使用して、あらゆるタイプのシステム変更によるSQLパフォーマンスの影響を分析できます。システム変更の例は次のとおりです。

SQLパフォーマンス・アナライザの方法

本番システムに非常に類似したテスト・システム、または本番システム自体でSQLパフォーマンス・アナライザを実行できます。SQLパフォーマンス・アナライザ分析の実行にはリソースが集中するため、本番システムで実行すると、重大なパフォーマンスの低下を招くことがあります。

また、パフォーマンスの影響をテストするためのシステムでのグローバル変更によって、システムの他のユーザーにも影響を与える場合があります。索引の追加や削除などのわずかな変更については許容できますが、データベース・アップグレードなどのシステム規模の変更については、本番システムの使用は推奨されないため、テスト・システムを使用できない場合のみ検討してください。別のテスト・システムを使用できる場合は、SQLパフォーマンス・アナライザをテスト・システムで実行することによって、本番システムに影響を及ぼさずに、変更による影響をテストできます。

SQLパフォーマンス・アナライザによるSQLパフォーマンス影響を正確に分析可能にするには、テスト・システムを本番システムと可能なかぎり類似させる必要があります。このため、テスト・システムでのSQLパフォーマンス・アナライザの実行が推奨され、その方法をここで説明します。本番システムでSQLパフォーマンス・アナライザを実行する場合は、単に適切なテスト・システムを代用します。

SQLパフォーマンス・アナライザによるシステム変更のSQLパフォーマンス影響の分析は、次の手順を含む反復プロセスです。

  1. 「SQLワークロードの取得および移送」で説明されているとおり、本番システムで分析するSQLワークロードを取得します。

  2. 「SQLワークロードの取得および移送」で説明されているとおり、本番システムからテスト・システムにSQLワークロードを移送します。

  3. 「SQLパフォーマンス・アナライザのガイド付きワークフローの利用」で説明されているとおり、入力ソースとしてSQLワークロードを使用してテスト・システムでSQLパフォーマンス・アナライザ・タスクを作成します。

  4. 「初期環境の設定」で説明されているとおり、本番システムと可能なかぎり一致するようにテスト・システムの環境を設定します。

  5. 「変更前のSQLパフォーマンス・データの収集」で説明されているとおり、変更前のシステムでSQLワークロードを実行して、変更前のパフォーマンス・データを構築します。

  6. 「システム変更の実行」で説明されているとおり、テスト・システムでシステム変更を実行します。

  7. 「変更後のSQLパフォーマンス・データの収集」で説明されているとおり、変更後のシステムでSQLワークロードを実行して、変更後のパフォーマンス・データを構築します。

  8. 「変更前後のSQLパフォーマンスの比較」で説明されているとおり、パフォーマンス・データの変更前および変更後のバージョンを比較および分析します。

  9. システム変更の実行後に向上、変化なし、または低下したSQLワークロード内のSQL文を識別するレポートを生成し、確認します。

  10. 第10章「SQL文のチューニング」で説明されているとおり、識別された低下したSQL文をチューニングします。

  11. パフォーマンスの目標が達成されるまで、手順5から10を繰り返して、チューニング済SQL文のパフォーマンスが許容範囲にあるようにします。

この項の内容は次のとおりです。

SQLワークロードの取得および移送

SQLパフォーマンス・アナライザの実行前に、分析し、テスト・システムに移送するSQLワークロードを表す本番システム上のSQL文のセットを取得します。取得したSQL文には、次の情報が含まれている必要があります。

取得したSQL文をSQLチューニング・セットに格納し、SQLパフォーマンス・アナライザの入力ソースとして使用できます。SQLチューニング・セットを使用してSQLワークロードを取得すると、次のことが可能です。

本番システムでSQLチューニング・セットにSQLワークロードを取得した後は、テスト・システムに移送する必要があります。

参照:

 

テスト・システムでのデータベース環境の設定

テスト・データベースの作成方法は複数あります。たとえば、Recovery Manager(RMAN)のDUPLICATEコマンド、Oracle Data Pump、トランスポータブル表領域などを使用できます。既存のバックアップやアクティブな本番データファイルからテスト・データベースを作成できるため、Recovery Managerを使用することをお薦めします。本番データベースとテスト・データベースは同じホストまたは異なるホストに存在できます。

テスト・データベース環境は、本番システムのデータベース環境と可能なかぎり一致するように構成する必要があります。このようにすることで、SQLパフォーマンス・アナライザは、システム変更によるSQLパフォーマンスへの影響をより正確に予測できるようになります。

参照:

  • Recovery Managerを使用したデータベースの複製については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

 

SQLワークロードの実行

SQLワークロードを取得してテスト・システムに移送し、初期データベース環境を適切に構成した後、SQLワークロードを実行して、システム変更前のパフォーマンス・データを構築する必要があります。ワークロードに含まれるSQL文ごとにSQLワークロードを最後まで実行します。実行中、SQLパフォーマンス・アナライザによって実行計画が生成され、ワークロード内のSQL文ごとの実行統計が計算されます。変更前のパフォーマンス・データの構築後、システム変更を実行できます。

システム変更の実行後、SQLワークロードを再び実行して変更後のパフォーマンス・データを構築する必要があります。SQLパフォーマンス・アナライザによって実行計画が生成され、再度、ワークロード内のSQL文ごとの実行統計が計算されます。この結果のパフォーマンス・データの新しいセットは、パフォーマンス・データの変更前のバージョンとの比較に使用できます。

サイズによっては、SQLワークロードの実行にリソースが集中するため、システムに重大なパフォーマンスの影響を及ぼします。SQLワークロードの実行時に、実行統計を収集せずに実行計画のみ生成することを選択できます。これによって実行時間が短縮され、システム・リソースへの影響は小さくなりますが、比較分析の結果が不正確になることがあります。本番システムでSQLパフォーマンス・アナライザを実行する場合は、プライベート・セッションでSQLワークロードを実行し、残りのシステムへの影響を回避することもできます。

SQLパフォーマンス・アナライザの実行

SQLパフォーマンス・アナライザにより、SQLチューニング・セット内のSQL文の実行における環境変更の影響を分析できます。「SQLチューニング・セットの管理」で説明されているように、SQLチューニング・セットは、1つ以上のSQL文、実行統計および実行コンテキストを含むデータベース・オブジェクトです。パフォーマンス分析に加えて、SQLパフォーマンス・アナライザにより、SQLアドバイザが起動され、チューニングの推奨事項が提供されます。

SQLパフォーマンス・アナライザにより、次のワークフローを使用してSQLワークロードの比較を実行します。

前述のワークフローごとに、SQLパフォーマンス・アナライザ・タスクを作成する必要があります。タスクは、SQL試行の結果のコンテナです。SQL試行により、特定の環境条件下でのSQLチューニング・セットの実行パフォーマンスが取得されます。

SQLパフォーマンス・アナライザの実行手順:
  1. データベースのホームページで、「セントラル・アドバイザ」をクリックします。

    「セントラル・アドバイザ」ページが表示されます。

  2. 「SQLパフォーマンス・アナライザ」をクリックします。

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


    画像の説明

  3. 次のいずれかの操作を行います。

SQLパフォーマンス・アナライザによる初期化パラメータの変更のテスト

パラメータの変更のワークフローにより、単一環境の初期化パラメータが2つの異なる値をとる場合のSQLチューニング・セットに対するパフォーマンスの影響をテストできます。たとえば、ソート領域サイズが1MBから2MBに増加する場合のSQLパフォーマンスを比較できます。

SQLチューニング・セットおよび比較メトリックを選択した後、SQLパフォーマンス・アナライザによりタスクが作成され、元の値に設定された初期化パラメータを使用して試行が実行されます。次にアナライザにより、新しい値に設定されたパラメータを使用して2回目の試行が実行されます。システムで生成されたSQL試行比較レポートによって低下が評価されます。

初期化パラメータの変更のテスト手順:
  1. 「SQLパフォーマンス・アナライザ」ページで、「パラメータの変更」をクリックします。

    「パラメータの変更」ページが表示されます。


    画像の説明

  2. 「タスク名」フィールドに、タスク名を入力します。

    たとえば、SORT_TIMEと入力します。

  3. 「SQLチューニング・セット」を選択します。次のいずれかの操作を行います。

    • 「SQLチューニング・セット」に、分析するSQLワークロードを含むSQLチューニング・セットの名前を入力します。

    • 検索アイコンをクリックし、SQLチューニング・セットを検索して、次にセットを選択します。

      「SQLチューニング・セット」フィールドにチューニング・セットが表示されます。

  4. 「説明」フィールドで、タスクの説明を入力します(オプション)。

    たとえば、次のテキストを入力します。Double the value of sort_area_size

  5. 「作成方法」リストで次のいずれかの操作を行い、SQL試行の作成方法と生成するコンテンツを決定します。

    • 「SQLの実行」を選択します。

      実際にSQL文を実行することで、SQL試行ではSQLチューニング・セット内の各SQL文の実行計画と実行統計が生成されます。

    • 「計画の生成」を選択します。

      SQL試行によってオプティマイザが起動され、実際にSQL文を実行せずに実行計画のみが作成されます。

  6. 「SQL当たりの時間制限」リストで次のいずれかの操作を行い、試行時のSQL実行の時間制限を決定します。

    • 「無制限」を選択します。

      SQLチューニング・セット内の各SQL文が完了まで実行され、パフォーマンス・データが収集されます。実行統計が収集されると、パフォーマンス分析がより正確になりますが、長い時間がかかります。

    • 「カスタマイズ」を選択して、特定の時間数、分数、秒数を入力します。

  7. 「パラメータの変更」セクションで次の手順を実行します。

    1. 「パラメータ名」フィールドで、値を変更する初期化パラメータ名を入力するか、または「検索」アイコンをクリックして現在のパラメータ設定を確認します。

      たとえば、sort_area_sizeと入力します。

    2. 「ベース値」フィールドに、初期化パラメータの現在の値を入力します。

      たとえば、1048576と入力します。

    3. 「変更された値」フィールドに、初期化パラメータの新しい値を入力します。

      たとえば、2097152と入力します。

  8. 「比較メトリック」リストで、分析に使用する比較メトリックを選択します。

    • 手順5「計画の生成」を選択した場合は、「オプティマイザ・コスト」を選択します。

    • 手順5「SQLの実行」を選択した場合は、次のいずれかのオプションを選択します。

      • 経過時間

      • CPU時間

      • バッファ読取り

      • ディスク読取り

      • ダイレクト書込み

      • オプティマイザ・コスト

    複数の比較メトリックを使用して比較分析を実行するには、異なるメトリックを使用してこのプロシージャを繰り返すことにより個別の比較分析を実行します。

  9. 「スケジュール」セクションで、次の手順を実行します。

    1. 「タイムゾーン」リストで、タイムゾーンのコードを選択します。

    2. 「即時」を選択してすぐにタスクを開始するか、または「後で」を選択して「日付」および「時間」のフィールドを使用して指定した時刻に開始するタスクをスケジュールします。

  10. 「発行」をクリックします。

    確認メッセージが表示されます。

    「SQLパフォーマンス・アナライザのタスク」セクションには、このタスクのステータスが表示されます。ステータス・アイコンをリフレッシュするには、「リフレッシュ」をクリックします。タスクの完了後、「最終実行ステータス」アイコンがチェック・マークに変わります。


    画像の説明

  11. 「SQLパフォーマンス・アナライザのタスク」セクションで、タスクを選択し、「名前」列のリンクをクリックします。

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


    画像の説明

    このページには、次のセクションがあります。

    • SQLチューニング・セット

      このセクションでは、SQLチューニング・セットについて、その名前、所有者、説明、そこに含まれているSQL文の数などの概要が示されます。

    • SQL試行

      このセクションでは、SQLパフォーマンス・アナライザ・タスクで使用されたSQL試行がリストされる表が含まれます。

    • SQL試行比較

      このセクションでは、ワークロード比較の結果がリストされる表が含まれます。

  12. 「比較レポート」列内のアイコンをクリックします。

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

  13. 「SQLパフォーマンス・アナライザ・レポートの確認」の説明に従って、パフォーマンス分析の結果を確認します。

SQLパフォーマンス・アナライザのガイド付きワークフローの利用

ガイド付きワークフローを使用して、SQLワークロードのパフォーマンスに影響する可能性のある様々なシステム変更の前後でSQL文のパフォーマンスを比較できます。

ヒント:

SQLパフォーマンス・アナライザ・タスクの作成前に、「SQLワークロードの取得および移送」で説明されているとおり、パフォーマンス分析で使用するSQLワークロードを、本番システムのSQLチューニング・セットで取得して、これをパフォーマンス分析を実行するテスト・システムに移送します。 

ガイド付きワークフローの初期化手順:
  1. 「SQLパフォーマンス・アナライザ」ページで、「ガイド付きワークフロー」をクリックします。

    「ガイド付きワークフロー」ページが表示されます。

    このページには、SQLパフォーマンス・アナライザ・タスクで必要な手順が順番にリストされます。各手順は、次の手順を開始する前に表示順に完了する必要があります。


    画像の説明

  2. 次の手順に進みます(「SQLチューニング・セットに基づくSQLパフォーマンス・アナライザ・タスクの作成」を参照)。

SQLチューニング・セットに基づくSQLパフォーマンス・アナライザ・タスクの作成

SQLパフォーマンス・アナライザを実行するには、SQLパフォーマンス・アナライザ・タスクを作成する必要があります。このタスクでは、パフォーマンス分析に使用されるワークロードを含むSQLチューニング・セットを選択する必要があります。

SQLパフォーマンス・アナライザ・タスクでは、SQLチューニング・セットは一定であり、各SQL試行時には分離した状態で実行されます。したがって、試行間のパフォーマンスの差異は環境の差異によるものです。

ヒント:

SQLチューニング・セットに基づくSQLパフォーマンス・アナライザ・タスクを作成する前に、「SQLワークロードの取得および移送」で説明されているとおり、パフォーマンス分析で使用するSQLワークロードを、本番システムのSQLチューニング・セットで取得して、テスト・システムに転送します。 

SQLチューニング・セットに基づくタスクの作成手順:
  1. 「ガイド付きワークフロー」ページで、「SQLチューニング・セットに基づくSQLパフォーマンス・アナライザのタスクの作成」手順の「実行」アイコンをクリックします。

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


    画像の説明

  2. 「名前」フィールドに、タスク名を入力します。

  3. 「説明」フィールドで、タスクの説明を入力します(オプション)。

  4. 「SQLチューニング・セット」セクションで、次のいずれかを実行します。

    • 「名前」フィールドに、分析するSQLワークロードを含むSQLチューニング・セットの名前を入力します。

    • 検索アイコンをクリックし、SQLチューニング・セットを検索して、次にセットを選択します。

      「名前」フィールドにチューニング・セットが表示されます。

  5. 「作成」をクリックします。

    「ガイド付きワークフロー」ページが表示されます。

    この手順のステータス・アイコンがチェック・マークに変わり、次の手順の「実行」アイコンが使用可能になります。

  6. 次の手順に進みます(「初期環境の設定」を参照)。

初期環境の設定

入力ソースとしてSQLチューニング・セットを選択した後、テスト・システムに初期環境を設定します。この手順は、手動で実行する必要があるため、「ガイド付きワークフロー」ページには含まれません。データベース環境の設定の詳細は、「テスト・システムでのデータベース環境の設定」を参照してください。

ヒント:

初期環境を設定する前に、「SQLチューニング・セットに基づくSQLパフォーマンス・アナライザ・タスクの作成」の説明に従って、SQLチューニング・セットを選択します。 

初期環境の設定手順:
  1. テスト・システムで、SQLの最適化およびパフォーマンスに影響するすべての必要な環境変更を手動で作成します。

    これらの変更には、初期化パラメータの変更、オプティマイザ統計の収集または設定、索引の作成が含まれます。

  2. 次の手順に進みます(「変更前のSQLパフォーマンス・データの収集」を参照)。

変更前のSQLパフォーマンス・データの収集

テスト・システムで初期環境を適切に構成した後、システム変更の実行前にSQLワークロードを実行して、パフォーマンス・データの変更前のバージョンを構築する必要があります。ワークロードの実行の詳細は、「SQLワークロードの実行」を参照してください。

ヒント:

パフォーマンス・データの変更前のバージョンを計算する前に、「初期環境の設定」の説明に従って、初期環境を設定します。 

変更前のSQLパフォーマンス・データの収集手順:
  1. 「ガイド付きワークフロー」ページで、「初期環境でSQLチューニング・セットをリプレイ」手順の「実行」アイコンをクリックします。

    「SQL試行の作成」ページが表示されます。SQLワークロードを含む選択済のSQLチューニング・セットのサマリーが表示されます。


    画像の説明

  2. 「SQL試行名」フィールドに、SQL試行名を入力します。

  3. 「SQL試行の説明」フィールドに、SQL試行の説明を入力します。

  4. 「作成方法」リストで次のいずれかの操作を行い、SQL試行の作成方法と生成するコンテンツを決定します。

    • 「SQLをローカルで実行」を選択します。

      実際にSQL文をテスト・システムでローカルに実行することで、SQL試行ではSQLチューニング・セット内の各SQL文の実行計画と実行統計が生成されます。

    • 「SQLをリモートで実行」を選択します。

      実際にSQL文をパブリック・データベース・リンク上の別のテスト・システムでリモートに実行することで、SQL試行ではSQLチューニング・セット内の各SQL文の実行計画と実行統計が生成されます。

    • 「計画をローカルで実行」を選択します。

      SQL試行によってオプティマイザが起動され、実際にSQL文を実行せずにテスト・システムでローカルに実行計画が作成されます。

    • 「計画をリモートで実行」を選択します。

      SQL試行によってオプティマイザが起動され、実際にSQL文を実行せずにパブリック・データベース・リンク上の別のテスト・システムでリモートに実行計画が作成されます。

    • 「SQLチューニング・セットから作成」を選択します。

      SQL試行によってSQLチューニング・セットから試行に実行計画と実行統計が直接コピーされます。

  5. 「SQL当たりの時間制限」リストで次のいずれかの操作を行い、試行時のSQL実行の時間制限を決定します。

    • 「無制限」を選択します。

      SQLチューニング・セット内の各SQL文が完了まで実行され、パフォーマンス・データが収集されます。実行統計が収集されると、パフォーマンス分析がより正確になりますが、長い時間がかかります。

    • 「カスタマイズ」を選択して、特定の時間数、分数、秒数を入力します。

  6. テスト・システムのデータベース環境を本番環境と可能なかぎり一致するように設定し、「試行環境が設定されました」を選択します。

  7. 「スケジュール」セクションで、次のいずれかの操作を行います。

    1. 「タイムゾーン」フィールドにタイムゾーンのコードを入力するか、または検索アイコンをクリックしてコードを領域に移動します。

    2. 「即時」を選択してすぐにタスクを開始するか、または「後で」を選択して「日付」および「時間」のフィールドを使用して指定した時刻に開始するタスクをスケジュールします。

  8. 「OK」をクリックします。

    実行が開始されると、「ガイド付きワークフロー」ページが表示されます。

    実行が進行中である期間、このタスクのステータス・アイコンが時計に変わります。ステータス・アイコンをリフレッシュするには、「リフレッシュ」をクリックします。選択済のオプションおよびSQLワークロードのサイズによって、実行の完了に長い時間がかかる可能性もあります。実行の完了後、ステータス・アイコンがチェック・マークに変わり、次の手順の「実行」アイコンが使用可能になります。

  9. 次の手順に進みます(「システム変更の実行」を参照)。

システム変更の実行

変更前のSQLパフォーマンス・データを計算した後、テスト・システムでシステム変更を実行します。この手順は、手動で実行する必要があるため、「ガイド付きワークフロー」ページには含まれません。変更のタイプによっては、「テスト・システムでのデータベース環境の設定」の説明に従って、SQLパフォーマンス分析を実行する新しい環境に一致させるためにテスト・システムの環境の再構成が必要な可能性もあります。

SQLパフォーマンス・アナライザにより、あらゆるタイプのシステム変更に対するSQLパフォーマンスの影響を分析できます。たとえば、データベース表の再設計、索引の追加または削除などの変更に関わるアプリケーション・アップグレードをテストする場合です。SQLパフォーマンス・アナライザにより分析できる異なるタイプのシステム変更の例は、「SQLパフォーマンス・アナライザの使用方法」を参照してください。

ヒント:

システム変更を実行する前に、「変更前のSQLパフォーマンス・データの収集」の説明に従って、パフォーマンス・データの変更前のバージョンを構築します。 

システム変更の実行手順:
  1. テスト・システムに必要な変更を加えます。

  2. 次の手順に進みます(「変更後のSQLパフォーマンス・データの収集」を参照)。

変更後のSQLパフォーマンス・データの収集

システム変更を実行した後、SQLワークロードを再度実行して、パフォーマンス・データの変更後のバージョンを構築します。ワークロードの実行の詳細は、「SQLワークロードの実行」を参照してください。

ヒント:

パフォーマンス・データの変更後のバージョンを構築する前に、「システム変更の実行」の説明に従って、システム変更を実行します。 

変更後のSQLパフォーマンスの収集手順:
  1. 「ガイド付きワークフロー」ページで、「変更された環境でSQLチューニング・セットをリプレイ」手順の「実行」アイコンをクリックします。

    「SQL試行の作成」ページが表示されます。

  2. 「SQL試行名」フィールドに、実行名を入力します。

  3. 「SQL試行の説明」フィールドに、実行の説明を入力します。

  4. 「作成方法」リストで次のいずれかの操作を行い、SQL試行の作成方法と生成するコンテンツを決定します。

    • 「SQLをローカルで実行」を選択します。

      実際にSQL文をテスト・システムでローカルに実行することで、SQL試行ではSQLチューニング・セット内の各SQL文の実行計画と実行統計が生成されます。

    • 「SQLをリモートで実行」を選択します。

      実際にSQL文をパブリック・データベース・リンク上の別のテスト・システムでリモートに実行することで、SQL試行ではSQLチューニング・セット内の各SQL文の実行計画と実行統計が生成されます。

    • 「計画をローカルで実行」を選択します。

      SQL試行によってオプティマイザが起動され、実際にSQL文を実行せずにテスト・システムでローカルに実行計画が作成されます。

    • 「計画をリモートで実行」を選択します。

      SQL試行によってオプティマイザが起動され、実際にSQL文を実行せずにパブリック・データベース・リンク上の別のテスト・システムでリモートに実行計画が作成されます。

    これらの各作成方法では、アプリケーション・スキーマとデータがローカル・テスト・システムまたはリモート・テスト・システムにすでに存在している必要があります。

  5. 「SQL当たりの時間制限」リストで次のいずれかの操作を行い、試行時のSQL実行の時間制限を決定します。

    • 「無制限」を選択します。

      SQLチューニング・セット内の各SQL文が完了まで実行され、パフォーマンス・データが収集されます。実行統計が収集されると、パフォーマンス分析がより正確になりますが、長い時間がかかります。

    • 「カスタマイズ」を選択して、特定の時間数、分数、秒数を入力します。

  6. テスト・システムのデータベース環境が本番環境と可能なかぎり一致するように確実に設定し、「試行環境が設定されました」を選択します。

  7. 「スケジュール」セクションで、次の手順を実行します。

    1. 「タイムゾーン」フィールドにタイムゾーンのコードを入力するか、または検索アイコンをクリックしてコードを領域に移動します。

    2. 「即時」を選択してすぐにタスクを開始するか、または「後で」を選択して「日付」および「時間」のフィールドを使用して指定した時刻に開始するタスクをスケジュールします。

  8. 「OK」をクリックします。

    実行が開始されると、「ガイド付きワークフロー」ページが表示されます。

    実行が進行中である期間、このタスクのステータス・アイコンが矢印に変わります。ステータス・アイコンをリフレッシュするには、「リフレッシュ」をクリックします。選択済のオプションおよびSQLワークロードのサイズによって、実行の完了に長い時間がかかる可能性もあります。実行の完了後、ステータス・アイコンがチェック・マークに変わり、次の手順の「実行」アイコンが使用可能になります。

  9. 次の手順に進みます(「変更前後のSQLパフォーマンスの比較」を参照)。

変更前後のSQLパフォーマンスの比較

変更後のSQLパフォーマンス・データが構築された後、比較分析を実行し、パフォーマンス・データの変更前のバージョンと変更後のバージョンを比較します。

ヒント:

パフォーマンス・データの変更前のバージョンを変更後のバージョンと比較する前に、「変更後のSQLパフォーマンス・データの収集」の説明に従って、パフォーマンス・データの変更後のバージョンを構築します。 

変更前後のSQLパフォーマンスの分析手順:
  1. 「ガイド付きワークフロー」ページで、比較手順2および手順3の「実行」アイコンをクリックします。

    「SQL試行比較の実行」ページが表示されます。


    画像の説明

    この例では、SQL_TRIAL_1207494888380SQL_TRIAL_1207499034916の試行が比較対象として選択されています。

  2. デフォルトでリストされる試行以外の試行を比較するには、「試行1の名前」リストおよび「試行2の名前」リストで必要な試行を選択します。

    統計試行と実行計画のみをテストする試行は比較できないことに注意してください。

  3. 「比較メトリック」リストで、比較分析に使用する比較メトリックを選択します。

    使用できる比較メトリックのタイプには、次のものがあります。

    • 経過時間

    • CPU時間

    • バッファ読取り

    • ディスク読取り

    • ダイレクト書込み

    • オプティマイザ・コスト

    複数の比較メトリックを使用して比較分析を実行するには、異なるメトリックを使用してこのプロシージャを繰り返すことにより個別の比較分析を実行します。

  4. 「スケジュール」セクションで、次の手順を実行します。

    1. 「タイムゾーン」フィールドにタイムゾーンのコードを入力するか、または検索アイコンをクリックしてコードを領域に移動します。

    2. 「即時」を選択してすぐにタスクを開始するか、または「後で」を選択して「日付」および「時間」のフィールドを使用して指定した時刻に開始するタスクをスケジュールします。

  5. 「発行」をクリックします。

    比較分析が開始されると、「ガイド付きワークフロー」ページが表示されます。

    比較分析が進行中である期間、この手順のステータス・アイコンが矢印に変わります。ステータス・アイコンをリフレッシュするには、「リフレッシュ」をクリックします。変更前および変更後の実行から収集されたパフォーマンス・データの量によって、比較分析の完了に長い時間がかかる可能性もあります。比較分析の完了後、ステータス・アイコンがチェック・マークに変わります。

  6. 試行比較結果の表示の「実行」アイコンをクリックします。

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

  7. 「SQLパフォーマンス・アナライザ・レポートの確認」の説明に従って、分析の結果を確認します。

SQLパフォーマンス・アナライザ・レポートの確認

SQLパフォーマンス・アナライザ・タスクが完了すると、結果データがレポートに生成されます。この項では、SQLパフォーマンス・アナライザ・レポートのサンプルを示します。このサンプルのレポートでは、経過時間比較メトリックを使用して変更前および変更後のSQLワークロードの実行を比較します。


画像の説明

SQLパフォーマンス・アナライザ・レポートの確認手順:
  1. 「SQLパフォーマンス・アナライザ・レポートの確認: 一般情報」の説明に従って、パフォーマンス分析の一般情報を確認します。

  2. 「SQLパフォーマンス・アナライザ・レポートの確認: グローバル統計」の説明に従って、一般統計を確認します。

  3. オプションで、「SQLパフォーマンス・アナライザ・レポートの確認: グローバル統計の詳細」の説明に従って、詳細な統計を確認します。

SQLパフォーマンス・アナライザ・レポートの確認: 一般情報

「一般情報」セクションでは、SQLパフォーマンス・アナライザにより実行されたワークロードの比較に関する基本情報およびメタデータが含まれます。


画像の説明

一般情報の確認手順:
  1. 「SQLパフォーマンス・アナライザのタスク結果」ページで、ページ上部にある情報を確認します。

    ページ上部のサマリーには、次の情報が含まれます。

    • SQLパフォーマンス・アナライザ・タスクの名前、所有者および説明

    • SQLチューニング・セットの名前および所有者

    • チューニング・セット内のSQL文の合計数およびエラー文の数

    • 使用されるSQL試行および比較メトリックの名前

  2. オプションで、「SQLチューニング・セット名」の隣にあるリンクをクリックします。

    「SQLチューニング・セット」ページが表示されます。

    このページには、SQLのID情報、SQLテキストおよびセット内のすべてのSQL文の関連情報が含まれます。

  3. エラーが見つかった場合は、「エラーのあるSQL文」の隣にあるリンクをクリックします。

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

    「エラー」表では、任意のSQLワークロードの実行中に発生するすべてのエラーがレポートされます。SQLチューニング・セットでのすべての文の実行に共通する場合は、SQLチューニング・セット・レベルでエラーがレポートされます。また、SQL文または実行計画に固有の場合は、実行レベルで記録されます。

  4. 「SQLパフォーマンス・アナライザ・レポートの確認: グローバル統計」の説明に従って、一般統計を確認します。

SQLパフォーマンス・アナライザ・レポートの確認: グローバル統計

「グローバル統計」セクションにより、SQLワークロードの全体的なパフォーマンスについての統計がレポートされます。このセクションによりSQLワークロードの全体的なパフォーマンスに対するシステム変更の影響がレポートされるため、SQLパフォーマンス・アナライザ分析の非常に重要な部分を占めます。このセクションの情報を使用して、ワークロード・パフォーマンスの傾向を理解し、システム変更によりワークロード・パフォーマンスがどのように影響を受けるかを判断します。

グローバル統計の確認手順:
  1. 「計画済ワークロード実行経過時間」サブセクション内のグラフを確認します。

    グラフでは、X軸に2つのリプレイが表示され、Y軸に実行経過時間(秒単位)が表示されます。


    画像の説明

    最も重要な統計は全体的な影響で、パーセントで示されます。全体的な影響は、改善の影響と低下の影響の差になります。「SQLパフォーマンス・アナライザ・レポートの確認: グローバル統計の詳細」の説明に従って、あらゆる影響統計のリンクをクリックして詳細を確認できます。

    この例では、改善の影響は44%、低下の影響は-6%であるため、システム変更の全体的な影響は、約37%の改善になります。

  2. 「SQL文の数」サブセクションのグラフを確認します。

    グラフのX軸には、システム変更後、改善されたSQL文、低下したSQL文および変更のなかったSQL文の数が表示されます。Y軸にはSQL文の数が表示されます。またグラフには、実行計画のSQL文に対する変更の有無を示します。


    画像の説明

    グラフにより、SQL文の相対的なパフォーマンスを迅速に比較できます。「SQLパフォーマンス・アナライザ・レポートの確認: グローバル統計の詳細」の説明に従って、グラフ内のいずれかのバーをクリックして詳細を確認できます。

    この例では、システム変更後にすべてのSQL文が変化していません。

SQLパフォーマンス・アナライザ・レポートの確認: グローバル統計の詳細

SQLパフォーマンス・アナライザ・レポートを使用してSQLワークロード比較の詳細な統計を取得できます。詳細グラフにより、レポートの「結果サマリー」セクションに表示されるSQL文のパフォーマンスにドリルダウンできます。このセクションの情報を使用して、特定のSQL文のパフォーマンスが低下した原因を調査します。

グローバル統計の詳細の確認手順:
  1. 「SQLパフォーマンス・アナライザのタスク結果」ページのいずれかのグラフにあるバーをクリックするか、「計画済ワークロード実行経過時間」サブセクション内の影響のパーセントをクリックします。

    詳細な統計を含む表が表示されます。表によっては、次の列が含まれています。

    • SQL ID

      この列では、SQL文のIDが示されます。

    • ワークロードに対する最終的な影響(%)

      この列では、SQLワークロードのパフォーマンスに関連するシステム変更の影響が示されます。

    • 経過時間

      この列では、SQL文の実行の合計時間(秒単位)が示されます。

    • SQLに対する最終的な影響(%)

      この列では、特定のSQL文のパフォーマンスにおける変更のローカルの影響が示されます。

    • ワークロードの%

      この列では、このSQL文で消費されるワークロード全体のパーセントが示されます。

    • 変更済の計画

      この列では、SQL実行計画の変更の有無が示されます。

  2. 表内のいずれかのSQL文の「SQL ID」をクリックします。

    「SQLの詳細」ページが表示されます。

    このページを使用して、SQL文のテキストにアクセスし、CPU時間、バッファ読取り、オプティマイザ・コストなどの下位レベルの詳細を取得できます。


戻る 次へ
Oracle
Copyright © 2007, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引