Enterprise Managerのインストールにおけるオプティマイザ適応機能の要件

一般的なルールとして、新規インストールの実行時に、使用可能な最新のリリース更新のみでなく、自動ダウンロードで提供されるすべてのEnterprise Manager個別パッチを適用することをお薦めします。パッチ30912308は、オプティマイザの適応機能修正に対処するパッチです。パッチ30912308は自動更新で使用でき、Enterprise Manager 13.4リリース更新1 (13.4.0.1)にも含まれていることに注意してください。使用しやすいように、インストール・プロセス時に次のいずれかの方法でこのパッチを適用することをお薦めします。

  • My Oracle Support (MOS)資格証明を使用して、Enterprise Manager Cloud Controlインストール・ウィザードの一部としてインストール・プロセス中に自動的にパッチをダウンロードします。

  • My Oracle Supportに接続していない場合は、インストール・プロセス中にリリース更新1を手動でダウンロードして適用します。

いずれかの方法に進む前に、まず次の操作を実行する必要があります。

  • 管理リポジトリがOracle Database 12.1.0.2.0を使用しており、データベース・パッチ22652097が適用されていない場合、データベースにSYSDBAとして接続して次のコマンドを実行することにより、オプティマイザ適応機能を無効にします。

    alter system set optimizer_adaptive_features=false scope=both;

    変更が有効になったことを確認するには、次のコマンドを実行します。

    show parameter adaptive;

    次の出力が表示されるはずです。

    NAME                          TYPE         VALUE
    ---------------------------------------------------------------------
    optimizer_adaptive_features   boolean      FALSE 
  • 管理リポジトリがOracle Database 12.1.0.2を使用しており、データベース・パッチ22652097が適用されている場合、データベースにSYSDBAとして接続して次のコマンドを実行します。
    alter system set "_optimizer_nlj_hj_adaptive_join"= FALSE scope=both sid='*'; 
    alter system set "_optimizer_strans_adaptive_pruning" = FALSE scope=both sid='*'; 
    alter system set "_px_adaptive_dist_method" = OFF scope=both sid='*'; 
    alter system set "_sql_plan_directive_mgmt_control" = 0 scope=both sid='*'; 
    alter system set "_optimizer_dsdir_usage_control" = 0 scope=both sid='*'; 
    alter system set "_optimizer_use_feedback" = FALSE scope=both sid='*'; 
    alter system set "_optimizer_gather_feedback" = FALSE scope=both sid='*'; 
    alter system set "_optimizer_performance_feedback" = OFF scope=both sid='*'; 
  • 管理リポジトリがOracle Database 12.2、18.xまたは19.xを使用している場合は、インストール・プロセス中にパッチ30912308を適用するときに対処されるため、パラメータを設定する必要はありません。

    それ以外の場合で、インストール・プロセス中に前述のお薦めの方法に従わずにパッチ30912308を適用する予定がある場合は、SYSDBAとしてデータベースに接続して次のコマンドを実行する必要があります。
    alter system set "_optimizer_nlj_hj_adaptive_join"= FALSE scope=both sid='*';
    alter system set "_optimizer_strans_adaptive_pruning" = FALSE scope=both sid='*';
    alter system set "_px_adaptive_dist_method" = OFF scope=both sid='*';
    alter system set "_sql_plan_directive_mgmt_control" = 0 scope=both sid='*';
    alter system set "_optimizer_dsdir_usage_control" = 0 scope=both sid='*';
    alter system set "_optimizer_use_feedback" = FALSE scope=both sid='*';
    alter system set "_optimizer_gather_feedback" = FALSE scope=both sid='*';
    alter system set "_optimizer_performance_feedback" = OFF scope=both sid='*';

次に、次の方法のいずれかを使用してEnterprise Managerのインストール・プロセスを実行し、パッチ30912308を適用します。

Enterprise Manager 13cリリース4のインストール後、管理リポジトリがOracle Database 12.2、18.xまたは19.xを使用しており、インストール・プロセス中に前述した2つのお薦めの方法のいずれかを使用してパッチ30912308が適用されていない場合は、データベースにSYSDBAとして接続して次のコマンドを実行し、オプティマイザの適応機能パラメータをリセットすることをお薦めします。
alter system reset "_optimizer_nlj_hj_adaptive_join" scope=both sid='*';
alter system reset "_optimizer_strans_adaptive_pruning" scope=both sid='*';
alter system reset "_px_adaptive_dist_method" scope=both sid='*';
alter system reset "_sql_plan_directive_mgmt_control" scope=both sid='*';
alter system reset "_optimizer_dsdir_usage_control" scope=both sid='*';
alter system reset "_optimizer_use_feedback" scope=both sid='*';
alter system reset "_optimizer_gather_feedback" scope=both sid='*';
alter system reset "_optimizer_performance_feedback" scope=both sid='*';

(Oracle Bug#25679612、30912308)