运行 DFHSTUP 程序的作业

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

图 1 中显示的作业包含两个作业步骤。 作业步骤如下:
  1. 卸载包含要处理的 CICS® 统计信息的 SMF 数据集。
  2. 运行统计信息实用程序以对统计数据进行排序,格式化和打印。 在批处理区域中运行 DFHSTUP 程序以处理已卸载的 SMF 数据集中存在的任何 CICS SMF 类型 110 统计信息记录,您可以将这些记录写入临时数据集或已编目的数据集。

所示的示例JCL用于提取并打印 CICS TS beta的统计数据。

图 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=CICSTS64.CICS.SDFHLOAD,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 系统管理设施 (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 程序的控制参数中描述了可用参数。