The CICS® log manager supports the DASD-only option of the MVS™ system logger. Individual CICS log streams can use either coupling facility log structures or DASD-only logging. Reasons for defining a log stream to use DASD-only logging include:
See topic Setting up the environment for CICS log manager for advice about defining individual log streams to use coupling facility or DASD-only logging, based on their usage.
Use the MVS IXCMIAPU utility to define DASD-only log streams to the LOGR couple data set. The basic syntax to define a DASD-only log stream is as follows:
DEFINE LOGSTREAM NAME(log stream_name)
DASDONLY(YES)
MAXBUFSIZE(max_bufsize)
STG_SIZE(stg_size)
HIGHOFFLOAD(high_offload)
LOWOFFLOAD(low_offload)
For detailed information about the full range of log stream attributes, see the OS/390 Setting Up a Sysplex manual. Figure 19 shows example definitions for a pair of log streams associated with a DASD-only system log.
//DEFLOGS JOB ...
//LOGDEFN EXEC PGM=IXCMIAPU
//STEPLIB DD DSN=SYS1.MIGLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//******************************************************************
//* *
//* Define DASD-only log streams for CICS system log. *
//* *
//* The LOWOFFLOAD and STG_SIZE values are for illustration *
//* only -- substitute values appropriate for your environment. *
//* *
//******************************************************************
//SYSIN DD *
DATA TYPE(LOGR) REPORT(NO)
DEFINE LOGSTREAM NAME(region_userid.applid.DFHLOG)
DASDONLY(YES)
MAXBUFSIZE(64000) STG_SIZE(3000)
LOWOFFLOAD(40) HIGHOFFLOAD(80)
DEFINE LOGSTREAM NAME(region_userid.applid.DFHSHUNT)
DASDONLY(YES)
MAXBUFSIZE(64000) STG_SIZE(500)
LOWOFFLOAD(40) HIGHOFFLOAD(80)
To avoid having to define explicitly each log stream used by each of your CICS regions, you can use model log stream definitions. Using models, log streams are defined to MVS dynamically, on their first usage. Figure 20 shows example DASD-only model definitions for CICS primary and secondary system log streams.
//DEFLOGS JOB ...
//LOGDEFN EXEC PGM=IXCMIAPU
//STEPLIB DD DSN=SYS1.MIGLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//******************************************************************
//* *
//* Define DASD-only model log streams for CICS system log. *
//* *
//* The LOWOFFLOAD and STG_SIZE values are for illustration *
//* only -- substitute values appropriate for your environment. *
//* *
//******************************************************************
//SYSIN DD *
DATA TYPE(LOGR) REPORT(NO)
DEFINE LOGSTREAM NAME(sysname.DFHLOG.MODEL)
MODEL(YES)
DASDONLY(YES)
MAXBUFSIZE(64000)
STG_SIZE(3000)
LOWOFFLOAD(40) HIGHOFFLOAD(80)
DEFINE LOGSTREAM NAME(sysname.DFHSHUNT.MODEL)
MODEL(YES)
DASDONLY(YES)
MAXBUFSIZE(64000)
STG_SIZE(500)
LOWOFFLOAD(40) HIGHOFFLOAD(80)
For information about the mapping of CICS journal definitions to log stream names, see the CICS System Definition Guide .
When using model log streams, bear in mind that, if you specify a STG_SIZE on the model definition, all new log streams created from the model have the same-sized staging data set.
This section discusses how to size the following types of DASD-only log stream:
For the CICS primary system log stream (DFHLOG), it is important to:
The MVS system logger begins the offload process when the high offload threshold (HIGHOFFLOAD) of the log stream is reached. The offload process consists of two steps:
To minimize the amount of data offloaded from the CICS primary system log, you must:
A staging-data-set-full event occurs when a log stream’s staging data set becomes full before the offloading of data has completed.
For advice on monitoring and avoiding staging-data-set-full events, see the CICS Performance Guide.
It is important to size the secondary system log stream (DFHSHUNT) to avoid staging-data-set-full events. However, it is normal for some data to be offloaded from DFHSHUNT to secondary storage.
It is important to size forward recovery logs, user journals, and autojournals to avoid staging-data-set-full events. However, because CICS does not delete data from these log streams, it is normal for data to be offloaded to secondary storage.
Table 12 summarizes how you should decide on the values for various attributes on the log stream definition, and system definition.
Facility | Attribute | Recommendation |
---|---|---|
Primary system log stream (DFHLOG) | HIGHOFFLOAD | 80 |
Primary system log stream (DFHLOG) | LOWOFFLOAD | Use DFHLSCU or the formula in topic LOWOFFLOAD calculations. |
Primary system log stream (DFHLOG) | MAXBUFSIZE | 64000 |
Primary system log stream (DFHLOG) | STG_SIZE | Use DFHLSCU or the formula in topic Staging DS size calculation. |
Secondary system log stream (DFHSHUNT) | HIGHOFFLOAD | 80 |
Secondary system log stream (DFHSHUNT) | LOWOFFLOAD | 40 - 60 |
Secondary system log stream (DFHSHUNT) | MAXBUFSIZE | 64000 |
Secondary system log stream (DFHSHUNT) | STG_SIZE | 500 (4K blocks) |
General log stream | HIGHOFFLOAD | 80 |
General log stream | LOWOFFLOAD | 0 |
General log stream | MAXBUFSIZE | 64000 |
General log stream | STG_SIZE | Use DFHLSCU or the formula in topic Staging data set size calculation. |
CICS system | AKPFREQ | 4000 |
It can be reduced by avoiding the use of unnecessarily large staging data sets.
If you are migrating from CICS/ESA 3.3 or CICS/ESA 4.1, you are strongly recommended to use the CICS-supplied utility program, DFHLSCU, to help you define your DASD-only log streams. DFHLSCU takes as input "old-style" (pre-CICS Transaction Server for OS/390®, Version 1 Release 1-format) journal records, and analyzes them to produce a sample log stream definition containing suggested values for:
If you do not specify STG_SIZE for a DASD-only log stream, the MVS system logger does one of the following, in the order listed, to allocate space for staging data sets:
For more information about managing staging data sets for DASD-only log streams, see the Setting Up a Sysplex manual.
For details on how to use DFHLSCU, see the CICS Operations and Utilities Guide.
If it is inappropriate for you to use DFHLSCU to help you size your log streams (perhaps you have no CICS Version 4 or Version 3 journal records to use as input to DFHLSCU, or you are capacity planning for new applications), the following sections help you to calculate your space requirements.
The formulae provided help you to calculate values for:
You must base your calculations on the journaling requirements of your applications. This provides the starting point for the following formulae.
You can calculate LOWOFFLOAD for DFHLOG using the following formula:
LOWOFFLOAD = (trandur * 90) / (akpintvl + trandur) + 10 (where RETPD=0 specified)
or
LOWOFFLOAD = (trandur * 90) / (akpintvl + trandur) (where RETPD=dddd specified)
where:
akpintvl = AKPFREQ / ( (N1 * R1) + (N2 * R2) + (Nn * Rn) )
where:
If this duration is longer than akpintvl value, you can either:
You can calculate STG_SIZE for DFHLOG using the following formula:
Staging DS size = (AKP duration) * No. of log writes per second
for system log (no. of 4k blocks)
where AKP duration = (CICS TS 390 AKPFREQ)/(No. buffers per second)
The values for the number of log writes per second and buffer puts per second can be taken from your CICS/ESA 4.1 statistics. (The value for log writes per second should not exceed 30.)
You can upgrade a DASD-only log stream to use a coupling facility structure, without having to delete and redefine the log stream. To do this:
//LOGUPDT JOB ...
//LOGUPDT EXEC PGM=IXCMIAPU
//SYSPRINT DD SYSOUT=A,DCB=RECFM=FBA
//****************************************************************
//* *
//* Convert DSAD-only log stream to coupling facility log stream.*
//* *
//****************************************************************
//SYSIN DD *
DATA TYPE(LOGR) REPORT(NO)
UPDATE LOGSTREAM NAME(region_userid.applid.DFHLOG)
STRUCTNAME(LOG_DFHLOG_001)
STG_DUPLEX(YES) DUPLEXMODE(COND)