プライマリ・コンテンツに移動
Oracle® Database VLDBおよびパーティショニング・ガイド
12c リリース1 (12.1)
B71291-10
目次へ移動
目次
索引へ移動
索引

前
次

メッセージ・バッファの追加メモリー要件

共有プールの初期設定を決定したら、メッセージ・バッファの追加メモリー要件を計算し、カーソル用に必要な追加領域の容量を決定する必要があります。

メッセージ・バッファに必要なメモリー

メッセージ・バッファを収容できるようにSHARED_POOL_SIZEパラメータの値を増やす必要があります。メッセージ・バッファによって、問合せサーバー・プロセスが相互に通信できます。

Oracle Databaseでは、プロデューサ問合せサーバーとコンシューマ問合せサーバーの間の仮想接続ごとに一定数のバッファが使用されます。接続数は、DOPの増加に合せてその2乗の数に増加します。この理由から、パラレル実行で使用されるメモリーの最大容量は、システムで許可されるDOPの最大値によって制限されます。この値を制御するには、PARALLEL_MAX_SERVERSパラメータを使用するか、ポリシーとプロファイルを使用します。

必要なメモリー容量を計算するには、次のいずれかの計算式を使用します。

  • SMPシステム:

    mem in bytes = (3 x size x users x groups x connections)
    
  • Oracle Real Application ClustersおよびMPPシステム:

    mem in bytes = ((3 x local) + (2 x remote)) x (size x users x groups) 
      / instances
    

各インスタンスで、この式で計算されたメモリーが使用されます。

各項目の意味は次のとおりです。

  • SIZE = PARALLEL_EXECUTION_MESSAGE_SIZE

  • USERS = DOPが最適な場合に実行が予想される同時パラレル実行ユーザー数

  • GROUPS = 各問合せで使用される問合せサーバー・プロセス・グループ数

    単純なSQL文で必要になるのは1グループのみです。ただし、問合せに関連する副問合せがパラレルで処理される場合、Oracle Databaseはもう1つの問合せサーバー・プロセス・グループを使用します。

  • CONNECTIONS = (DOP2 + 2 x DOP)

    システムがクラスタまたはMPPの場合は、インスタンス数を考慮する必要があります。インスタンス数によってDOPが増加するためです。つまり、2つのインスタンス・クラスタでDOPを4にすると、結果としてDOPが8になります。控えめな見積りとして、初期値にはPARALLEL_MAX_SERVERSとインスタンス数を掛けて4で割った値を使用することをお薦めします。

  • LOCAL = CONNECTIONS/INSTANCES

  • REMOTE = CONNECTIONS - LOCAL

共有プールの元の設定にこの容量を追加します。ただし、これらのメモリー構造いずれかの値を設定する前に、次の項で説明するカーソル用の追加メモリーも考慮する必要があります。

カーソルの追加メモリー

パラレル実行計画は、シリアル実行計画よりもSQL領域を多く消費します。共有プール・リソース使用状況を定期的に監視して、メッセージとカーソルの両方で使用されるメモリーがシステムの処理要件を満たすことを確認します。