IBMQREP_CAPPARMS table

The IBMQREP_CAPPARMS table contains a single row that you can modify to control the operations of the Q Capture program. The Q Capture program reads changes to this table only during startup.

Server: Q Capture server

Default schema: ASN

Unique index: QMGR

This table contains information that you can update by using SQL.

Important: If this table has no row, or more than one row, the Q Capture program will not run.

Table 1 provides a brief description of the columns in the IBMQREP_CAPPARMS table.

Table 1. Columns in the IBMQREP_CAPPARMS table
Column name Description
QMGR Data type: VARCHAR(48); Nullable: No

The name of the IBM® MQ queue manager that the Q Capture program uses.

REMOTE_SRC_SERVER Data type: VARCHAR(18); Nullable: Yes

Reserved for future use.

RESTARTQ Data type: VARCHAR(48); Nullable: No

The name of the queue that stores restart messages for the Q Capture log reader. The name must be unique for each Q Capture program.

ADMINQ Data type: VARCHAR(48); Nullable: No

The name of the queue that receives control messages from the Q Apply program or a user application. The name must be unique for each Q Capture program.

STARTMODE Data type: VARCHAR(6); Nullable: No, with default

The steps that the Q Capture program takes when it starts.

cold
The Q Capture program clears the restart queue and administration queue, and starts processing all Q subscriptions or publications that are in N (new) or A (active) state. With a cold start, the Q Capture program starts reading the DB2® recovery log or Oracle active redo log at the end.
warmsi (default)
The Q Capture program starts reading the log at the point where it left off, except if this is the first time you are starting it. In that case the Q Capture program switches to a cold start. The warmsi start mode ensures that the Q Capture program cold starts only when it initially starts.
warmns
The Q Capture program starts reading the log at the point where it left off. If it cannot warm start, it does not switch to cold start. The warmns start mode prevents the Q Capture program from cold starting unexpectedly. When the Q Capture program warm starts, it resumes processing where it ended. If errors occur after the Q Capture program starts, the program terminates and leaves all tables intact.

During warm starts, the Q Capture program will process only Q subscriptions or publications that are not in I (inactive) state.

MEMORY_LIMIT Data type: INTEGER; Nullable: No, with default

The amount of memory, in megabytes, that the Q Capture program can use to build transactions. After this allocation is used, in-memory transactions spill to a file. Default: 0 for z/OS®, 500 MB for Linux, UNIX, and Windows

z/OS: A value of 0 tells the Q Capture program to calculate a memory allocation from the Q Capture region size in the JCL or started task.

COMMIT_INTERVAL Data type: INTEGER; Nullable: No, with default

How often, in milliseconds, the Q Capture program issues an MQCMIT call. This call signals the queue manager to make data messages and informational messages that have been placed on queues available to the Q Apply program or user applications. Default: 500

AUTOSTOP Data type: CHAR(1); Nullable: No, with default

A flag that indicates whether the Q Capture program stops when it reaches the end of the active DB2 log.

Y
The Q Capture program stops when it reaches the end of the active DB2 log.
N (default)
The Q Capture program continues running when it reaches the end of the active DB2 log.
MONITOR_INTERVAL Data type: INTEGER; Nullable: No, with default

How often, in milliseconds, the Q Capture program adds rows to the IBMQREP_CAPMON and IBMQREP_CAPQMON tables. Default: 60000 milliseconds (1 minute) on z/OS; 30000 milliseconds (30 seconds) on Linux, UNIX, and Windows

MONITOR_LIMIT Data type: INTEGER; Nullable: No, with default

The number of minutes that rows remain in the IBMQREP_CAPMON and the IBMQREP_CAPQMON tables before they are eligible for pruning. At each pruning interval, rows in these tables are pruned if they are older than this limit based on the current timestamp. Default: 10080

TRACE_LIMIT Data type: INTEGER; Nullable: No, with default

The number of minutes that rows remain in the IBMQREP_CAPTRACE table before they can be pruned. At each pruning interval, rows in the IBMQREP_CAPTRACE table are pruned if they are older than this limit based on the current timestamp. Default: 10080

SIGNAL_LIMIT Data type: INTEGER; Nullable: No, with default

The number of minutes that rows remain in the IBMQREP_SIGNAL table before they can be pruned. At each pruning interval, rows in the IBMQREP_SIGNAL table are pruned if they are older than this limit based on the current timestamp. Default: 10080

PRUNE_INTERVAL Data type: INTEGER; Nullable: No, with default

How often, in seconds, the Q Capture program automatically prunes rows in the IBMQREP_CAPMON, IBMQREP_CAPQMON, IBMQREP_SIGNAL, and IBMQREP_CAPTRACE tables that are no longer needed. Default: 300

SLEEP_INTERVAL Data type: INTEGER; Nullable: No, with default

The number of milliseconds that the Q Capture program is idle after processing the active log and any transactions that remain in memory. Default: 500 milliseconds (0.5 seconds) for DB2 sources; 2000 milliseconds (2 seconds) for Oracle sources

LOGREUSE Data type: CHAR(1); Nullable: No, with default

A flag that indicates whether the Q Capture program reuses the Q Capture log file or appends to it.

Y
On restart, the Q Capture program reuses its log file by clearing the file then writing to the blank file.
N (default)
The Q Capture program appends new information to an existing Q Capture log file when it restarts.
LOGSTDOUT Data type: CHAR(1); Nullable: No, with default

A flag that indicates whether the Q Capture program sends log messages to outputs other than its log file.

Y
The Q Capture program sends log messages to both the log file and console (stdout).
N (default)
The Q Capture program directs most log file messages to the log file only.

Initialization, stop, and subscription activation and deactivation messages go to both the console (stdout) and the log file.

TERM Data type: CHAR(1); Nullable: No, with default

A flag that indicates whether the Q Capture program stops if the source DB2 or queue manager is unavailable.

Y (default)
The Q Capture program stops if DB2 or the queue manager are unavailable.
N
The Q Capture program keeps running if DB2 or the queue manager are unavailable. When DB2 or the queue manager are available, Q Capture begins sending transactions where it left off without requiring you to restart the program.
Oracle sources: The term parameter has no effect on Oracle sources. The default value for Oracle capture is N, which indicates that the Q Capture program continues to run if Oracle is unavailable.
CAPTURE_PATH Data type: VARCHAR(1040); Nullable: Yes

The path where the files that are created by the Q Capture program are stored.

ARCH_LEVEL Data type: CHAR(4); Nullable: No, with default

The version of the control tables. Valid values are 1140, 1021, 1001, 0973, and 0907.

Important: When updating the IBMQREP_CAPPARMS table, do not change the value in this column.
COMPATIBILITY Data type: CHAR(4); Nullable: No, with default

The version of messages that the Q Capture program sends to a Q Apply program.

1021
Version 10.2.1 messages are sent
1001
Version 10.1 messages are sent
0908
Version 9.8 messages are sent.
0907
Version 9.7 messages are sent.
0905
Version 9.5 messages are sent.
LOB_SEND_OPTION Data type: CHAR(1); Nullable: No, with default
A flag that indicates how the Q Capture program sends LOB data.
I (default)
Inline. The LOB values are sent within the transaction message. The inlined LOB values can improve performance.
S
Separate. The LOB values are sent in one or more separate LOB messages that follow the transaction message.
QFULL_NUM_RETRIES Data type: INTEGER; Nullable: No, with default

This column specifies the number of times that the Q Capture program will retry an MQPUT for the send queue.

Default: 30; Maximum: 1000

QFULL_RETRY_DELAY Data type: INTEGER; Nullable: No, with default

This column specifies the amount of time that the Q Capture program will sleep before the next retry. The value is specified in milliseconds.

Default: 250 (milliseconds); Minimum: 20; Maximum: 3600000

MSG_PERSISTENCE Data type: CHAR(1); Nullable: No, with default
A flag that specifies whether a Q Capture program writes persistent (logged) or nonpersistent (unlogged) messages to MQ queues.
Y (default)
Q Capture write persistent messages to all queues. The messages are logged by the queue manager and can be recovered.
N
Q Capture write nonpersistent messages to all queues. The messages are not logged and cannot be recovered.
D
Q Capture honors the MQ default persistence setting for each send queue, sending persistent messages for queues that are created with DEFPSIST(YES) and nonpersistent messages for queues that are created with DEFPSIST(NO).
LOGRDBUFSZ Data type: INTEGER; Nullable: No, with default

The size of the buffer in KB that the Q Capture program passes to DB2 when Q Capture retrieves log records. DB2 fills the buffer with available log records that Q Capture has not retrieved. Default: DB2 for z/OS 66KB; DB2 for Linux, UNIX, and Windows 256KB.

CAPTURE_ALIAS Data type: VARCHAR(8); Nullable: Yes, with default

The alias name for the database or subsystem that is used as the Q Capture server. This is the alias as cataloged on the system where the replication administration tools run and used to connect to the source database or subsystem to create Q Capture control tables. This column is populated by the Replication Center or ASNCLP command-line program when control tables are created. Default: NULL

STARTALLQ Data type: CHAR(1); Nullable: No, with default

A flag that tells the Q Capture program whether to activate all send queues that are not already in active state when Q Capture starts. Send queues that are already active are always processed when Q Capture starts.

Y (default)
When the Q Capture program starts, it activates all send queues that are not already in active (A) state.
N
When the Q Capture program starts, it does not activate send queues that are in inactive (I) state.
WARNLOGAPI Data type: INTEGER; Nullable: No, with default

The number of milliseconds that the Q Capture program waits for the DB2 for z/OS instrumentation facility interface (IFI)or DB2 for Linux, UNIX, and Windows log read API to return log records before Q Capture prints a warning to the standard output. Default: 0.

STALE Data type: INTEGER; Nullable: No, with default

The number of seconds that the Q Capture program waits to issue a warning message or take other action after it detects a long-running transaction with no commit or rollback log record. On z/OS, Q Capture issues warning messages if has not seen a commit or rollback record for one hour (3600 seconds). On both z/OS and Linux, UNIX, and Windows, if a transaction has been running for the number of seconds that are specified in the STALE column and Q Capture did not see any row operations in the log for the transaction, it issues warning messages and increments the log sequence number that it considers to be the oldest "in-flight" transaction that was not committed or rolled back. If any rows were captured for the transaction, Q Capture only issues warning messages. Default: 3600.

TRANS_BATCH_SZ Data type: INTEGER; Nullable: No, with default

The number of source database transactions that Q Capture groups together in an MQ message. The default is 1 (no batching) and the maximum batch size is 128. Q Capture respects the value of trans_batch_sz unless the Q Capture commit interval is reached before the number of transactions reaches this value, or unless the total size of transactions in the batch exceeds the value of the max_message_size parameter for the send queue or the value of the MQ maximum message length (MAXMSGL) for the send queue.

Notes:
  • To use a value greater than 1 for TRANS_BATCH_SZ, the value of the LOB_SEND_OPTION must be I.
  • Using this parameter in combination with other parameters or consistent-change data (CCD) targets might product undesired results. For details, see trans_batch_sz parameter.
TRANS_BATCH_INFO Data type: CHAR(1); Nullable: No, with default

A flag that determines if, when the value of TRANS_BATCH_SZ is greater than 1, the Q Capture program sends information about all of the transactions that are in the batch or only sends information about the last transaction.

By default Q Capture sends the transaction information (SRC_TRANS_ID, AUTHID, AUTHTOKEN, and PLANNAME) for only the last transaction. As a result, if an exception or error occurs while applying a row to the target, the transaction information for the error in the IBMQREP_EXCEPTIONS table might not be reliable. When TRANS_BATCH_SZ is greater than 1, the exception report contains the correct COMMITSEQ and URID information, and for consistent-change data (CCD) target tables the values for the IBMSNAP_COMMITSEQ and IBMSNAP_LOGMARKER columns are accurate.

N (default)
When sending a batch of transactions, Q Capture sends information about only the last transaction in the batch.
Y
Q Capture sends information about each transaction that is in the batch.
PART_HIST_LIMIT Data type: INTEGER; Nullable: No, with default

Linux, UNIX, Windows: The number of seconds that you want old data to remain in the IBMQREP_PART_HIST table before the data becomes eligible for pruning. This parameter also controls how far back in the log you can restart the Q Capture program because Q Capture uses IBMQREP_PART_HIST to determine what log records to read for a partitioned source table. The Q Capture program uses the partition history that is stored in the IBMQREP_PART_HIST table to help handle partition changes such as add, attach, or detach. One row, identified by a log sequence number (LSN), is inserted for each partition in the source table on two occasions:

  • The first Q subscriptions or subscription-set member for the table is activated.
  • The table is altered to add, attach, or detach a partition.

If you are replicating partitioned tables on Linux, UNIX, or Windows, ensure that the value in the PART_HIST_LIMIT column is large enough to allow for possible recapture of past log records in the case of a system failure or other outage. Default: 10080 minutes (seven days).

NMI_ENABLE Data type: CHAR(1); Nullable: No, with default

z/OS: A flag that indicates whether the Q Capture program is enabled to provide a Network Management Interface (NMI) for monitoring Q Replication statistics from IBM Tivoli® NetView® Monitoring for GDPS®. This function is enabled on InfoSphere® Replication Server for z/OS, 10.1, with the PTF that corresponds to Version 9.7 Fix Pack 4 on Linux, UNIX, and Windows. The NMI client application must be on the same z/OS system as the Q Capture program.

N (default)
Monitoring is not enabled.
Y
The NMI interface for monitoring is enabled.
NMI_SOCKET_NAME Data type: VARCHAR(256); Nullable: Yes

z/OS: The name of the AF_UNIX socket where the Q Capture program listens for requests for statistical information from NMI client applications. You can use this column to change the name that Q Capture automatically generates. The socket file is generated in the directory /var/sock. The socket name is constructed by combining the file path, group attach name, Q Capture schema name, and the program name (asnqcap). An example socket name is /var/sock/V91A_ASN_asnqcap.

You can use the status show details parameter of the MODIFY command with the Q Capture job name to list the name of the current NMI file socket and all clients that are connected. For example, to get socket information for the myqcap job name:

f myqcap,status show details
WARNTXSZ Data type: INTEGER; Nullable: No, with default

Specifies whether the Q Capture program issues warning messages when it encounters transactions that are larger than a specified size. You provide a threshold value in megabytes, and transactions that exceed the threshold prompt a warning message. Q Capture issues multiple warning messages if the transaction size is a multiple of the WARNTXSZ value. For example, if you set WARNTXSZ to 10 MB and Q Capture encounters a 30 MB transaction, three warnings are issued (one for 10 MB, one for 20 MB, and one for 30 MB).

The default value of 0 MB means warnings are not issued.

MAX_TRANS Data type: SMALLINT; Nullable: No, with default

The maximum number of database transactions that are replicated in an MQ commit interval.

LOGSPOOLING Data type: CHAR(1); Nullable: No, with default

Reserved for future use.

REPROCESS_SIGNALS Data type: CHARACTER(1); Nullable: No, with default

A flag that specifies whether the Q Capture program reprocesses previously encountered inserts into the IBMQREP_SIGNAL table when you start Q Capture from a previous point in the log. Processing of historical signals can cause problems; for example, a CAPSTOP signal deactivates a Q subscription.

N (default)
Q Capture ignores any signals that it processed in a previous reading of the log.
Y
Q Capture reprocesses old signals.
LOG_COMMIT_INTERVAL Data type: INTEGER; Nullable: No, with default

An interval in seconds for how often the Q Capture log reader thread commits. The default is every 30 seconds. If you detect that Q Capture is creating contention with other DDL operations on the source database, you can shorten this value so that Q Capture commits, and releases any locks, more frequently.

IN_MEM_FILTER_EVAL Data type: CHAR(1); Nullable: No, with default

A flag that specifies whether the Q Capture program or the database evaluates row filters such as search conditions and change conditions:

Y (default)
The Q Capture program evaluates supported search conditions and change conditions in memory. See In-memory evaluation of row filters for information on which conditions are supported.
N
The database evaluates search conditions and change conditions.
MQTHREAD_BUFSZ Data type: INTEGER; Nullable: No, with default

The size in kilobytes (KB) of the memory buffer that can be used to stage messages before they are written to MQ. When you specify PARALLEL_MQTHREAD=Y, Q Capture uses a separate thread to publish messages from the MQ buffer, potentially improving performance. The value of MQTHREAD_BUFSZ must be at least as large as the smallest message that is put to MQ. The minimum non-zero value is 50 KB, the maximum value 100 MB.

PARALLEL_MQTHREAD Data type: CHAR(1); Nullable: No, with default

z/OS: A flag that indicates whether Q Capture uses a separate MQ publishing thread.

N (default)
No separate thread is used. The Q Capture worker thread performs all MQ operations in addition to transforming completed transactions from the log into MQ messages.
Y
A separate thread is used to put messages to MQ. When this option is specified, Q Capture also creates a separate memory buffer that the publish thread uses to stage MQ messages. The size of the buffer is governed by the MQTHREAD_BUFSZ parameter.
MAX_CAPSTARTS_INTLOAD Data type: INTEGER; Nullable: No, with default

The maximum number of Q subscriptions that specify an internal load that can be started at the same time. When you specify a value of n or larger, Q Capture delays activation of Q subscriptions to ensure that no more than n Q subscriptions are being started. You can use this parameter to manage system resources when you need to activate a large number of Q subscriptions, particularly on the Q Apply side where a separate MQ spill queue is created for each Q subscription. The default and minimum value is 0; there is no maximum value.

USE_CAPCMD_TABLE Data type: CHAR(1); Nullable: No, with default

z/OS: A flag that tells the Q Capture program whether to read the IBMQREP_CAPCMD table for any commands to be processed.

N (default)
The Q Capture program skips reading from the IBMQREP_CAPCMD table.
Y
The Q Capture program reads the IBMQREP_CAPCMD table every n milliseconds. The frequency is determined by the value in the CAPCMD_INTERVAL column.
CAPCMD_INTERVAL Data type: INTEGER; Nullable: No, with default

z/OS: How frequently the Q Capture program reads the IBMQREP_CAPCMD table. The default is 3000 milliseconds and the minimum value is 1000 milliseconds.