6.185 VAM

Valid For

Extract

Description

Use the VAM parameter to specify that a Vendor Access Module (VAM) is being used to perform data capture functions for the Extract process and send it to the Extract API. This parameter supplies required input for the VAM API.

Default

None

Syntax

VAM library, PARAMS ('param' [, 'param'] [, ...])
library

The name of the library that is supplied by the database vendor as a Windows DLL or a UNIX shared object. Use the full path name if the library is in a directory other than the Oracle GoldenGate directory.

Note:

Teradata calls this library the Teradata Access Module (TAM). This program or library communicates with the Oracle GoldenGate VAM API.

PARAMS 'param'

Any parameter, enclosed within single quotes, that is passed to the Oracle GoldenGate API. See the following database-specific parameter options.

ARLIBError error, action

Valid for SQL/MX.

Specifies how TMFARLIB errors are handled by the VAM.

  • error is an ARLIB error number.

  • action can be ABEND | WARN | IGNORE.

The default is ABEND. Errors -1000 and -2000 will always result in ABEND, regardless of any other action that is specified.

Examples:

Vam Params (arliberror (-16,-14), Warn)
Vam Params (arliberror -2000, Abend)
Vam Params (arliberror -1000, Abend)
ARErrorReportInterval seconds

Valid for SQL/MX.

Sets the interval, in seconds, in which the same TMFARLIB error is reported back to Extract. This reduces the amount of messages for each type of error that accumulate. seconds must be greater than, or equal to, zero. The default is 60 seconds.

inifile, ini_file, callbackLib, extract.exe

Required parameter for Teradata.

  • inifile indicates that the next parameter specifies the TAM initialization file.

  • ini_file is the name of the TAM initialization file. Unless the file resides in the same directory where the Extract program is installed, specify the fully qualified path name.

  • callbackLib indicates that the next parameter specifies the program that interfaces with the TAM. This parameter is case-sensitive and must be entered exactly as shown here.

  • extract.exe is the Extract program, which is the callback program for the TAM.

CDCRECORDSFETCHCOUNT, CDCSESSIONTIMEOUT, CDCRECORDQUEUESIZE

Valid for Informix.

  • CDCRECORDSFETCHCOUNT specifies the number of CDC records to be fetched in one call. For example, the CDC record batch size. The default number of records is 10. When there are not 10 records to fetch from transaction log the CDC API fetches old records, which causes duplication that may lead to either an Extract or Replicat abend. Also, it is possible that the Extract statistics may show incorrect output. To avoid this condition, use VAM PARAMS (CDCRECORDSFETCHCOUNT default 10 in the Extract parameter file.

  • CDCSESSIONTIMEOUT specifies the CDC session timeout in seconds. The default is 2 seconds.

  • CDCRECORDQUEUESIZE specifies the queue size used to store the transaction log records. The default is 256 records.

In a distributed environment with a very high number of transactions, you should configure these VAM parameters for optimum memory performance. For example, with 800+ tables the Extract memory consumption with the VAM parameters set to CDCRECORDFETCHCOUNT 32 and CDCRECORDQUEUESIZE 5120) is 760 MB. Alternatively, with the same number tables and these parameters set to CDCRECORDFETCHCOUNT 32 and CDCRECORDQUEUESIZE 1024 the memory consumption is 300 MB. Configuring these parameters are trade off between Extract memory consumption and Extract performance rate.

LOGICALLOGWARNINGTHRESHOLD

Valid for Informix.

The input is the usage threshold given by percentage (%) of the current logical log file used by the Informix Dynamic Server. The default value is 50, so 50%. If Oracle GoldenGate capture is positioned at the oldest logical log file and the current logical log file usage exceeds this specified threshold, then a warning message is written to the report file.

SCANLOGPRIORITY
By default, the priority of reader thread is not set. It runs in medium priority, which is the default for any connection, but you can reset the priority to HIGH=1, Medium=2 and Low=3. If this has to be set then the login user, which is used in the capture process should have SA privileges.
SCANLOGPOLLMODE
By default the capture process runs in flush mode. It can run with poll mode to poll and get the record instead of waiting.
SCANLOGTIMEOUT
It is used to timeout when the capture process is reading the transaction log record. If it does not find any record then it times out and wakes up once its given duration is over, to rescan and get the record from transaction log. By default, it is not enabled. It can be set to 5 sec or higher. However, if higher values are set then it may impact the performance.

Examples

VAM tam.dll, PARAMS (inifile, tam.ini, callbackLib, extract.exe)
VAM PARAMS(CDCRECORDSFETCHCOUNT 5) 
VAM PARAMS(CDCRECORDSFETCHCOUNT 5 CDCSESSIONTIMEOUT 5) 
VAM PARAMS (CDCRECORDQUEUESIZE 512) 
VAM PARAMS (LOGICALLOGWARNINGTHRESHOLD 65) 
VAM PARAMS (SCANLOGPRIORITY 1)
VAM PARAMS (SCANLOGPOLLMODE)
VAM PARAMS (SCANLOGTIMEOUT 5)