初期化パラメータPARALLEL_DEGREE_POLICY
は、自動並列度(DOP)、パラレル文のキューイング、およびインメモリー・パラレル実行を有効にするかどうかを制御します。このパラメータには、次の値を指定できます。
MANUAL:
自動DOP、文のキューイングおよびインメモリー・パラレル実行を無効にします。パラレル実行の動作をOracle Database 11gリリース2 (11.2)よりも前の設定に戻します。これがデフォルトです。
LIMITED:
一部の文については自動DOPを有効にしますが、パラレル文のキューイングおよびインメモリー・パラレル実行は無効にします。自動DOPは、PARALLEL
句で明示的に宣言されている表または索引にアクセスする文または明示的にDOPを指定しないPARALLEL
として定義されている文に対してのみ適用されます。特定のDOPが指定された表および索引は、その明示的なDOP設定を使用します。
AUTO:
自動DOP、パラレル文のキューイングおよびインメモリー・パラレル実行を有効にします。
ADAPTIVE:
AUTO
値と同様に、自動並列度、文のキューイング、インメモリー・パラレル実行を有効にします。さらに、パフォーマンス・フィードバックを使用可能にします。
デフォルトでは、並列度がオブジェクトに明示的に設定されている場合、またはパラレル・ヒントがSQL文に指定されている場合にかぎり、パラレル実行が使用されます。使用される並列度は、正確に指定されたものになります。パラレル文のキューイングは行われず、パラレル実行はバッファ・キャッシュを使用しません。パラレル文のキューイングの詳細は、「パラレル文のキューイングについて」を参照してください。
特定のオブジェクトのサブセットにアクセスするSQL文のサブセットに対してのみ、Oracle Databaseに並列度を自動的に決定させる場合は、PARALLEL_DEGREE_POLICY
をLIMITED
に設定し、そのオブジェクトのサブセットにパラレル・プロパティを設定します。Oracle DatabaseにすべてのSQL文の並列度を自動的に決定させる場合は、PARALLEL_DEGREE_POLICY
をAUTO
に設定します。
PARALLEL_DEGREE_POLICY
がAUTO
に設定されている場合、実行計画とハードウェア特性における運用コストに基づいて、文をパラレルで実行すべきかどうかが判別されます。ハードウェア特性にはI/Oキャリブレーション統計が含まれるため、これらの統計を収集する必要があります。
I/Oキャリブレーションが必要な統計を収集するよう実行されていない場合、デフォルトのキャリブレーション値を使用して操作コストおよび並列度が計算されます。
I/Oキャリブレーション統計は、PL/SQL DBMS_RESOURCE_MANAGER.CALIBRATE_IO
プロシージャを使用して収集できます。I/Oキャリブレーションは、ハードウェアの物理的な交換を行わないかぎり、1回のみの処理です。
関連項目:
PARALLEL_DEGREE_POLICY
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください
データベースのパフォーマンスの診断およびチューニングの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。
DBMS_RESOURCE_MANAGER
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
PARALLEL
ヒントの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。