ヘッダーをスキップ

Oracle Database パフォーマンス・チューニング・ガイド
10gリリース2(10.2)

B19207-02
目次
目次
索引
索引

戻る 次へ

22 SQLパフォーマンス・アナライザ

データベースのアップグレードや新規索引の追加など、SQL実行計画に影響するシステム変更は、SQLのパフォーマンスに重大な影響を及ぼす可能性があります。 その結果、DBAは変更が原因で低下したSQL文の識別と修正に長時間費やすことになります。

SQLパフォーマンス・アナライザは、それぞれの文のパフォーマンスの相違を識別することで、変更がSQLワークロード全体に及ぼす影響の評価プロセスを自動化します。 変更がワークロード・パフォーマンスに及ぼす最終的な影響を示すレポートが提供されます。 また、低下したSQL文については、チューニング推奨とともに適切な実行計画詳細も提供されます。 その結果、DBAはエンド・ユーザーが影響を受ける前に望ましくない結果を処置し、本番環境に対するシステム変更が最終的な改善をもたらすかどうかを検証できます。これにより、大幅に時間を短縮してコストを削減できます。

SQLパフォーマンス・アナライザを使用すると、あらゆるタイプのシステム変更がSQLパフォーマンスに及ぼす影響を分析できます。 SQLパフォーマンス・アナライザを使用できる一般的なシステム変更の例を次に示します。

この章には次の項があります。

SQLパフォーマンス・アナライザの概要

図22-1に示すように、SQLパフォーマンス・アナライザでは、システム変更がSQLパフォーマンスに及ぼす影響が5つの主要ステップで評価されます。

図 22-1    SQLパフォーマンス・アナライザ・ワークフロー


画像の説明

SQLパフォーマンス・アナライザ・ワークフローのステップは、次のとおりです。

  1. SQLワークロードの取得

    最初に、本番システム上の典型的なSQLワークロードを表すSQL文のセットをSQLチューニング・セット(STS)に取得する必要があります。 その後、ワークロードを取得したのと同じデータベース、または別のデータベース上で、SQLパフォーマンス・アナライザ分析を実行できます。 分析はリソース集中型のため、通常は本番データベース上でワークロードを取得し、本番システムに類似したテスト・データベース上で分析を実行します。 これらのアクションの実行方法の詳細は、「SQLワークロードの取得」を参照してください。

  2. 変更前のワークロードのパフォーマンス測定

    SQLパフォーマンス・アナライザにより、SQLチューニング・セットに取得されたSQL文が実行され、文ごとに実行計画と実行統計が生成されます。 データベースへの悪影響を回避するために、問合せとDML文の問合せ部分のみが実行されます。 SQLパフォーマンス・アナライザでは、初期の実行順序と同時実行性が考慮されず、SQL文が相互に分離されて逐次実行されます。 ただし、SQLパフォーマンス・アナライザによるSQL問合せの実行順序はカスタマイズできます。 たとえば、レスポンス時間に関して最も高コストのSQL文から開始できます。

  3. 変更の実行

    測定対象のSQLパフォーマンスに影響するような変更を行います。 SQLパフォーマンス・アナライザでは、多数のタイプのシステム変更による影響を分析できます。 たとえば、データベースのアップグレード、新規索引の作成、初期化パラメータの変更、オプティマイザ統計のリフレッシュなどをテストできます。

  4. 変更後のワークロードのパフォーマンス測定

    計画に従って変更した後、SQLパフォーマンス・アナライザによりSQL文が再実行され、各SQL文の実行計画と実行統計が再び生成されます。 この実行結果は、SQLパフォーマンス・アナライザで以降の比較に使用されるパフォーマンス・データの新規セットを表します。

  5. パフォーマンスの比較

    SQLパフォーマンス・アナライザにより、変更前と変更後のSQL文のパフォーマンスが比較され、SQL文の実行計画またはパフォーマンスの変化を識別するレポートが生成されます。

    低下したSQL文がパフォーマンス比較により判明した場合は、さらに変更を行って問題を処置できます。 たとえば、SQLチューニング・アドバイザを実行して、低下したSQLを修正できます。 その後、SQLチューニング・セットを実行してパフォーマンスを最初の実行と比較するプロセスを繰り返すことができます。 これらのステップを、分析結果に問題がなくなるまで繰り返します。

SQLワークロードの取得

SQLパフォーマンス・アナライザで使用できるSQLワークロードを取得するには、典型的なSQL文セットを取得してSQLチューニング・セットに格納する必要があります。 SQLチューニング・セットは、SQLワークロードの管理に使用するデータベース・オブジェクトです。 SQLチューニング・セットを使用すると、1つ以上のSQL文をその実行コンテキストとともに格納できます。実行コンテキストには、SQLのテキスト、SQL文をコンパイルできる解析スキーマ、SQL文の実行に必要なバインド値、実行計画、SQL文の実行回数などが含まれます。

SQLチューニング・セットには、カーソル・キャッシュ、自動ワークロード・リポジトリ(AWR)および既存のSQLチューニング・セットなど、様々なソースからSQL文をロードできます。 SQLチューニング・セットの作成、ロードおよび転送の詳細は、「SQLチューニング・セット」を参照してください。


注意:

現在、このリリースでサポートされているのは、SQLワークロードの取得のみです。 Oracle Database 11g リリース1(11.1)以降のリリースでは、取得したSQLワークロードを実行し、そのパフォーマンスを測定して比較できます。 詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド 11gリリース1(11.1)』を参照してください。 



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

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