ヘッダーをスキップ
Oracle Database Real Application Testingユーザーズ・ガイド
11gリリース1(11.1)
B51856-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

9 変更前のSQL試行の作成

SQLパフォーマンス・アナライザのタスクを作成し、入力ソースとしてSQLチューニング・セットを選択したら、テスト・システムの初期環境を設定する必要があります。 テスト・システムのデータベース環境を設定するには、SQLの最適化およびパフォーマンスに影響する必要な環境変更を手動で行う必要があります。 これらの変更には、初期化パラメータの変更、オプティマイザ統計の収集または設定、索引の作成などがあります。 データベース環境の設定については、「テスト・システムの設定」を参照してください。

テスト・システムの環境が適切に構成されたら、SQLワークロードを実行して変更前のバージョンのパフォーマンス・データを構築した後で、システム変更を実行できます。 SQLパフォーマンス・アナライザでは、SQL文の実行結果が変更前のSQL試行に格納されます。 詳細は、「変更前のSQLパフォーマンス・アナライザの測定」を参照してください。

この章では、変更前のSQL試行の作成方法について説明します。内容は次のとおりです。


注意:

変更前のSQL試行を作成するための主要なインタフェースは、Oracle Enterprise Managerです。 なんらかの理由でOracle Enterprise Managerを使用できない場合は、DBMS_SQLPA PL/SQLパッケージを使用して変更前のSQL試行を作成できます。


ヒント:

変更前のSQL試行を作成する前に、SQLパフォーマンス・アナライザのタスクを作成する必要があります。詳細は、第8章「分析タスクの作成」を参照してください。

Enterprise Managerを使用した変更前のSQL試行の作成

Oracle Enterprise Managerを使用して変更前のSQLパフォーマンス・データを収集するには、次の手順を実行します。

  1. 「ガイド付きワークフロー」ページで、「初期環境でSQLチューニング・セットをリプレイ」手順の「実行」アイコンをクリックします。

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

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

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

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

  6. テスト・システムのデータベース環境が可能なかぎり本番環境と一致していることを確認して、「試行環境設定済み」を選択します。

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

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

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

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

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

    実行中、この手順のステータス・アイコンは時計に変わります。 ステータス・アイコンをリフレッシュするには、「リフレッシュ」をクリックします。 選択したオプションおよびSQLワークロードのサイズによっては、実行が完了するまで時間がかかる場合があります。 実行が完了したら、ステータス・アイコンがチェック・マークに変わり、次の手順の「実行」アイコンが有効になります。

  9. 変更前のパフォーマンス・データが構築されたら、変更後のテスト・システムでSQLチューニング・セット内のSQL文を再実行することによってシステム変更を実行し、変更後のパフォーマンス・データを構築できます。詳細は、第10章「変更後のSQL試行の作成」を参照してください。

APIを使用した変更前のSQL試行の作成

この項では、DBMS_SQLPA.EXECUTE_ANALYSIS_TASKプロシージャを使用して変更前のパフォーマンス・データを構築する方法について説明します。

次のパラメータを使用して、EXECUTE_ANALYSIS_TASKプロシージャをコールします。

次の例は、システム変更前に行われたファンクション・コールを示しています。

EXEC DBMS_SQLPA.EXECUTE_ANALYSIS_TASK(task_name => 'my_spa_task', -
       execution_type => 'TEST EXECUTE', -
       execution_name => 'my_exec_BEFORE_change');

変更前のパフォーマンス・データが構築されたら、変更後のテスト・システムでSQLチューニング・セット内のSQL文を再実行することによってシステム変更を実行し、変更後のパフォーマンス・データを構築できます。詳細は、第10章「変更後のSQL試行の作成」を参照してください。


参照:

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