定义耦合设施结构

如果将耦合设施用于 CICS® 日志流,请在 CFRM 策略中, CFRM 数据集中以及 LOGR 策略中的 LOGR 数据集中定义日志流所需的耦合设施结构。

更新 CFRM 策略

通过使用 CFRM 数据集中定义的耦合设施资源管理(CFRM)策略,将耦合设施空间划分成结构。 CFRM 策略允许您定义 MVS™ 如何管理耦合设施资源,并使用 IXCMIAPU 实用程序更新此策略。 请参阅 图 1 ,以获取用于在 CFRM 策略数据集中定义耦合设施结构的样本作业。

更新 LOGR 策略

您可以使用 ICXMIAPU 实用程序的 DEFINE STRUCTURE 规范在系统记录器耦合数据集中的 MVS 系统记录器 LOGR 策略中定义结构。 请参阅 图 2 以获取用于在 LOGR 策略数据集中定义耦合设施结构的样本作业。

在尝试运行任何 IXCMIAPU 作业之前,请确保 MVS 系统记录器 IXGLOGR 正在运行。 如果 IXGLOGR 未在运行,例如,如果 MVS 以 LOCAL 方式运行,那么日志流定义作业将失败并返回 rc=0814。

图 1。 向 CFRM 定义记录器结构的样本策略作业 1/2
//CFRM     JOB (accounting-information),CLASS=A,MSGCLASS=A
//POLICY   EXEC PGM=IXCMIAPU
//STEPLIB  DD DSN=SYS1.MIGLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//*********************************************************************
//*                                                                   *
//*  System logger structure definitions should be merged with        *
//*  definitions for other structures required by the sysplex.        *
//*                                                                   *
//* Space values are for illustration only -- substitute values       *
//* appropriate to your number of logs and expected activity.         *
//*                                                                   *
//* NOTE:  The values in this job are not matched with the other      *
//         sample jobs.                                               *
//*********************************************************************
//SYSIN    DD *
   DATA TYPE(CFRM) REPORT(YES)
   DELETE POLICY NAME(POL1)
   DEFINE POLICY NAME(POL1)
       PREFLIST(cfname) REBUILDPERCENT(1) 
   /* Define coupling facilities */
     CF NAME(cfname)
        TYPE(002097)
        MFG(IBM)
        PLANT(00)
        SEQUENCE(000000040032)
        PARTITION(3)
        CPCID(00)
        DUMPSPACE(8192)
   /* Define other structures required by sysplex here . . .      */
 ... 
   /* Define logger structures for CICS log streams.              */
   /* - If a choice of facilities is available, use non-volatile  */
   /*     facilities if possible                                  */
   /* - Specify low REBUILDPERCENT so that structures are rebuilt */
   /*     in the event of connectivity failure                    */
   /* - INITSIZE gives initial coupling facility size (based on sizing calcs)    */
   /* - SIZE should be larger to allow for rebuild to a larger    */
   /*     size if INITSIZE proves to be too small                 */
   /*   SIZE and INITSIZE values are for illustration only -      */
   /*   substitute values appropriate for your intended usage.    */
 
     STRUCTURE NAME(LOG_DFHLOG_001)        /* CICS system logs    */
       INITSIZE(10000) SIZE(16000)
       PREFLIST(cfname) REBUILDPERCENT(1)
 
     STRUCTURE NAME(LOG_DFHSHUNT_001)      /* CICS secondary logs */
       INITSIZE(10000) SIZE(16000)
       PREFLIST(cfname) REBUILDPERCENT(1)
 
     STRUCTURE NAME(LOG_USERJNL_001)       /* CICS user journals  */
       INITSIZE(10000) SIZE(16000)
       PREFLIST(cfname) REBUILDPERCENT(1)
 
     STRUCTURE NAME(LOG_GENERAL_001)       /* Forward recovery logs */
       INITSIZE(10000) SIZE(16000)
       PREFLIST(cfname) REBUILDPERCENT(1)

     STRUCTURE NAME(LOG_CICSVR)            /* CICS VR logs */
       INITSIZE(10000) SIZE(16000)
       PREFLIST(cfname) REBUILDPERCENT(1)
/*
//

多个日志流可以将数据写到一个耦合设施结构中。 未合并日志数据; 日志数据根据日志流保持分隔。 通过在 IXCMIAPU 服务上使用 LOGSNUM 参数来定义结构,可以指定使用单个耦合设施结构的资源的日志流数量。

会根据当前所连接日志流的数量(最多到 LOGSNUM 中指定的限制),为每个日志流分配结构空间的一部分。

例如,可以将结构定义为最多包含 30 个日志流。 如果只连接了 10 个日志流,那么每个日志流可以使用结构中十分之一的空间。 随着其他日志流的连接和断开连接, MVS 系统记录器会调整每个日志流要使用的空间比例。

在指定 LOGSNUM 的值之前必须仔细规划,因为这个参数确定了每个日志流可以使用结构中多少存储空间。 在许多环境中,10 到 20 范围中的一个数字是最优的。

图 2 中的 JCL 定义了 MVS 系统记录器的日志流耦合设施结构。 这只是作为指导之用,必须替换为适合您需要的值。
图 2。 用于向 MVS 系统记录器定义耦合设施结构的样本 JCL
//DEFSTRUC JOB ...
//POLICY   EXEC PGM=IXCMIAPU
//STEPLIB  DD DSN=SYS1.MIGLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//*********************************************************************
//*                                                                   *
//* Define log stream coupling facility structures to the MVS logger  *
//*                                                                   *
//* AVGBUFSIZE and LOGSNUM values are just for illustration,          *
//* substitute values appropriate to your intended usage              *
//*                                                                   *
//*********************************************************************
//SYSIN    DD *
  DATA TYPE(LOGR) REPORT(YES)
 
  /* System logs            */
  DEFINE STRUCTURE NAME(LOG_DFHLOG_001) LOGSNUM(10)
             MAXBUFSIZE(64000) AVGBUFSIZE(500)
 
  /* Secondary system logs  */
  DEFINE STRUCTURE NAME(LOG_DFHSHUNT_001) LOGSNUM(10)
             MAXBUFSIZE(64000) AVGBUFSIZE(4096)
 
  /* User journals with unforced writes  */
  DEFINE STRUCTURE NAME(LOG_USERJRNL_001) LOGSNUM(10)
             MAXBUFSIZE(64000) AVGBUFSIZE(64000)
 
  /* Fwd recovery logs and user jnls that are forced */
  DEFINE STRUCTURE NAME(LOG_GENERAL_001) LOGSNUM(10)
             MAXBUFSIZE(64000) AVGBUFSIZE(2048)
 
/*
//

有关规划耦合设施配置的信息,请参阅 z/OS MVS Programming: Assembler Services Guide