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 LOB
s. 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
)]
-
RAM
size
-
Specifies the total amount of memory to use for all cached
LOB
transactions. 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
-
TRANSRAM
size
-
Specifies the total amount of memory to use for a single
LOB
transaction. 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 | k
TRANSRAM
should be evenly divisible by bothINITTRANSRAM
andRAMINCREMENT
for optimal results. -
TRANSALLSOURCES
size
-
Specifies the total amount of memory and disk space to use for a single
LOB
transaction. 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
-
INITTRANSRAM
size
-
Specifies the initial amount of memory to allocate for a
LOB
transaction. 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
-
RAMINCREMENT
size
-
Specifies the amount of memory to increment when a
LOB
transaction 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
LOB
transaction data when its size exceeds the maximum specified withTRANSRAM
. You can specifyDIRECTORY
more than once.-
directory
is the fully qualified name of a directory. The default is thedirtmp
sub-directory of the Oracle GoldenGate directory. -
max_directory_size
is 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_size
is 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 | k
The 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.mem
or...
PID
_blob_00001.mem
A group name is used for online processes. A system process ID number (PID) is used for one-time runs specified with the
SPECIALRUN
parameter.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
INITTRANSRAM
and 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