1.277 PARALLEL_SERVERS_TARGET
PARALLEL_SERVERS_TARGETは、文のキューイングが使用されるまで、パラレル文を実行できるパラレル・サーバー・プロセスの数を指定します。
| 特性 | 説明 |
|---|---|
|
パラメータ・タイプ |
整数 |
|
デフォルト値 |
CDBの場合: CDBの PDBまたは非CDBの場合:
|
|
変更可能 |
|
|
PDBで変更可能 |
はい |
|
値の範囲 |
|
|
基本 |
いいえ |
PARALLEL_DEGREE_POLICYパラメータにADAPTIVEまたはAUTOを設定すると、必要なパラレル・サーバー・プロセスを使用できない場合、パラレル実行を必要とするSQL文がキューに入れられます。単一インスタンス・データベースでは、システムでアクティブなパラレル・サーバー・プロセスの数がPARALLEL_SERVERS_TARGETの値以上になると、文のキューイングが開始されます。Oracle RACデータベースでは、1つのインスタンスで実行されている文によって、必要に応じて別のインスタンスにパラレル・サーバー・プロセスを割り当てることができます。たとえば、1つのインスタンスで実行されている文にパラレル実行が必要であるが、そのインスタンスでアクティブなパラレル・サーバー・プロセスの数がそのインスタンスのPARALLEL_SERVERS_TARGETの値以上である場合、その文では別のインスタンスにパラレル・サーバー・プロセスを割り当てることができます。したがって、Oracle RACデータベースでの文のキューイングは、すべてのインスタンスがPARALLEL_SERVER_TARGETしきい値に達した場合にのみ開始されます。
ノート:
BYPASS_QUEUEに設定されたPARALLEL_STMT_CRITICALディレクティブでマークされているコンシューマ・グループはパラレル文のキューのバイパスが許可されるため、PARALLEL_SERVERS_TARGETを超える合計数のアクティブなパラレル・サーバー・プロセスが可能になります。PARALLEL_DEGREE_POLICYをADAPTIVEおよびAUTOに設定せずに発行したパラレル文によっても、PARALLEL_SERVERS_TARGETを超える合計数のアクティブなパラレル・サーバー・プロセスが可能になります。
各パラレル文に必要なパラレル・サーバー・リソースをすべて確保するとともに、パラレル・サーバー・プロセスによるシステムのオーバーロードを回避するため、デフォルトでは、PARALLEL_SERVERS_TARGETは、システムで許容されるパラレル・サーバー・プロセスの最大数(PARALLEL_MAX_SERVERS)未満に設定されます。
インスタンス上のデフォルトの並列度で実行されている同時並列ユーザーの数は、インスタンスのメモリー初期化パラメータ設定によって異なります。たとえば、MEMORY_TARGETまたはSGA_TARGET初期化パラメータが設定されている場合、concurrent_parallel_usersは4になります。MEMORY_TARGETまたはSGA_TARGETが設定されていない場合、PGA_AGGREGATE_TARGETが検証されます。PGA_AGGREGATE_TARGETに値が設定されている場合、concurrent_parallel_usersは2になります。PGA_AGGREGATE_TARGETに値が設定されていない場合、concurrent_parallel_usersは1になります。
ただし、文のキューイングがアクティブになっている場合でも、すべてのシリアル(非パラレル)文はただちに実行されます。
デフォルトでは、すべてのPDB問合せは、まずPDBのPARALLEL_SERVERS_TARGET値によってPDBレベルで、次にCDBのPARALLEL_SERVERS_TARGET値によってCDBレベルでキューイングの対象となります。このデフォルトの動作により、パラレル・サーバーがCDBで使い果たされた場合に、PDB内でSQL文がダウングレードされなくなります。
パラレル文のキューイングは、CDBにPARALLEL_SERVERS_TARGETのデフォルト値が設定されているため、デフォルトでCDBレベルで有効になっています。CDBレベルでパラレル文のキューイングを無効にするには、ALTER SYSTEMを使用してCDBのPARALLEL_SERVERS_TARGETを0に設定します。
PDBのPARALLEL_SERVERS_TARGETのデフォルト値は、PDBのCPU_COUNT値で前述の表の計算を使用して算出されます。
ノート:
PDBでは、CDBリソース・プランで指定されている制限よりも低いパラレル実行サーバーの下限を設定できます。PARALLEL_SERVERS_TARGET初期化パラメータをPDBで設定し、CDBリソース・プランでPDBのパラレル実行サーバーの制限を指定すると、2つの制限のうち低い方が施行されます。たとえば、PARALLEL_SERVERS_TARGET初期化パラメータがCDBルートで100に設定されているとします。また、hrpdbのPARALLEL_SERVERS_TARGET初期化パラメータが50に設定され、CDBプランにはparallel_server_limitが70%に設定されているhrpdbのディレクティブがあるとします。この場合、hrpdbのパラレル実行サーバーの制限は50で、これは50がhrpdbのCDBリソース・プランの制限70よりも低いためです。
関連項目:
-
このパラメータの詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。