メモリー消費の問題のトラブルシューティング

長時間トランザクションの実行時にOracle GoldenGate ExtractまたはReplicatのメモリーが不足した場合は、プロセスごとにキャッシュ・マネージャを正しく構成する必要があります。

ほとんどの場合、デフォルトのキャッシュ・サイズ設定は64GBで十分です。極端に大きなトランザクションを処理する場合、またはデプロイメント・シェイプが処理中のトランザクション・サイズに比べて小さい場合に問題が発生します。

OCI GoldenGateデプロイメントのシェイプに応じて、OCPU当たり16GBの物理メモリーが割り当てられます。自動スケールが有効になっている場合、物理メモリーの合計は最大で3倍になることがあります。

たとえば、4つのOCPU (4 x 16GB = 64GB)を持つ自動スケールが有効な(64GB x 3) OCI GoldenGateデプロイメントでは、192GBの物理メモリーが使用できます。

デフォルトでは、各OCI GoldenGateデプロイメントに256GBのスワップ領域が割り当てられます。したがって、デプロイメントの仮想メモリーの合計は192GB + 256GB = 448GBです。デプロイメント内のすべてのGoldenGateプロセスがこの仮想メモリーを共有することを考慮すると、Oracleでは、合計仮想メモリーの60% (268GB)などの安全な範囲にCACHEMGR CASHESIZEを設定することをお薦めします。ExtractまたはReplicatが268GBの仮想メモリー使用量に達すると、オーバーフロー・トランザクションはディスク(デフォルトは/u03/temp)に書き込まれます。このデフォルト・ディレクトリでは256GBが使用可能です。それでも十分な領域がない場合は、セカンダリ・ディレクトリを追加できます。Oracleでは、/u02/Deployment/var/lib/cachemanager (無制限)をお薦めします。

CACHEMGR CACHESIZE 268G CACHEDIRECTORY /u03/temp, CACHEDIRECTORY /u02/Deployment/var/lib/cachemanager

同じデプロイメントで大規模なトランザクションを処理する複数のExtractおよびReplicatがある場合、次のオプションから選択できます:

  • より多くの物理メモリーを確保し、プロセスで使用する仮想メモリーが増えるように、デプロイメントのOCPUを増やします。
  • 各プロセスで使用する仮想メモリーを減らし、オーバーフローで強制的にディスク・ディレクトリを使用するように、CACHEMGR CACHESIZEの設定を減らします。これにより、増加コストなしで現在のデプロイメント・シェイプを維持できます。ただし、大規模なトランザクション処理は、仮想メモリーではなくディスクを使用して保留中のトランザクションをキャッシュするため、若干遅くなります。

ここで説明しているパラメータおよび推奨事項を使用して、環境設定をトランザクション・サイズに応じて微調整できます。