Table of Contents

Search

  1. Preface
  2. Change Data Capture Introduction
  3. PowerExchange Listener
  4. PowerExchange Condense
  5. DB2 for i5/OS Change Data Capture
  6. Remote Logging of Data
  7. Introduction to Change Data Extraction
  8. Extracting Change Data
  9. Monitoring CDC Sessions
  10. Managing Change Data Extractions
  11. Tuning CDC Sessions
  12. Appendix A: DTL__CAPXTIMESTAMP Time Stamps

CDC Guide for i5/OS

CDC Guide for i5/OS

PowerExchange DBMOVER Statements for Tuning CDC Sessions

PowerExchange DBMOVER Statements for Tuning CDC Sessions

You can customize certain statements in the dbmover.cfg configuration file to tune CDC sessions.
Customize any of the following parameters to try to increase throughput or reduce CPU use:
APPBUFSIZE=
bytes
The maximum application data buffer size, in bytes, that PowerExchange uses to read or write data. This buffer type can exist on a source or target system.
If you use a remote target system, PowerExchange usually writes change data to its application data buffer on the source system until the buffer is full. PowerExchange then sends the change data to a sending TCP/IP buffer on the source system. TCP/IP transports the change data to a receiving TCP/IP buffer on the target system. PowerExchange on the target system reads the change data from the TCP/IP buffer into its application data buffer. PWXPC then reads the change data and passes it to PowerCenter. PowerCenter processes the data and applies it to the targets.
Enter an APPBUFSIZE value that is greater than the maximum size of any single data row to be sent.
Valid values are from 34816 through 8388608. Default is 256000.
If the target is remote, enter the same APPBUFSIZE value in the DBMOVER configuration files on the source and target systems.
When the APPBUFSIZE value is not optimal, PowerExchange writes message PWX-01295 in the PowerExchange message log file on the source system. This message recommends a minimum application buffer size.
If dynamic application buffer sizing is enabled, the APPBUFSIZE statement defines the initial size of the application data buffer for all connections made during a PowerExchange Listener run. PowerExchange resizes the application data buffer dynamically for individual connections as needed. Dynamic application buffer sizing is enabled by default. You can explicitly enable it by specifying Y for the APPBUFSIZEDYN statement in the DBMOVER configuration file.
APPBUFSIZEDYN={N|
Y
}
Specifies whether to enable dynamic application buffer sizing.
The DBMOVER APPBUFSIZE statement defines the initial size of the application buffer for all connections made during a PowerExchange Listener run. If APPBUFSIZEDYN=Y, PowerExchange resizes the application buffers for individual connection as needed.
The APPBUFSIZEDYN statement applies to PowerExchange connections to data sources with either fixed-length or variable-length records. A variable-length record is a record with at least one variable-length field. A variable-length field has a datatype of VARCHAR or VARBIN.
For each connection to a data source with variable-length records, PowerExchange resizes the application buffer when it encounters a record that is too large to fit into the buffer. PowerExchange increases the size of the application buffer to a value of ten times the size of the record that has overflowed, up to the maximum application buffer size of 8 MB. The new size remains in effect for the duration of the Listener run or until the application buffer is resized again. PowerExchange never decreases the application buffer size for a connection after the Listener run has started.
For each connection to a data source with fixed-length records, PowerExchange determines the record length when the connection is opened and resizes the application buffer once, up to the maximum application buffer size of 8 MB, as needed.
CAPI_CONNECTION=( ...,(TYPE={UDB|UOWC},MEMCACHE=
cache_size
, ...))
The maximum memory cache size, in kilobytes, that PowerExchange can allocate to reconstruct complete UOWs. This MEMCACHE parameter is specified only in the UDB or UOWC CAPI_CONNECTION statements.
Enter a number from 0 through 2147483647. Default is 1024. If you enter 0, the memory cache size is unlimited.
PowerExchange keeps all changes in each UOW in cache until processing the end-UOW record. PowerExchange incrementally allocates memory cache up to the limit that this parameter specifies. If the MEMCACHE value is too small to hold all of the changes in a UOW in cache, the changes spill to a disk file.
Each UOW spill file contains one UOW. A UOW might require multiple UOW spill files to hold all of the changes for that UOW. If the change stream contains multiple large UOWs and the memory cache is insufficient, PowerExchange might create numerous UOW spill files.
PowerExchange processes the change stream more efficiently if it does not need to use UOW spill files. In addition to degrading extraction performance, large numbers of UOW spill files can cause a disk space shortage.
The default value of 1024 is appropriate if the change stream contains many small UOWs. If you have UOWs larger than 1024 KB, increase this value or enter 0. PowerExchange processes a UOW more efficiently if all of the changes are cached in memory. For most environments, a good starting value is 10240.
PowerExchange allocates memory cache for each connection for change data extraction processing. To prevent excessive memory use, use a MEMCACHE value that is reasonable for the extraction processing load and number of CDC sessions that run concurrently. If the value is too large and you run many concurrent sessions, memory constraints might occur.
CAPI_CONNECTION=( ...(TYPE={MSQL|UDB|UOWC},RSTRADV=
rstr_seconds
, ...))
Time interval, in seconds, that PowerExchange waits before advancing restart and sequence tokens for a registered data source during periods when UOWs do not include any changes of interest for the data source. When the wait interval expires, PowerExchange returns the next committed "empty UOW," which includes only updated restart information.
This RSTRADV parameter is specified only in CAPI_CONNECTION statements of the following types:
  • MSQL
  • UDB
  • UOWC
Enter a number from 0 through 86400.
If you do not specify RSTRADV, PowerExchange does not advance restart and sequence tokens for a registered source during periods when PowerExchange receives no changes of interest. In this case, when PowerExchange warm starts, it reads all changes, including those not of interest for CDC, from the restart point.
PowerExchange resets the wait interval to 0 when one of the following events occur:
  • PowerExchange completes processing a UOW that includes changes of interest.
  • PowerExchange returns an empty UOW because the wait interval expired without PowerExchange receiving any changes of interest.
For sources with low change activity, you can use the RSTRADV parameter to periodically advance to the restart tokens for those sources. Advancing the restart tokens speeds up restart processing for CDC sessions by minimizing the amount of change data that must be reprocessed.
For example, if you specify 5, PowerExchange waits 5 seconds after it completes processing the last UOW or after the previous wait interval expires. Then PowerExchange returns the next committed empty UOW that includes the updated restart information and resets the wait interval to 0.
A low value can cause the
UOW Count
option on the PWX CDC connection to match more quickly than expected. When the UOW counter matches, PWXPC flushes the data buffer and commits restart tokens to the targets. Excessive flush activity can adversely affect performance on the PowerCenter Integration Service machine and on the target databases.
A value of 0 can degrade performance. In addition to the UOWs that contain changes for registered sources of interest, PowerExchange returns an empty UOW for every UOW that does not contain changes for the registered sources of interest.
LISTENER=(
node_name
,TCPIP,
port
,
send_bufsize
,
receive_bufsize
,
send_size
,
receive_size
, ...)
A TCP/IP port on which a named PowerExchange Listener process listens for work requests.
The
send_bufsize
and
receive_bufsize
positional parameters define the data portion of the TCP/IP send and receive buffer sizes that PowerExchange uses. If you do not specify these values, PowerExchange uses the operating system defaults.
To increase throughput, try increasing the
send_bufsize
and
receive_bufsize
values in the LISTENER statement in the DBMOVER configuration file on the source system. For help in determining the best values to use, contact your network administrator.
NODE=(
node_name
,TCPIP,
host_name
,
port
,
send_bufsize
,
receive_bufsize
,
send_size
,
receive_size
, ...)
A TCPIP host name and port that PowerExchange uses to contact a PowerExchange Listener process.
The
send_bufsize
and
receive_bufsize
positional parameters define the data portion of the send and receive buffer sizes that PowerExchange uses. If you do not specify these values, PowerExchange uses the operating system defaults.
To increase throughput, try increasing the
send_bufsize
and
receive_bufsize
values in the NODE statement in the DBMOVER configuration file on the target system. For help in determining the best values to use, contact your network administrator.
TRACE=(
trace_id
,
trace_level
,99)
Activates PowerExchange diagnostic traces that Informatica Global Customer Support uses to solve problems with PowerExchange code.
TRACE statements can severely impact PowerExchange performance. Use these statements only at the direction of Informatica Global Customer Support.
After Informatica Global Customer Support diagnoses the problem, remove or comment out all TRACE statements in the DBMOVER configuration files on all systems.
For more information about these DBMOVER statements, see the
PowerExchange Reference Manual
.

0 COMMENTS

We’d like to hear from you!