运行 DFHSTUP 程序的作业

用于卸载 SMF 数据集并针对数据运行 DFHSTUP 的样本 JCL。

图 1 中显示的作业包含两个作业步骤。 作业步骤如下:
  1. 卸载包含要处理的 CICS® 统计信息的 SMF 数据集。
  2. 运行统计信息实用程序以对统计数据进行排序,格式化和打印。 在批处理区域中运行 DFHSTUP 程序以处理已卸载的 SMF 数据集中存在的任何 CICS SMF 类型 110 统计信息记录,您可以将这些记录写入临时数据集或已编目的数据集。
图 1。 用于抽取和打印统计数据的示例作业
//STUP     JOB 'accounting info',CLASS=A,
//             USER=userid,MSGCLASS=A,NOTIFY=userid
//**********************************************************************
//*  Step 1: Unload data from the SMF data sets
//**********************************************************************
//SMFDUMP  EXEC PGM=IFASMFDP
//INDD1     DD DSN=SYS1.MANx,DISP=SHR,AMP=('BUFSP=65536')              1 
//INDD2     DD DSN=SYS1.MANy,DISP=SHR
//OUTDD1    DD DSN=user.SMF.DATA,DISP=(NEW,CATLG),                     2 
//             SPACE=(CYL,(50,10)),UNIT=SYSDA
//SYSPRINT  DD SYSOUT=A
//SYSIN     DD *
       INDD(INDD1,OPTIONS(DUMP))                                       1 
       INDD(INDD2,OPTIONS(DUMP))
       OUTDD(OUTDD1,TYPE(0:255))                                       2 
 
//**********************************************************************
//*  Step 2: Sort, format and print the statistics records             3 
//**********************************************************************
//STUP1    EXEC PGM=DFHSTUP,REGION=0M
//********************************************
//STEPLIB  DD DSN=CICSTS54.CICS.SDFHLOAD,DISP=SHR
//         DD DSN=CICSTS54.CICS.SDFHAUTH,DISP=SHR
//DFHSTATS  DD DSN=user.SMF.DATA,DISP=SHR                              4 
//DFHSTWRK  DD UNIT=SYSDA,SPACE=(CYL,(8,4))                            5 
//SORTWK01  DD UNIT=SYSDA,SPACE=(CYL,(4))                              6 
//SORTWK02  DD UNIT=SYSDA,SPACE=(CYL,(4))
//SORTWK03  DD UNIT=SYSDA,SPACE=(CYL,(4))
//SORTWK04  DD UNIT=SYSDA,SPACE=(CYL,(4))
//DFHPRINT  DD SYSOUT=*                                                7 
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSABEND  DD SYSOUT=*
//SYSOUT    DD SYSOUT=*
//SYSIN     DD *                                                       8 
SELECT APPLID=(applid1,applid2)
COLLECTION TYPE=ALL
/*
//
注:
  1. 可以为 SMF 转储程序 IFASMFDP 指定任意数目的输入 (INDD) 和输出 (OUTDD) 数据集。 除非在一个输入文件下并置,否则将以逆向顺序转储输入文件。 例如,在 图 1中,指定了两个输入文件。 处理 IFASMFDP 程序后,输出文件 (user.SMF.DATA) 首先包含 INDD2 中的记录,后跟 INDD1的记录。 DFHSTUP 程序始终按时间顺序生成报告。

    有关卸载 SMF 数据集的更多信息,请参阅z/OS MVS System Management Facilities (SMF)

    如果指定了适当的缓冲区大小,那么将在 DD 语句上使用 AMP 参数来减少卸载时间。 (另请参阅监视实用程序样本作业 图 1。)

  2. OUTDD 参数是指定义磁盘数据集的 OUTDD1 DD 语句。 要重新运行此作业,需要将 DISP 参数更改为 DISP = (OLD , KEEP)。 TYPE 参数指定 SMF 记录类型的完整范围,这将导致 IFASMFDP 卸载所有记录。 如果只想选择 CICS 记录,请将记录类型参数更改为 TYPE (110)。 以此方式卸载所有 CICS SMF 110 记录还包括来自日志记录,监视和 CICS 服务器 (临时存储器,耦合设施数据表和命名计数器) 的 SMF 110 记录。 DFHSTUP 程序仅处理记录子类型为 2 的 CICS SMF 110 记录。 将忽略所有其他 SMF 110 记录。 如果要仅卸载 DFHSTUP 处理的这些 CICS 统计信息记录,请将记录类型参数更改为 TYPE (110 (2))。
  3. DFHSTUP 程序按以下顺序对统计信息记录进行排序: 特定 applid ,日期 (格式为 YYYYMMDD) 和时间。
  4. DFHSTUP 程序的输入的 ddname 必须是 DFHSTATS。 此输入是已卸载的 SMF 数据集。
  5. DFHSTUP 工作文件的 ddname 必须是 DFHSTWRK。 可以将 Fve 类型的统计信息记录写入 DFHSTWRK 数据集:
    • 文件
    • Log streams
    • 事务
    • 瞬时数据队列
    • DB2® 条目

    需要的 DFHSTWRK 数据集大小取决于此列表中写入数据集的最大资源集。

    可以使用以下计算来估算所需的 DFHSTWRK 数据集的大小:
    • 文件
      1. 文件统计信息 dsect DFHA17DS的长度为 376 字节。
      2. 在一个时间间隔/请求的重置/日结束报告中写入的文件数据量为 376 * (区域中的文件数) 字节。
      3. 由于每当联机关闭文件时都会将文件统计信息写入 SMF ,因此请添加文件关闭次数的估计值乘以 DFHA17DS dsect 的长度 (376 字节)。
    • Log streams
      1. 日志流统计信息 dsect DFHLGSDS 的长度为 124 字节。
      2. 在一个时间间隔/请求的重置/日结束报告中写入的日志流数据量为 124 * (区域中的日志流数) 字节。
    • 事务
      1. 事务统计信息 dsect DFHXMRDS 的长度为 164 字节。
      2. 在一个时间间隔/请求的重置/日终报告中写入的事务数据量为 164 * (区域中的事务数) 字节。
    • 瞬时数据队列
      1. 瞬时数据队列统计信息 dsect , DFHTQRDS 的长度为 188 字节。
      2. 在一个时间间隔/请求的重置/日结束报告中写入的瞬时数据队列数据量为 188 * (区域中的瞬时数据队列数) 字节。
      3. 此外,对于分区外瞬时数据队列,将在瞬时数据队列关闭时写入一条记录。
    • Db2 条目
      1. DB2 条目 dsect 的长度 DFHD2RDS为 204 字节。
      2. 在一个时间间隔/请求的重置/结束日期报告中写入的 DB2 条目数据量为 204 * (区域中的 DB2 条目数) 字节。
      3. 此外,在关闭 DB2 连接时,将写入每个 DB2 条目的记录。
  6. DFHSTUP 程序使用指向 MVS™ 排序程序 DFSORT 的链接对数据进行排序,以确保按时间顺序正确处理数据。 DFSORT 程序需要这些排序工作文件。
  7. DFHSTUP 程序输出的 ddname 必须是 DFHPRINT ,您可以将其定向到数据集或打印机。
  8. DFHSTUP 程序的控制参数只能在 SYSIN 数据集中提供。
    SYSIN 数据集中的每个控制参数都在新行上启动,并以空白终止。 如果需要为多行继续控制参数,那么必须确保要继续的行以 1-71 列中的逗号结尾,并且要继续的行的第 72 列中有一个非空白字符,并在第 16 列中启动每个继续行。 例如:
    //* Column  16 v                                                    72 v
    SELECT APPLID=(CICSIDA,CICSIDB,CICSIDC,CICSIDD,CICSIDE,CICSIDF,CICSIDG,/
                   CICSIDH,CICSIDI,CICSIDJ)
    COLLECTION TYPE=ALL

    DFHSTUP 程序的控制参数中描述了可用参数。