主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.2.0.1)
E70112-04
目次へ移動
目次

前
次

3.187 TRANSMEMORY

適用対象

z/OS上のDB2のExtract

説明

TRANSMEMORYでは、コミットされていないトランザクション・データのキャッシュに使用可能なメモリーおよび一時ディスク領域量を制御します。Oracle GoldenGateはコミットされたトランザクションのみをターゲット・データベースに適用するため、コミットまたはロールバックのインジケータを受信するまでソース・システム上にトランザクション・データを保持するための十分なシステム・メモリーが必要です。

このパラメータは、z/OS上のDB2データベースとともに使用します。他のすべてのデータベースでは、CACHEMGRパラメータを使用します。

TRANSMEMORYを使用したメモリー管理について

TRANSMEMORYを使用して、Oracle GoldenGateのトランザクション用のキャッシュ・サイズを調整し、キャッシュ・サイズを超えるデータを保持するディスク上の一時的な場所を定義できます。合計キャッシュ・サイズ、トランザクション当たりのメモリー・サイズ、初期および増分メモリー割当て、ディスク記憶域領域を定義するためのオプションを使用できます。

トランザクションは、RAMによって指定されたメモリー・プールに追加され、TRANSRAMの値に達したときにディスクにフラッシュされます。初期メモリー量は、INITTRANSRAMに基づいて各トランザクションに割り当てられ、必要に応じて、RAMINCREMENTで指定された量ずつ、TRANSRAMで設定された最大値まで増分されます。したがって、TRANSRAMには(INITTRANSRAM + RAMINCREMENT)の合計によって割り切れる値を指定する必要があります。

現在のTRANSMEMORY設定を表示するには、GGSCIでVIEW REPORTコマンドを使用します。

z/OSでの特別の考慮事項:

z/OSシステムでは、RAMオプションはすべてのキャッシュされたトランザクションの仮想メモリー割当ての合計を制御するだけではなく、起動中に割り当てられるヒープ・メモリーのサイズも制御します。大きなデフォルト値によって、仮想メモリー・プール内の断片化を防止できますが、一部のインストールでは、特にアプリケーションが主に小さなトランザクションを生成する場合に、仮想メモリーが浪費されることがあります。また、大量のヒープを割り当てると、z/OSが割当てを完了するまで、Extractが起動時に反応しなくなることがあります。

z/OS上では、RAMはExtractのパフォーマンスに影響を与えない、トランザクション・アクティビティの保持に必要な最小限の値に設定してください。低すぎる値に設定すると、Extractがディスクにトランザクション・データを書き込み、Extractの動作速度の低下やディスク領域消費の原因になることがあります。適切な値を決定するには、テストが必要になることがあります。

デフォルト

なし

構文

TRANSMEMORY
[RAM size]
[TRANSRAM size]
[TRANSALLSOURCES size]
[INITTRANSRAM size]
[RAMINCREMENT size]
[DIRECTORY (directory, max_size, max_file_size)]
RAM size

キャッシュされたすべてのトランザクションが使用する合計メモリー量を指定します。z/OSでは、この値はトランザクション当たりに割り当てる処理メモリー量でもあります。デフォルトは200MBです。この値は、バイト、または次のいずれかの形式のGB、MBまたはKBで指定できます。

GB | MB | KB | G | M | K | gb | mb | kb | g | m | k

TRANSRAM size

1つのトランザクションが使用する合計メモリー量を指定します。デフォルトは50MBです。この値は、バイト、または次のいずれかの形式のGB、MBまたはKBで指定できます。

GB | MB | KB | G | M | K | gb | mb | kb | g | m | k

TRANSRAMは、最適な成果を得るために、INITTRANSRAMおよびRAMINCREMENT両方の値によって割り切れる値に設定する必要があります。

TRANSALLSOURCES size

1つのトランザクションが利用するメモリーおよびディスク領域の量の合計を指定します。デフォルトは、使用可能なメモリー(メモリーおよびディスク)合計の50%です。この値は、バイト、または次のいずれかの形式のGB、MBまたはKBで指定できます。

GB | MB | KB | G | M | K | gb | mb | kb | g | m | k

INITTRANSRAM size

(NonStopシステムのみ)トランザクションに割り当てる初期メモリー量を指定します。デフォルトは500KBです。この値は、バイト、または次のいずれかの形式のGB、MBまたはKBで指定できます。

GB | MB | KB | G | M | K | gb | mb | kb | g | m | k

RAMINCREMENT size

トランザクションがさらに多くのメモリーを必要とするときに増分するメモリー量を指定します。デフォルトは500KBです。この値は、バイト、または次のいずれかの形式のGB、MBまたはKBで指定できます。

GB | MB | KB | G | M | K | gb | mb | kb | g | m | k

DIRECTORY (directory, max_size, max_file_size)

トランザクション・データのサイズがTRANSRAMで指定した最大値を超えたときにこのデータが使用する一時ディスク記憶域を指定します。DIRECTORYは、複数回指定できます。

max_sizeで指定されたディレクトリ・サイズとmax_file_sizeで指定されたファイル・サイズは、RAMで指定したメモリー・サイズより大きい必要があります。

作成されるファイルの名前は、プロセス・タイプに応じて次のいずれかの形式になります。

  • group_trans_00001.memはグループの名前をとり、オンライン・プロセスがファイルを作成したことを示します。

  • PID_trans_00001.memはプロセスID (PID)の名前をとり、1回かぎりのプロセス(SPECIALRUNパラメータで指定)がファイルを作成したことを示します。

  • group_thread#_00001.memはグループ名とスレッド番号をとり、スレッド化されたExtractがファイルを作成したことを示します。

directory

ディレクトリの完全修飾パス名です。デフォルトは、Oracle GoldenGateディレクトリのdirtmpサブディレクトリです。

max_size

ディレクトリ内のすべてのファイルの最大サイズです。デフォルトは2GBです。指定した領域が使用できない場合は、使用可能なディスク領域の75%が使用されます。この値は、バイト、または次のいずれかの形式のGB、MBまたはKBで指定できます。

GB | MB | KB | G | M | K | gb | mb | kb | g | m | k
max_file_size

ディレクトリ内の各ファイルの最大サイズです。デフォルトは200MBです。この値は、バイト、または次のいずれかの形式のGB、MBまたはKBで指定できます。

GB | MB | KB | G | M | K | gb | mb | kb | g | m | k

例1   

次の例では、データをディスクにフラッシュする前に、各トランザクションに10回のメモリー追加を許可します(INITTRANSRAMで指定された初期割当て1回と、RAMINCREMENTで許可された9回)。

TRANSMEMORY DIRECTORY(c:\test\dirtmp, 3000000000,
300000000), RAM 8000K, TRANSRAM 1000K, INITTRANSRAM 100K,
RAMINCREMENT 100K
例2   

次の例は前述の例と同じですが、2つ目のディレクトリも追加します。

TRANSMEMORY DIRECTORY(c:\test\dirtmp, 3000000000,
300000000), DIRECTORY (c:\test\dirtmp2, 1000000000,
5000000), RAM 8000K, TRANSRAM 1000K, INITTRANSRAM 100K,
RAMINCREMENT 100K

注意:

前述の例では、スペースの制約によってパラメータ指定が複数行にわたっています。実際のパラメータ・ファイルでは、パラメータ指定が複数行にわたる場合は、各行の末尾にアンパサンド(&)を含める必要があります。