この項では、APIを使用してOracle Databaseリリース10.2以上のデータベース・アップグレードをテストする方法について説明します。
リリース10.2以上のデータベースのアップグレードをテストするには、次の手順に従います。
SQLパフォーマンス・アナライザを実行しているシステムで、分析タスクを作成します。
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'));
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'));
関連項目:
DBMS_SQLPA.EXECUTE_ANALYSIS_TASKファンクションについては、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。
DBMS_SQLPA.EXECUTE_ANALYSIS_TASKファンクションについては、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。