Create z/OS CDCStore CAB file - 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 edition
2024-09-05
Last publish date
2024-09-05T15:00:09.754973

The CDCStore Storage Agent configuration (.cab) file is a binary file created and maintained by the SQDconf utility. While this section focuses primarily on the initial configuration of the Storage agent, sequences of SQDconf commands to create and configure the storage agent should be saved in a shell script or a zOS PARMLIB member both for migration to other operating environments and for recovery.

The SQDconf create command will be used to prepare the initial CDCStore configuration (.cab) file for the CDCStore Storage agent used by the Db2 zOS, UDB (DB2/LUW) and Oracle Capture agents:

Syntax
sqdconf create <cab_file_name>
--type=store
--alias=<capture_agent_name>
[--number-of-blocks=<blocks_per_file>]
[--number-of-logfiles=<number_of_files>]
[--memory=<nnn[K|M|G]]
--data-path=<directory_name>
Keyword and Parameter Descriptions
Keyword Descriptions
<cab_file_name> Path and name of the Storage Agent Configuration (.cab) file. The directory must exist and the user-id associated with the agent must have the right to create and delete files in that directory. There is a one to one relationship between the CDCStore Storage Agent and Capture Agent. Precisely recommends including the Capture Agent alias as the third node in the directory structure and first node of the file name, for example, /home/sqdata/db2cdc1/db2cdc1_store.cab. In a windows environment .cfg may be substituted for .cab since .cab files have special meaning in windows.
--type=store Agent type must be "store" for the Storage Agent.
--alias=<capture_agent_name> The alias name must be unique for each CDCStore Capture Agent managed by a single daemon. Using the same "name" as was used to name the Capture configuration .cab file will ensure uniqueness for example, a db2cdc1.cab file will have a corresponding db2cdc1_store.cab created with --alias=db2cdc1.
[--number-of-blocks=<blocks_per_file> | -b <blocks_per_file>] The number of 8MB blocks allocated for each file defined for transient CDC storage. The default value is 32.
[--number-of-logfiles=<number_of_files> | -n <number_of_files>] The number of files that can be allocated in a data-path. Files are allocated as needed one full file at a time, during storage agent operation. CDCStore recycles blocks when possible before new storage is allocated. The default value is 8.
[--memory=nnn[KMG]] CDCStore transient data cache memory. The default is the minimum 8M with the total cache in megabytes calculated as ((((number of targets + 1 ) * 2) + 1) * 8M), i.e: One subscribing Engine will consume ((((1 + 1 ) * 2) + 1) * 8M) = 40 megabytes. Precisely recommends using this default based on the experience of many customers with a wide range of workload and transaction size. The maximum number of blocks (each block is always 8MB) can be displayed using Log-Level 5 and based on the 40 megabyte example will be 40M/8M = 5. Please contact Precisely support athttps://www.precisely.com/supportbefore specifying this parameter.
--data-path=<directory_name> The path and directory name, where the storage agent will create transient storage files. The directory must exist and the user-id associated with the agent must have the right to create and delete files in that directory. In our example, /home/sqdata/db2cdc1/data.

Example

Create the Connect CDC SQData CDCStore Storage Agent configuration for a Db2 zOS capture using JCL similar to sample member SQDCONDS included in the distribution with the appropriate storage pool parameters. While those parameters are included in-line below we recommend that they be maintained separately in a file referenced by the SQDPARM DD:
//SQDCONDS JOB 1,MSGLEVEL=(1,1),MSGCLASS=H,NOTIFY=&SYSUID
//*
 //*--------------------------------------------------------------------
//* Create CAB File for DB2 CDCStore Storage Agent
 //*--------------------------------------------------------------------
//* Note: 1) Parameter Keywords must be entered in lower case
//*
//* 2) Parameters Values are Case Sensitive.
//*
//* 3) The transient storage directory(s) should be sized
//* to hold the largest anticipated unit-of-work in
//* addition to any concurrent inflight transactions
//*
//* Steps: 1) (optional) delete the existing Storage CAB File
//* 2) Create a new Storage CAB File
//* 3) Display the contents of the new CAB File
//*
 //*********************************************************************
//*
//JOBLIB DD DISP=SHR,DSN=SQDATA.V400.LOADLIB
//*
//*-------------------------------------------
//* Optional - Delete existing CAB File
//*-------------------------------------------
//*DELETE EXEC PGM=IEFBR14
//*SYSPRINT DD SYSOUT=*
//*CDCSTORE DD PATHDISP=(DELETE,DELETE),
//* PATH='/home/sqdata/db2cdc/db2cdc_store.cab'
//*
//*-------------------------------------------
//* Create a New Capture CDCStore CAB File
//*-------------------------------------------
//CRSTORE EXEC PGM=SQDCONF
 //SYSPRINT DD SYSOUT=* 
 //SYSOUT DD SYSOUT=* 
 //SQDPARMS DD * 
 create /home/sqdata/db2cdc/db2cdc_store.cab 
--type=store 
--alias=cdcstore 
 --number-of-blocks=32
 --number-of-logfiles=8
 --data-path=/home/sqdata/db2cdc/data
//*
//*----------------------------------------------
//* Display the Contents of the CDCStore CAB File
//*----------------------------------------------
//DISPLAY EXEC PGM=SQDCONF
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SQDPARMS DD *
 display /home/sqdata/db2cdc/db2cdc_store.cab --details 
/*

Notes:

  • See the SQDconf utility for more details.
  • The SQDconf create command defines the .cab file name and the location and size of the transient data store. Once created, this command should never be run again unless the storage agent is being recreated.
  • Unlike the Capture/Publisher configuration files, changes to the CDCStore configuration file take effect immediately and do not require the usual stop/apply/start sequence.
  • The Directory path references, in the example /home/sqdata/<type>cdc/ can be modified to conform to the operating environment but must match the Connect CDC (SQData) variable directory created.
  • The configuration files must be assigned the proper OMVS permissions. The Job/Task that reads or updates the configuration files must have permissions that permit the function. The userid associated with the Job/Task SHOULD match the ownerid of the Unix files and directories that the program reads/writes to. If it doesn't, it would have to gain access via group or world permissions, or by virtue of being uid 0. The recommended OMVS permission is 664 (RW owner, RW group, R everyone else.

    The permissions may be set directly in OMVS or by a final job step when configuration files are created that might look like this:
     //*--------------------------------------------------------------------
     //* Optional: Change permissions of newly created files
     //*--------------------------------------------------------------------
     //CHMOD EXEC PGM=IKJEFT01,REGION=64M,DYNAMNBR=99,COND=(0,LT)
     //SYSEXEC DD DISP=SHR,DSN=SYS1.SBPXEXE
     //SYSTSPRT DD SYSOUT=*
     //OSHOUT1 DD SYSOUT=
     //SYSTSIN DD *
     OSHELL chmod 775 +
     /home/sqdata/daemon/cfg/sqdagents.cfg
     OSHELL chmod 775 +
     /home/sqdata/daemon/cfg/acl.cfg