Refresh execution - connect_cdc_sqdata - Latest

Connect CDC (SQData) Change Data Capture

Product type
Software
Portfolio
Integrate
Product family
Connect
Product
Connect > Connect CDC (SQData)
Version
Latest
Language
English
Product name
Connect CDC (SQData)
Title
Connect CDC (SQData) Change Data Capture
Copyright
2024
First publish date
2000
Last updated
2024-11-25
Published on
2024-11-25T15:05:48.570404

Instruct the Capture to refresh the target with data from the table(s) using the new sqdconf refresh command, specifying the size of the refresh slice with optional key ranges. Using JCL similar to sample member SQDCONDC included in the distribution, request the Dynamic Refresh (this is not presently a supported function of the ISPF panels):

Syntax
//*-------------------------------------------
//* Request a Refresh from a Db2 source table
//*-------------------------------------------
//REFRESH EXEC PGM=SQDCONF
//SYSOUT DD SYSOUT=*
//SQDPARMS DD *
 refresh /home/sqdata/db2cdc/db2cdc.cab 
--schema=<name> --table=<name> | --key=<name>
--block-size=<number_of_rows>
[--from=<(key_value1, key_valuex)> | --from-included=<(key_value1, key_valuex)>]
[--to=<(key_value1, key_valuex)> | --to-included=<(key_value1, key_valuex)>]
[--where=<"a valid SQL search condition in double quotes">]
[--sysprint=<DDNAME> | --sysout=<DDNAME>]
[--with-cs, --with-rr, --with-rs, and --with-ur]
/*
Keyword and Parameter Descriptions
Keyword Description
--schema=<name> Schema name, owner, or qualifier of a table. Different databases use different semantics, but a table is usually uniquely identified as S.T where S is referenced here as schema. This parameter cannot be specified with --key.
--table=<name>

A qualified table name in the form of schema.name that identifies the source. This may be used in place of two parameters, --schema and --table. Both cannot be specified.

--key=<name> Same as --table.
--block-size=<number_of_rows> The number of rows to extract at a time (refresh slice size).
[--from=<(key_value1, key_valuex)> | --from-included=<(key_value1, key_valuex)>]

Optional starting point of refresh; --from starts on row after keys are matched | --from-included starts from row with matching keys.

[--to=<(key_value1, key_valuex)> | --to-included=<(key_value1, key_valuex)>] Optional ending point of refresh; --to ends on row before keys are matched | --to-included ends with row that matches keys.
[--where=<"a valid SQL search condition in double quotes">] Specifies filter criteria for source data records, similar to the way the SQL WHERE clause works. Mutually exclusive with --from |--from included and --to | --to-included parameters. Any SQL search condition valid for the specified table. The condition must be enclosed by double quotes. For example,
 --where="WORKDEPT='D11'"
[--sysprint=<DDNAME> | --sysout=<DDNAME>] z/OS Only, specify alternative DDNAME for output.

[--with-cs, --with-rr, --with-rs, and --with-ur]

CS is the default when this optional parm is not specified. There are three other Db2/z locking isolation levels

  • --with-rr {rr is repeatable read}
  • --with-rs {rs is read stability}
  • --with-ur {ur is uncommitted read}
that provide control over the number and duration of read (share) locks in a unit-of-work. The objective of the Dynamic Refresh is to eliminate any need to consider locking implication by sizing slices based on the other parameters above. The default, CS minimizes locking while ensuring that uncommitted data is not read. Precisely recommends using caution and consulting with Precisely Support, your DBA's and Source Application SME's before inquiring about other options.

Example 1

Refresh table SQDATA.EMP using 10,000 row slices to all replication engines defined in the Capture CAB file db2cdc.cab with a WHERE clause to use any column or column combination after first preparing the Capture to accommodate Dynamic Refresh requests using a second Transient Storage area, using JCL similar to this:
//*--------------------------------------------------------
//* Request Refresh of a target Db2 Table with --where
//*--------------------------------------------------------
//REFRESH EXEC PGM=SQDCONF
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SQDPARMS DD *
refresh --key=SQDATA.EMP --block-size=10000
--where 'COLUMN_NAME=VALUE'
/*

Example 2

Refresh table SQDATA.EMP using 10,000 row slices to all replication engines defined in the Capture CAB file db2cdc.cab with a WHERE clause to use any column or column combination after first preparing the Capture to accommodate Dynamic Refresh requests using a second Transient Storage area, using JCL similar to this:
//*-------------------------------------------------------------------
//* Request Refresh of a target Db2 Table with DDNAME for output
//*-------------------------------------------------------------------
//REFRESH EXEC PGM=SQDCONF
//DDNAME1  DD DSN=SQDATA.REFRESH.SYSPRT,DISP=SHR
//DDNAME2  DD DSN=SQDATA.REFRESH.SYSOUT,DISP=SHR
//SQDPARMS DD *
refresh /home/sqdata/db2cdc/db2cdc.cab
--key=SQDATA.EMP --block-size=10000
--sysprint=DDNAME1
--sysout=DDNAME2
/*