Some of the z/OS based Capture Agents utilize z/OS System Logger LogStreams to store captured data which the CDCzLog Publisher then manages along with the Engine subscriptions for the captured data. LogStreams may be defined as DASD Only or be managed by the Coupling Facility (CF). A DASD only configuration can only be used when both Capture and Publisher are running on the same system. Typically this only applies to very small environments like "development" with only moderate update volume where the slow performance of VSAM I/O is not an issue. In all other environments, Precisely recommends using the System Logger with the Coupling Facility for optimum performance and scalability.
Example 1
- Create a DASD ONLY System Logger Dataset for a development Environment testing the IMS Log Capture, IMS Unload, VSAM or Keyed File Compare capture components. Use the JCL provided in the first portion of sample member IXCMDEFL included in the distribution.Note: DASD ONLY log stream definition staging and offload data set sizes are specified in 4k blocks. 3500 4K blocks is 13 megabytes or 285 tracks for a 4K CISIZE.
//IXCMDEFL JOB 1,MSGLEVEL=(1,1),MSGCLASS=H,NOTIFY=&SYSUID //* //*-------------------------------------------------------------------- //* Create DASD Only or CF-Structure System LogStream //*-------------------------------------------------------------------- //* Note: 1) Sample system logger definition for DASD only //* and CF-STRUCTURE LogStream //* //* 2) For CF-STRUCTURE LogStreams, set the AVGBUFSIZE to the //* size of the largest captured record x 2. The Default //* value is 1/2 MAXBUFSIZE //* //* 3) System Logger staging and offload data sets require //* SHAREOPTIONS(3,3), normally set in the SMS DATACLAS. //* //* 4) STG_SIZE and LS_SIZE will depend on your environment, //* activity, and capture type. A log-based capture may //* need considerably more space than the CDC exit capture. //* LS_SIZE should be about 1/3rd of STG_SIZE. Examples //* below are for an exit-based capture. //*-------------------------------------------------------------------- //DEFINE EXEC PGM=IXCMIAPU //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSIN DD * /*--------------------------------------*/ /* DEFINITION FOR DASD ONLY LOGSTREAM */ /*--------------------------------------*/ DATA TYPE (LOGR) REPORT(YES) DELETE LOGSTREAM NAME(SQDATA.<type_CDC>.LOG1) DEFINE LOGSTREAM NAME(SQDATA.<type_CDC>.LOG1) DASDONLY(YES) LS_ALLOCAHEAD(1) LS_SIZE(3500) STG_SIZE(10000) MAXBUFSIZE(65276) LOWOFFLOAD(40) HIGHOFFLOAD(60) RETPD(0) /* //
Example 2
- Create a CF Structure System Logger structure for a production, integration or performance measurement Environments. Use the JCL provided in the second portion of sample member IXCMDEFL included in the distribution.Note:
- CFRM structure definition SIZE and INITSIZE values are not in 4k blocks. The unit type default is K but you can specify K, M, G, or T. Therefore SIZE(128000) is 128000K bytes, which is 125M. Since the CFRM structure size values allow for a unit, coding it as 125M in the example, avoids some ambiguity with the LogStream definition.
- CF LogStream definition staging and offload data set sizes are specified in 4k blocks. 125000 4k blocks is 488 megabytes, or 10,425 tracks for a 4k CISIZE, just under 700 cylinders.
//IXCMDEFL JOB 1,MSGLEVEL=(1,1),MSGCLASS=H,NOTIFY=&SYSUID
//*
//*--------------------------------------------------------------------
//* Create DASD Only or CF-Structure System LogStream
//*--------------------------------------------------------------------
//* Note: 1) Sample system logger definition for DASD only
//* and CF-STRUCTURE LogStream
//*
//* 2) For CF-STRUCTURE LogStreams, set the AVGBUFSIZE to the
//* size of the largest captured record x 2. The Default
//* value is 1/2 MAXBUFSIZE
//*
//* 3) System Logger staging and offload data sets require
//* SHAREOPTIONS(3,3), normally set in the SMS DATACLAS.
//*
//* 4) STG_SIZE and LS_SIZE will depend on your environment,
//* activity, and capture type. A log-based capture may
//* need considerably more space than the CDC exit capture.
//* LS_SIZE should be about 1/3rd of STG_SIZE. Examples
//* below are for an exit-based capture.
//*--------------------------------------------------------------------
//DEFINE EXEC PGM=IXCMIAPU
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
/*---------------------------------------*/
/* DEFINITION FOR CF-STRUCTURE LogStream */
/*---------------------------------------*/
DATA TYPE (CFRM) REPORT(YES)
DEFINE POLICY NAME(XXXXXXXX) /* CHANGE AS REQUIRED FOR YOUR SYSTEM */
STRUCTURE NAME(SQDATA1)
SIZE(125M) 125M to 528M -INCREASE AS REQ BASED ON WRKLOAD */
INITSIZE(125M)
DUPLEX(ALLOWED)
ALLOWAUTOALT(NO)
REBUILDPERCENT(1)
PREFLIST(CF01,CF02) /* SET TO AT LEAST 2 VALID CF INSTANCES */
DATA TYPE (LOGR) REPORT(YES)
DEFINE STRUCTURE NAME(SQDATA1)
LOGSNUM(1)
MAXBUFSIZE(65276)
AVGBUFSIZE(4096)
DELETE LOGSTREAM NAME(SQDATA.<type_CDC>.LOG1)
STRUCTNAME(SQDATA1)
DEFINE LOGSTREAM NAME(SQDATA.<type_CDC>.LOG1)
STRUCTNAME(SQDATA1)
STG_DUPLEX(YES)
DUPLEXMODE(COND)
LS_ALLOCAHEAD(1)
LS_DATACLAS(LINEAR)
LS_SIZE(125000)
STG_SIZE(125000)
LOWOFFLOAD(40)
HIGHOFFLOAD(60)
MAXBUFSIZE(65276)
AVGBUFSIZE(4096)
RETPD(0)
/*
//
- The sample member sample member IXCMDEFL included in the distribution contains Data Type definitions for both DASD and CF configurations.
- The NAME specified for the LogStream, SQDATA.<type_CDC>.LOG1 in our example, forms only a part of the physical files names allocated by the System Logger. Each LogStream dataset also contains a prefix (typically IXGLOGR) and an incremental suffix that will be added as needed by the System Logger. It is important to confirm that an Alias has been defined in the z/OS master catalog pointing to another ICF catalog if the default prefix, IXGLOGR is used. Alternatively, another prefix can be specified when the LogStreams are created using the HLQ parameter when using the z/OS IXCMIAPU utility. This is important because without an Alias or an alternative prefix, the LogStream datasets will be defined in the z/OS master catalog and creating unnecessary complications when the Operating System is upgraded.
- A special parameter "SUBSYS=(LOGR) will enable IDCAMS to access the LogStream, as seen in the Component Verification section example. Precisely recommends choosing a name that identifies the source and type of data capture present in the LogStream. The name chosen becomes more important when you consider that a single LogStream may contain changes for all the IMS database segments captured in an IMS region, while a different LogStream would be used for VSAM captures in a CICS region or Keyed File Compare Captures.
- Creation of LogStream is frequently restricted to specific z/OS systems programmers, especially when they are in a CF structure. The job will fail without adequate permissions.
- While not part of the LogStream configuration, Connect CDC (SQData) can exploit zIIP Engines on z/OS for LogStream Reads and Encryption for enhanced CPU cycle efficiency.
- For more information about the System Logger and LogStreams, see The log stream, Other sources include the IBM Redbook System Programmer Guide to Setting up System Logger and Setting up Sysplex z/OS.