ヘッダーをスキップ
Oracle® Database VLDBおよびパーティショニング・ガイド
11g リリース2 (11.2)
B56316-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

パラレル実行のためのパラメータの初期化とチューニング

Oracle Databaseでは、データベース起動時のCPU_COUNTPARALLEL_THREADS_PER_CPUの値に基づいて、パラレル実行パラメータのデフォルトを計算します。パラメータを手動でチューニングして、特定のシステム構成またはパフォーマンス目標に合うように値を増減することもできます。次に例を示します。

パラレル実行パラメータを手動でチューニングすることもできます。パラレル実行はデフォルトで有効になっています。

パラレル実行の初期化とチューニングには次の手順が含まれます。

デフォルトのパラメータ設定の使用

デフォルトでは、Oracle Databaseによってパラレル実行パラメータが自動的に表8-3のように設定されます。

表8-3 パラメータとデフォルト値

パラメータ デフォルト 備考

PARALLEL_ADAPTIVE_MULTI_USER

TRUE

パラレル実行によりSQLの並列度(DOP)リクエストの数を制限し、システムのオーバーロードを回避します。

PARALLEL_DEGREE_LIMIT

CPU_COUNT X PARALLEL_THREADS_PER_CPU X使用可能なインスタンス数

自動DOPが使用された場合に、文に許可されるDOPの最大値を制御します。

PARALLEL_DEGREE_POLICY

MANUAL

自動DOP、パラレル文のキューイングおよびメモリー内パラレル実行を使用するかどうかを制御します。デフォルトでは、これらの機能はすべて無効化されています。

PARALLEL_EXECUTION_MESSAGE_SIZE

16KB

パラレル実行サーバー、およびパラレル実行サーバーと問合せコーディネータの通信に使用されるバッファのサイズを指定します。これらのバッファは、共有プールの中から割り当てられます。

PARALLEL_FORCE_LOCAL

FALSE

パラレル実行を現在のOracle RACインスタンスに制限します。

PARALLEL_MAX_SERVERS

"PARALLEL_MAX_SERVERS"を参照。

1インスタンスに対するパラレル実行プロセスとパラレル・リカバリ・プロセスの最大数が指定されます。需要が増加すると、インスタンスの起動時に作成されたプロセス数から、最大でこの値までプロセス数が増やされます。

このパラメータの設定が低すぎると、問合せが処理中に十分なパラレル実行プロセスを得られない場合があります。設定が高すぎると、ピーク時にメモリー・リソース不足が発生してパフォーマンスが低下する可能性があります。

PARALLEL_MIN_SERVERS

0

Oracle Databaseの起動時に、パラレル実行のために起動および予約するパラレル実行プロセス数を指定します。この設定の値を大きくすると、パラレル文の起動コストを均衡化するのに役立ちますが、パラレル実行プロセスはデータベースが停止されるまで削除されないため、必要なメモリー使用量は増大します。

PARALLEL_MIN_PERCENT

0

パラレル実行に必要なリクエストされたパラレル実行プロセスの最小パーセンテージを指定します。デフォルト値は0で、使用可能なパラレル・サーバー・プロセスがない場合、パラレル文はシリアルで実行されます。

PARALLEL_MIN_TIME_THRESHOLD

10秒

オプティマイザによって見積もられた実行時間を指定します。これより大きい値の場合、文は自動パラレル問合せおよび自動DOP導出の候補となります。

PARALLEL_SERVERS_TARGET

"PARALLEL_SERVERS_TARGET"を参照。

パラレル文のキューイングが使用されるまでに問合せを実行するのに使用可能なパラレル実行サーバー・プロセスの数を指定します。文のキューイングは、PARALLEL_DEGREE_POLICYAUTOに設定されている場合にのみアクティブ化されることに注意してください。

PARALLEL_THREADS_PER_CPU

2

パラレル実行中にCPUが処理できるパラレル実行プロセスまたはスレッドの数を示します。


一部のパラメータの設定方法によってはOracle Databaseが制約を受けるので注意してください。たとえば、PROCESSESを20に設定すると、25個の子プロセスを取得できなくなります。


関連項目:

初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

セッションでのパラレル実行の強制

パラレルで実行する必要があるが、表に対するDOPの設定または関連する問合せの変更を避けたい場合は、次の文を使用して並列処理を強制できます。

ALTER SESSION FORCE PARALLEL QUERY;

この後のすべての問合せは、制限に違反しないかぎりパラレルで実行されます。DML文およびDDL文も強制できます。この句は、セッションの後続の文に指定されるすべてのパラレル句よりも優先されますが、パラレル・ヒントに対しては優先されません。

たとえば、一般的なOLTP環境では表にはパラレルの設定がありませんが、毎晩バッチ・スクリプトを使用してこのような表からデータをパラレルで収集する場合があります。セッション中にDOPを設定することで、ユーザーは、各表をパラレルで変更してから、終了時にシリアルに戻す必要がなくなります。