DASD-only log streams

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.

Defining DASD-only log streams

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.

Figure 19. Example definitions of DASD-only log streams. The definitions are for the CICS primary and secondary system log streams. The value region_userid is the RACF® userid under which the CICS address space is running; applid is the CICS region’s VTAM® APPL name (taken from the APPLID system initialization parameter).
//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)

Using model log streams

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.

Figure 20. Example model definitions for DASD-only system log streams. The value sysname is the sysid of the MVS image in which the CICS region or regions are running.
//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.

Sizing considerations for DASD-only log streams

This section discusses how to size the following types of DASD-only log stream:

Sizing DFHLOG

For the CICS primary system log stream (DFHLOG), it is important to:

Sizing DFHSHUNT

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.

Sizing general logs

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.

Recommendations

Table 12 summarizes how you should decide on the values for various attributes on the log stream definition, and system definition.

Table 12. How to decide on the values of attributes
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
Note:
Startup may take longer than you experienced when using earlier releases. This is due in part to the allocation and formatting of the staging data sets. The increased time that startup takes is dependent on such things as:

It can be reduced by avoiding the use of unnecessarily large staging data sets.

The log stream sizing utility, DFHLSCU

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:

DASDONLY(YES)
Specifies that this log stream is not to be associated with a coupling facility list structure, but is to use DASD-only logging. If you specify DASDONLY(YES), you cannot use the STRUCTNAME(log_structure_name) keyword. The default is DASDONLY(NO).
HIGHOFFLOAD(high_offload)
Specifies the point in primary storage, as a percentage of space consumed, at which the MVS system logger starts its offload process.
LOWOFFLOAD(low_offload)
Specifies the point in primary storage, as a percentage of space consumed, at which the MVS system logger stops offloading data to secondary storage.
MAXBUFSIZE(max_bufsize)
Specifies the size, in bytes, of the largest block of data that can be written to the log stream. The value must be in the range 1-65532. The default value is 65532.
STG_SIZE(stg_size)
Specifies, as a number of 4K blocks, the size of the staging data set for the log stream. A DASD-only log stream, by definition, always uses a staging data set as part of its primary storage.

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:

  1. Uses the STG_SIZE of the log stream specified on the LIKE parameter, if LIKE is specified
  2. Uses the size defined in the SMS data class for the staging data sets
  3. If SMS is not available, uses dynamic allocation rules for allocating 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 DFHLSCU is inappropriate for use in your environment

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.

Primary system log (DFHLOG)

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:

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.)

Converting a DASD-only log stream to use a coupling facility

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:

  1. Make sure that there are no connections (neither active nor failed) to the log stream.
  2. Use the UPDATE LOGSTREAM request of the MVS IXCMIAPU utility. Specify the STRUCTNAME keyword, and let the DASDONLY keyword default to 'NO'. For example:
    Figure 21. Converting a DASD-only log stream to use a coupling facility structure. This example shows the CICS primary system log stream. The value region_userid is the RACF userid under which the CICS address space is running; applid is the CICS region’s VTAM APPL name (taken from the APPLID system initialization parameter).
    //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)
Notes:
  1. If you want to upgrade a DASD-only log stream to a coupling facility log stream that does not use a staging data set, you must explicitly specify STG_DUPLEX(NO). (This is because the DASD-only log stream by definition uses a staging data set; unless you specify STG_DUPLEX(NO), this is retained by the coupling facility log stream.)
  2. You cannot use UPDATE LOGSTREAM to convert a log stream that uses a coupling facility structure to one that uses DASD-only. To do this, you must delete and redefine the log stream.
[[ Contents Previous Page | Next Page Index ]]