プライマリ・コンテンツに移動
Oracle® Database Testingガイド
12cリリース1 (12.1)
B71349-07
目次へ移動
目次
索引へ移動
索引

前
次

8.2.1.2 「APIを使用したリリース10.2以上からのデータベースのアップグレードのテスト」

この項では、APIを使用してOracle Databaseリリース10.2以上のデータベース・アップグレードをテストする方法について説明します。

リリース10.2以上のデータベースのアップグレードをテストするには、次の手順に従います。

  1. SQLパフォーマンス・アナライザを実行しているシステムで、分析タスクを作成します。

  2. SQLチューニング・セット内のSQL文の実行計画またはテスト実行を行い、アップグレード前のSQL試行を構築します。

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

    • task_nameパラメータを、実行するSQLパフォーマンス・アナライザのタスクの名前に設定します。

    • execution_typeパラメータをEXPLAIN PLANまたはTEST EXECUTEに設定します。

      • EXPLAIN PLANを使用することを選択した場合、実行計画のみが生成されます。その後の比較では、パフォーマンスの変更に関して結論を出さずに、変更済の計画のリストを生成することのみが可能になります。

      • TEST EXECUTEを使用することを選択した場合、SQLワークロードは完了するまで実行されます。これにより、テスト・システムから生成された統計と実行計画を使用して、アップグレード前のSQL試行が効果的に作成されます。ソースでSQL実行計画およびパフォーマンス・データを取得する場合は、より正確な分析を行えるように、TEST EXECUTEを使用することをお薦めします。

    • execution_nameパラメータを使用して、実行を識別するための名前を指定します。指定しなかった場合、SQLパフォーマンス・アナライザによってタスク実行の名前が自動的に生成されます。

    • DATABASE_LINKタスク・パラメータをDBMS_SQLPAパッケージのEXECUTE権限およびテスト・システムのADVISOR権限を持つユーザーに接続しているパブリック・データベース・リンクのグローバル名に設定します。

    次の例では、my_spa_taskというSQLパフォーマンス・アナライザのタスクを実行し、データベース・リンクを介してSQL文のテスト実行をリモートで行います。

    EXEC DBMS_SQLPA.EXECUTE_ANALYSIS_TASK(task_name => 'my_spa_task', -
           execution_type => 'TEST EXECUTE', - 
           execution_name => 'my_remote_trial_10g', -
           execution_params => dbms_advisor.arglist('database_link',
                                                    'LINK.A.B.C.BIZ.COM'));
    
  3. EXECUTE_ANALYSIS_TASKプロシージャを使用して、実行計画またはテスト実行を行い、アップグレード後のSQL試行を構築します。

    • execution_typeパラメータをEXPLAIN PLANまたはTEST EXECUTEに設定します。

      • EXPLAIN PLANを使用することを選択した場合、実行計画のみが生成されます。その後の比較では、パフォーマンスの変更に関して結論を出さずに、変更済の計画のリストを生成することのみが可能になります。

      • TEST EXECUTEを使用することを選択した場合、SQLワークロードは完了するまで実行されます。これにより、テスト・システムから生成された統計と実行計画を使用して、アップグレード後のSQL試行が効果的に作成されます。ソースでSQL実行計画およびパフォーマンス・データを取得する場合は、より正確な分析を行えるように、TEST EXECUTEを使用することをお薦めします。

    • DATABASE_LINKタスク・パラメータをDBMS_SQLPAパッケージのEXECUTE権限およびテスト・システムのADVISOR権限を持つユーザーに接続しているパブリック・データベース・リンクのグローバル名に設定します。

    次の例では、データベース・リンクを介してSQL文のテスト実行をリモートで行います。

    EXEC DBMS_SQLPA.EXECUTE_ANALYSIS_TASK(task_name => 'my_spa_task', -
           execution_type => 'TEST EXECUTE', - 
           execution_name => 'my_remote_trial_12c', -
           execution_params => dbms_advisor.arglist('database_link',
                                                    'LINK.A.B.C.BIZ.COM'));
    

関連項目: