LOBMEMORY
Valid For
Extract and Replicat for DB2 z/OS
Description
Use the LOBMEMORY parameter to control the amount of memory and temporary disk space available for caching transactions that contain LOBs. Because Oracle GoldenGate applies only committed transactions to the target database, it requires sufficient system memory to store LOB data until either a commit or rollback indicator is received.
This parameter is for use with a DB2 z/OS database. For all other databases, use the CACHEMGR parameter.
About Memory Management with LOBMEMORY
LOBMEMORY enables you to tune the cache size of Oracle GoldenGate for LOB transactions and define a temporary location on disk for storing data that exceeds the size of the cache. Options are available for defining the total cache size, the per-transaction memory size, the initial and incremental memory allocation, and disk storage space.
LOB transactions are added to the memory pool specified by RAM, and each is flushed to disk when TRANSRAM is reached. An initial amount of memory is allocated to each transaction based on INITTRANSRAM and is increased by the amount specified by RAMINCREMENT as needed, up to the maximum set with TRANSRAM. Consequently, the value for TRANSRAM should be evenly divisible by the sum of (INITTRANSRAM + RAMINCREMENT).
Default
See option defaults
Syntax
LOBMEMORY [RAM size] [TRANSRAM size] [TRANSALLSOURCES size] [INITTRANSRAM size] [RAMINCREMENT size] [DIRECTORY (directory, max_directory_size,max_file_size)]
-
RAMsize -
Specifies the total amount of memory to use for all cached
LOBtransactions. The default is 200 megabytes. The value can be specified in bytes or in terms of gigabytes, megabytes, or kilobytes in any of the following forms:GB | MB | KB | G | M | K | gb | mb | kb | g | m | k -
TRANSRAMsize -
Specifies the total amount of memory to use for a single
LOBtransaction. The default is 50 megabytes. The value can be specified in bytes or in terms of gigabytes, megabytes, or kilobytes in any of the following forms:GB | MB | KB | G | M | K | gb | mb | kb | g | m | kTRANSRAMshould be evenly divisible by bothINITTRANSRAMandRAMINCREMENTfor optimal results. -
TRANSALLSOURCESsize -
Specifies the total amount of memory and disk space to use for a single
LOBtransaction. The default is 50% of total available memory (memory and disk). The value can be specified in bytes or in terms of gigabytes, megabytes, or kilobytes in any of the following forms:GB | MB | KB | G | M | K | gb | mb | kb | g | m | k -
INITTRANSRAMsize -
Specifies the initial amount of memory to allocate for a
LOBtransaction. The default is 500 kilobytes. The value can be specified in bytes or in terms of gigabytes, megabytes, or kilobytes in any of the following forms:GB | MB | KB | G | M | K | gb | mb | kb | g | m | k -
RAMINCREMENTsize -
Specifies the amount of memory to increment when a
LOBtransaction requires more memory. The default is 500 kilobytes. The value can be specified in bytes or in terms of gigabytes, megabytes, or kilobytes in any of the following forms:GB | MB | KB | G | M | K | gb | mb | kb | g | m | -
DIRECTORY (directory, max_directory_size, max_file_size) -
Specifies temporary disk storage for
LOBtransaction data when its size exceeds the maximum specified withTRANSRAM. You can specifyDIRECTORYmore than once.-
directoryis the fully qualified name of a directory. The default is thedirtmpsub-directory of the Oracle GoldenGate directory. -
max_directory_sizeis the maximum size of all files in the directory. The default is 2 gigabytes. If the space specified is not available, then 75% of available disk space is used. -
max_file_sizeis the maximum size of each file in the directory. The default is 200 megabytes.
Values can be specified in bytes or in terms of gigabytes, megabytes, or kilobytes in any of the following forms:
GB | MB | KB | G | M | K | gb | mb | kb | g | m | kThe directory size and file size must be greater than the size of the memory specified with
RAM.The file names use the following format.
group_blob_00001.memor...
PID_blob_00001.memA group name is used for online processes. A system process ID number (PID) is used for one-time runs specified with the
SPECIALRUNparameter.The format for a threaded Extract is similar to the following, depending on the database.
group_thread#_00001.mem -
Examples
- Example 1
-
The following example allows per-transaction memory to be incremented ten times before data is flushed to disk, once for the initial allocation specified with
INITTRANSRAMand then nine more times as permitted byRAMINCREMENT.LOBMEMORY DIRECTORY (c:\test\dirtmp, 3000000000, 300000000), & RAM 8000K, TRANSRAM 1000K, INITTRANSRAM 100K, RAMINCREMENT 100K
- Example 2
-
The following is the same as the preceding example, but with the addition of a second directory.
LOBMEMORY DIRECTORY (c:\test\dirtmp, 3000000000, 300000000), & DIRECTORY (c:\test\dirtmp2, 1000000000, 5000000), & RAM 8000K, TRANSRAM 1000K, INITTRANSRAM 100K, RAMINCREMENT 100K