ヘッダーをスキップ
Oracle® Database Real Application Testingユーザーズ・ガイド
11gリリース2(11.2)
B56321-06
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 分析タスクの作成

分析するSQLワークロードをSQLチューニング・セットに取得したら、SQLパフォーマンス・アナライザを実行して、システム変更がSQLパフォーマンスに与える影響を分析できます。SQLパフォーマンス・アナライザを実行するには、まずSQLパフォーマンス・アナライザのタスクを作成する必要があります。タスクは、SQLパフォーマンス・アナライザの完全な分析に関するすべてのデータがカプセル化されているコンテナです。SQLパフォーマンス・アナライザの分析は、2つ以上のSQL試行と1つの比較で構成されています。SQL試行は特定の環境条件下でSQLチューニング・セットの実行パフォーマンスを取得するもので、次のいずれかの方法でSQLパフォーマンス・アナライザを使用して自動的に生成できます。

SQLパフォーマンス・アナライザのタスクを作成する場合は、入力ソースとしてSQLチューニング・セットを選択する必要があります。このSQLチューニング・セットがSQL試行のテスト実行または実行計画生成のソースとして使用されます。このため、試行間のパフォーマンスの相違は、環境の相違が原因となります。詳細は、「SQLパフォーマンス・アナライザのタスクの作成」を参照してください。

この章では、SQLパフォーマンス・アナライザのタスクの作成方法について説明します。内容は次のとおりです。


注意:

SQLパフォーマンス・アナライザを実行するための主要なインタフェースは、Oracle Enterprise Managerです。なんらかの理由でOracle Enterprise Managerを使用できない場合は、DBMS_SQLPA PL/SQLパッケージを使用してSQLパフォーマンス・アナライザを実行できます。


ヒント:

SQLパフォーマンス・アナライザを実行する前に、パフォーマンスの分析に使用するSQLワークロードを本番システムのSQLチューニング・セットに取得して、パフォーマンスの分析を実行するテスト・システムに転送します。詳細は、「SQLワークロードの取得」を参照してください。

3.1 Enterprise Managerを使用した分析タスクの作成

Oracle Enterprise Managerでは、いくつかのワークフローでSQLパフォーマンス・アナライザ・タスクを作成できます。

Enterprise Managerを使用して分析タスクを作成するには、次の手順を実行します。

  1. 「ソフトウェアとサポート」ページの「Real Application Testing」で、「SQLパフォーマンス・アナライザ」をクリックします。

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

    spa.gifの説明が続きます。
    spa.gifの説明

  2. 「SQLパフォーマンス・アナライザ・ワークフロー」で、目的のタイプの分析タスクを作成するワークフローを選択します。

    • 9iまたは10.1からのアップグレード

      9iまたは10.1のワークフローからのアップグレードは、Oracle9i DatabaseまたはOracle Database 10gリリース1から、Oracle Database 10gリリース2以上のリリースへのデータベース・アップグレードをテストする場合に使用します。詳細は、「Oracle9i DatabaseおよびOracle Database 10gリリース1からのアップグレード」を参照してください。

    • 10.2または11gからのアップグレード

      10.2または11gのワークフローからのアップグレードは、Oracle Database 10gリリース2またはOracle Database 11gから、それ以上のリリースへのデータベース・アップグレードをテストする場合に使用します。詳細は、「Oracle Database 10gリリース2以上のリリースからのアップグレード」を参照してください。

    • パラメータの変更

      パラメータ変更ワークフローは、データベース初期化パラメータの変更によるSQLパフォーマンスへの影響を確認する場合に使用します。詳細は、「パラメータ変更ワークフローの使用」を参照してください。

    • オプティマイザ統計

      オプティマイザ統計ワークフローは、オプティマイザ統計への変更がSQLのパフォーマンスに与える影響を分析する場合に使用します。詳細は、「オプティマイザ統計ワークフローの使用」を参照してください。

    • Exadataシミュレーション

      Exadataシミュレーション・ワークフローは、Oracle Exadataを使用した場合にSQLのパフォーマンスに与える影響をシミュレートする場合に使用します。詳細は、「Exadataシミュレーション・ワークフローの使用」を参照してください。

    • ガイド付きワークフロー

      ガイド付きワークフローは、その他のすべてのタイプのシステム変更でのSQLパフォーマンスを比較する場合に使用します。詳細は、「ガイド付きワークフローの使用」を参照してください。

3.1.1 パラメータ変更ワークフローの使用

パラメータ変更ワークフローでは、1つの環境初期化パラメータの値を変更した場合のSQLワークロードへのパフォーマンスの影響をテストできます。たとえば、OPTIMIZER_FEATURES_ENABLE初期化パラメータ・セットを10.2.0.4と11.2.0.1に設定することによって、SQLパフォーマンスを比較できます。

SQLチューニング・セットおよび比較メトリックを選択すると、SQLパフォーマンス・アナライザによってタスクが作成され、初期化パラメータが元の値に設定された試行が実行されます。その後、ALTER SESSION文を発行することによって、SQLパフォーマンス・アナライザで、パラメータが変更された値に設定された2番目の試行が実行されます。したがって、変更の影響はテスト・セッションにローカルに限定されます。パフォーマンスの低下または変更は、システムによって生成されたSQLパフォーマンス・アナライザ・レポートに報告されます。


注意:

他のタイプのシステム変更の分析タスクを作成する場合は、ガイド付きワークフローをかわりに使用してください。詳細は、「ガイド付きワークフローの使用」を参照してください。

SQLパフォーマンス・アナライザのパラメータの変更ワークフローを使用する方法

  1. 「SQLパフォーマンス・アナライザ」ページの「SQLパフォーマンス・アナライザ・ワークフロー」で、「パラメータの変更」をクリックします。

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

    spa_param_change.gifの説明が続きます。
    spa_param_change.gifの説明

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

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

    または、検索アイコンをクリックして、「検索と選択: SQLチューニング・セット」ウィンドウでSQLチューニング・セットを検索します。

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

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

  5. 「作成方法」リストで、次のいずれかのアクションを実行して、SQL試行の作成方法および生成されるコンテンツを確認します。

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

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

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

      このSQL試行では、オプティマイザが起動され、実際にSQL文が実行されない場合にのみ実行計画が作成されます。

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

    • 「5分」を選択します。

      この実行では、SQLチューニング・セット内の各SQL文が最大5分間実行され、パフォーマンス・データが収集されます。

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

      この実行では、SQLチューニング・セット内の各SQL文が完了するまで実行され、パフォーマンス・データが収集されます。実行統計を収集することによってパフォーマンス分析の精度は大幅に向上しますが、分析にかかる時間は長くなります。1つのSQL文によってタスクが長時間停止状態になる場合があるため、この設定は使用しないことをお薦めします。

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

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

    1. 「パラメータ名」フィールドに、変更する初期化パラメータの名前を入力するか、または検索アイコンをクリックして、「検索と選択: 初期化パラメータ」ウィンドウを使用して初期化パラメータを選択します。

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

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

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

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

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

      • 経過時間

      • CPU時間

      • ユーザーI/O時間

      • バッファ読取り

      • 物理I/O

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

      • I/Oインターコネクト・バイト

    複数の比較メトリックを使用して比較分析を実行するには、異なるメトリックを使用してこの手順を繰り返すことによって比較分析を別々に実行します。

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

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

    2. 「即時」(即時にタスクを開始する場合)または、「後で」(「日付」および「時間」フィールドで指定した時間にタスクを開始するようスケジュールする場合)を選択します。

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

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

    「SQLパフォーマンス・アナライザのタスク」セクションに、このタスクのステータスが表示されます。ステータス・アイコンをリフレッシュするには、「リフレッシュ」をクリックします。タスクが完了すると、「ステータス」フィールドが「完了」に変更されます。

    spa_tasks_param_change.gifの説明が続きます。
    spa_tasks_param_change.gifの説明

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

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

    spa_task_param_change.gifの説明が続きます。
    spa_task_param_change.gifの説明

    このページには、次のセクションが含まれています。

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

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

    • SQL試行

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

    • SQL試行比較

      このセクションには、SQL試行比較の結果を示す表が含まれています。

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

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

  13. パフォーマンス分析の結果を確認します。詳細は、「Oracle Enterprise Managerを使用したSQLパフォーマンス・アナライザ・レポートの確認」を参照してください。

  14. パフォーマンスの低下が特定された場合は、「SQLチューニング・レポート」列のアイコンをクリックしてSQLチューニング・レポートを表示します。

3.1.2 オプティマイザ統計ワークフローの使用

オプティマイザ統計ワークフローを使用すると、オプティマイザ統計の変更によるSQLワークロードのパフォーマンスに対する影響を分析できます。

SQLパフォーマンス・アナライザは、テスト・セッションで保留中のオプティマイザ統計を使用可能にすることで、新しいオプティマイザ統計の影響をテストします。最初のSQL試行では、SQLチューニング・セットのベースラインのパフォーマンスが測定され、2番目のSQL試行では、保留中のオプティマイザ統計が使用されます。続いて、この2つのSQL試行に対して比較レポートを実行できます。

オプティマイザ統計ワークフローを使用するには、次の手順を実行します。

  1. 「SQLパフォーマンス・アナライザ」ページの「SQLパフォーマンス・アナライザ・ワークフロー」で、「オプティマイザ統計」をクリックします。

    「オプティマイザ統計」ページが表示されます。

    spa_optimizer_stats.gifの説明が続きます。
    spa_optimizer_stats.gifの説明

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

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

    または、検索アイコンをクリックして、「検索と選択: SQLチューニング・セット」ウィンドウでSQLチューニング・セットを検索します。

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

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

  5. 「作成方法」リストで、次のいずれかのアクションを実行して、SQL試行の作成方法および生成されるコンテンツを確認します。

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

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

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

      このSQL試行では、オプティマイザが起動され、実際にSQL文が実行されない場合にのみ実行計画が作成されます。

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

    • 「5分」を選択します。

      この実行では、SQLチューニング・セット内の各SQL文が最大5分間実行され、パフォーマンス・データが収集されます。

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

      この実行では、SQLチューニング・セット内の各SQL文が完了するまで実行され、パフォーマンス・データが収集されます。実行統計を収集することによってパフォーマンス分析の精度は大幅に向上しますが、分析にかかる時間は長くなります。1つのSQL文によってタスクが長時間停止状態になる場合があるため、この設定は使用しないことをお薦めします。

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

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

    • 経過時間

    • CPU時間

    • ユーザーI/O時間

    • バッファ読取り

    • 物理I/O

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

    • I/Oインターコネクト・バイト

    SQL試行で実行計画のみを生成するように選択した場合、選択可能な比較メトリックは「オプティマイザ・コスト」のみです。

    複数の比較メトリックを使用して比較分析を実行するには、異なるメトリックを使用してこの手順を繰り返すことによって比較分析を別々に実行します。

  8. 保留中のオプティマイザ統計が収集されていることを確認し、「収集された保留中のオプティマイザ統計」を選択します。

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

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

    2. 「即時」(即時にタスクを開始する場合)または、「後で」(「日付」および「時間」フィールドで指定した時間にタスクを開始するようスケジュールする場合)を選択します。

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

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

    「SQLパフォーマンス・アナライザのタスク」セクションに、このタスクのステータスが表示されます。ステータス・アイコンをリフレッシュするには、「リフレッシュ」をクリックします。タスクが完了すると、「ステータス」フィールドが「完了」に変更されます。

    spa_tasks_optimizer.gifの説明が続きます。
    spa_tasks_optimizer.gifの説明

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

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

    spa_task_optimizer.gifの説明が続きます。
    spa_task_optimizer.gifの説明

    このページには、次のセクションが含まれています。

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

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

    • SQL試行

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

    • SQL試行比較

      このセクションには、SQL試行比較の結果を示す表が含まれています。

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

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

  13. パフォーマンス分析の結果を確認します。詳細は、「Oracle Enterprise Managerを使用したSQLパフォーマンス・アナライザ・レポートの確認」を参照してください。

    パフォーマンスの低下が見つかった場合は、SQL計画ベースラインとSQLチューニング・アドバイザを使用して修正できます。保留中のオプティマイザ統計で得られるパフォーマンスが満足できるものであれば、公開して使用することができます。

3.1.3 Exadataシミュレーション・ワークフローの使用

Exadataシミュレーション・ワークフローを使用すると、SQLワークフローのパフォーマンスに対するExadata Storage Serverインストールの影響をシミュレートできます。

Oracle Exadataは、非常に大きなI/O帯域幅を備えているうえ、データベースからストレージへのSQL処理のオフロード機能があります。これによって、Oracle Databaseでは、I/Oインターコネクトを介して送信されるデータ量を大幅に削減可能になると同時に、Exadataストレージ・セルへのCPUリソースのオフロードが可能になります。

SQLパフォーマンス・アナライザは、Exadata Storage Serverインストールをシミュレートし、SQLワークロードに対するI/Oインターコネクトの使用率の減少を測定することで、Exadata SQLオフロード処理の効果を分析することができます。

Exadataシミュレーションを実行するためにシステムのハードウェアや構成を変更する必要はありません。SQLチューニング・セットを選択した後、SQLパフォーマンス・アナライザによりタスクが作成され、Exadata Storage Serverシミュレーションが無効の状態で最初の試行が実行されます。SQLパフォーマンス・アナライザでは次に、Exadata Storage Serverシミュレーションが有効な状態で2回目の試行が実行されます。その後、「I/Oインターコネクト・バイト」比較メトリックを使用して2つの試行が比較され、Oracle Exadataを使用している場合は、Exadataストレージ・セルからデータベースに送信する必要のないデータの量を見積るSQLパフォーマンス・アナライザ・レポートが生成されます。両方のSQL試行で、SQL文が完了するまで実行され、I/Oインターコネクト・バイトの測定値が取得されます(最初の試行が実際のExadataの値で、2番目の試行がシミュレートされたExadataの値です)。I/Oインターコネクト・バイトで測定された変化を確認することによって、Exadataストレージ・セルで実行可能なフィルタリングの量、および通常このデータの処理に使用されるCPUの量のうちデータベースからオフロード可能な量を的確に見積もることができます。


注意:

Exadataシミュレーションを使用しても計画の変更は発生しません。シミュレーションがI/Oインターコネクトの使用状況の向上に関する測定に重点を置いているため、Exadata Storage Serverインストール内で実行計画が変更されることはありません。また、Oracle Exadataはデータベースに送信されるデータ量のみを削減するため、データ圧縮が使用されている場合(次の注意を参照)を除いて、I/Oインターコネクト・バイトが増加することはありません。


注意:

I/Oインターコネクト・バイトは、Exadata Storage Serverインストールを使用した場合のパフォーマンス変化の影響を測定するための唯一のメトリックであるため、Oracle Exadataをデータ圧縮とともに使用した場合は適切に機能しません。Exadataストレージ・セルはデータの圧縮解除も行うため、データが圧縮されている場合、Oracle Exadataを使用した状態でのSQL文(2番目のSQL試行)のI/Oインターコネクト・バイトが、Oracle Exadataを使用しない状態のI/Oインターコネクト・バイトよりも増加することがあります。実際にはそうでないにもかかわらず、SQL文のパフォーマンスが低下したと報告されるため、この比較は誤解を与えます。


注意:

Exadataシミュレーションのワークフローは、Exadata以外のハードウェアでExadata Storage Serverインストールをシミュレートするために使用されます。Exadataハードウェアで変化をテストするには、標準のSQLパフォーマンス・アナライザのワークフローを使用します。


注意:

Exadataシミュレーションがサポートされているのは、DSSおよびデータ・ウェアハウスのワークロードに対してのみです。

SQLパフォーマンス・アナライザのExadataシミュレーション・ワークフローを使用する方法

  1. 「SQLパフォーマンス・アナライザ」ページの「SQLパフォーマンス・アナライザ・ワークフロー」で、「Exadataシミュレーション」をクリックします。

    「Exadataシミュレーション」ページが表示されます。

    spa_exadata_sim.gifの説明が続きます。
    spa_exadata_sim.gifの説明

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

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

    または、検索アイコンをクリックして、「検索と選択: SQLチューニング・セット」ウィンドウでSQLチューニング・セットを検索します。

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

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

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

    • 「5分」を選択します。

      この実行では、SQLチューニング・セット内の各SQL文が最大5分間実行され、パフォーマンス・データが収集されます。

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

      この実行では、SQLチューニング・セット内の各SQL文が完了するまで実行され、パフォーマンス・データが収集されます。実行統計を収集することによってパフォーマンス分析の精度は大幅に向上しますが、分析にかかる時間は長くなります。1つのSQL文によってタスクが長時間停止状態になる場合があるため、この設定は使用しないことをお薦めします。

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

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

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

    2. 「即時」(即時にタスクを開始する場合)または、「後で」(「日付」および「時間」フィールドで指定した時間にタスクを開始するようスケジュールする場合)を選択します。

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

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

    「SQLパフォーマンス・アナライザのタスク」セクションに、このタスクのステータスが表示されます。ステータス・アイコンをリフレッシュするには、「リフレッシュ」をクリックします。タスクが完了すると、「ステータス」フィールドが「完了」に変更されます。

    spa_tasks_exadata.gifの説明が続きます。
    spa_tasks_exadata.gifの説明

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

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

     spa_task_exadata_sim.gifの説明が続きます。
    spa_task_exadata_sim.gifの説明

    このページには、次のセクションが含まれています。

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

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

    • SQL試行

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

    • SQL試行比較

      このセクションには、SQL試行比較の結果を示す表が含まれています。

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

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

  10. パフォーマンス分析の結果を確認します。詳細は、「Oracle Enterprise Managerを使用したSQLパフォーマンス・アナライザ・レポートの確認」を参照してください。

    最初と2番目の試行間のExadataシミュレーションでのSQLパフォーマンスの向上は、このレポートに取得されます。一般に、SQLワークロードに多数の行をスキャンする問合せ、または表の列の小さなサブセットをスキャンする問合せが含まれている場合、より大きな効果を期待できます。逆に、索引付き表または行数が少ない表を問合せるSQLワークロードは、Exadataシミュレーションからの効果は少なくなります。

3.1.4 ガイド付きワークフローの使用

ガイド付きワークフローでは、任意のタイプのシステム変更によるSQLワークロードへのパフォーマンスの影響をテストできます。詳細は、「SQLパフォーマンス・アナライザ」を参照してください。


注意:

分析タスクを作成してデータベース初期化パラメータの変更をテストする場合は、簡略化されたパラメータ変更ワークフローをかわりに使用してください。詳細は、「パラメータ変更ワークフローの使用」を参照してください。

SQLパフォーマンス・アナライザ・タスクのガイド付きワークフローを使用する方法

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

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

    ガイド付きワークフローを使用すると、「SQLパフォーマンス・アナライザ」で説明するように、システム変更を行った場合のSQLワークロードによるパフォーマンスへの影響をテストできます。

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

    spa_guided_workflow.gifの説明が続きます。
    spa_guided_workflow.gifの説明

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

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

    spa_create_task.gifの説明が続きます。
    spa_create_task.gifの説明

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

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

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

    または、検索アイコンをクリックして、「検索と選択: SQLチューニング・セット」ウィンドウでSQLチューニング・セットを選択します。

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

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

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

  7. 分析タスクが作成されたら、SQLチューニング・セットに格納されているSQL文を実行して、変更前のパフォーマンス・データを構築できます。詳細は、第4章「変更前のSQL試行の作成」を参照してください。

3.2 APIを使用した分析タスクの作成

この項では、DBMS_SQLPA.CREATE_ANALYSIS_TASKファンクションを使用してSQLパフォーマンス・アナライザのタスクを作成する方法について説明します。タスクは、SQLパフォーマンス・アナライザの実行時の入力および結果が格納されるデータベース・コンテナです。


ヒント:

操作を進める前に、パフォーマンスの分析に使用するSQLワークロードを本番システムのSQLチューニング・セットに取得して、パフォーマンスの分析を実行するテスト・システムに転送します。詳細は、「SQLワークロードの取得」を参照してください。

次のパラメータを使用して、SQLチューニング・セットの分析を準備するためにCREATE_ANALYSIS_TASKファンクションをコールします。

  • task_nameを設定して、SQLパフォーマンス・アナライザのタスクの任意の名前を指定します。

  • sqlset_nameをSQLチューニング・セットの名前に設定します。

  • sqlset_ownerをSQLチューニング・セットの所有者に設定します。デフォルトは現在のスキーマ所有者です。

  • basic_filterを、SQLチューニング・セットからSQLを除外するために使用するSQL述語に設定します。

  • order_byを設定して、SQL文が実行される順番を指定します。

    このパラメータを使用すると、時間制限に達しても、より重要なSQL文が処理され、スキップされないようにすることができます。

  • top_sqlを設定して、除外およびランク付け後にSQL文の上位の番号のみが考慮されるようにします。

次の例は、ファンクション・コールを示しています。

VARIABLE t_name VARCHAR2(100);
EXEC :t_name := DBMS_SQLPA.CREATE_ANALYSIS_TASK(sqlset_name => 'my_sts', -
       task_name => 'my_spa_task');

分析タスクが作成されたら、SQLチューニング・セットに格納されているSQL文を実行して、変更前のパフォーマンス・データを構築できます。詳細は、第4章「変更前のSQL試行の作成」を参照してください。


関連項目:

  • DBMS_SQLPA.CREATE_ANALYSIS_TASKファンクションの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。


3.2.1 APIを使用したExadataシミュレーションの実行

この項では、APIを使用したOracle Exadataシミュレーションの実行方法について説明します。SQLパフォーマンス・アナライザが、SQLワークロードのパフォーマンスに関するExadata Storage Serverインストールの影響をどのようにシミュレートするかについては、「Exadataシミュレーション・ワークフローの使用」を参照してください。

分析タスクのためにExadataシミュレーションを有効にするには、次に例を示すとおり、変更後のSQL試行を作成する前に、SET_ANALYSIS_TASK_PARAMETERプロシージャをコールします。

EXEC DBMS_SQLPA.SET_ANALYSIS_TASK_PARAMETER(task_name => 'my_spa_task', -
       parameter => 'CELL_SIMULATION_ENABLED', - 
       value => 'TRUE');

この操作によって、変更後のSQL試行を作成する際に、Exadataシミュレーションが有効になります。作成した変更後のSQL試行は、Exadataシミュレーションを無効にして作成した変更前のSQL試行と比較することができます。

別の方法として、tcellsim.sqlスクリプトを使用してExadataシミュレーションを実行することもできます。

  1. SQLプロンプトで次のように入力します。

    @$ORACLE_HOME/rdbms/admin/tcellsim.sql
    
  2. 使用するSQLチューニング・セットの名前および所有者を入力します。

    Enter value for sts_name: MY_STS
    Enter value for sts_owner: IMMCHAN
    

    スクリプトによって次の4つの手順が自動的に実行されます。

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

    • Exadataシミュレーションを無効にした状態でのSQL文のテスト実行

    • Exadataシミュレーションを有効にした状態でのSQL文のテスト実行

    • パフォーマンスの比較と分析レポートの生成