REXX utility to do compact LISTCAT for WebSphere MQ datasets and report the size and number of DASD stripes

White paper


Abstract

This paper provides a REXX exec to display information from a z/OS catalog on WebSphere MQ datasets. It reports the size, number of stripes, DASD volumes used, and SMS attributes.

Content

This document provides a REXX program to extract information from a LISTCAT command and displays it in a table format.

The program extract data from the catalog and allows you to check the following

  1. The size of the log dataset. Logs should be 4GB in size.
  2. The logs are striped. You get better performance using striped datasets.
  3. The SMS attributes, storage class, management class and data class.
  4. The volumes the data sets are on, to check the datasets are spread across volumes

To upload the dataset see the instructions below.

One dataset is created. In this dataset are two members

  1. JOB - this is JCL to run the REXX program
  2. IBMLC - REXX program to extract information from a LISTCAT command

The JCL is


//PAICEDS JOB 1,MSGCLASS=H
//S1 EXEC PGM=IKJEFT01,REGION=4M,DYNAMNBR=20
//SYSPROC DD DISP=SHR,DSN=PAICE.CLIST.LISTCAT
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
ibmlc SCENDATA.MQA1.LOGCOPY1.* SCENDATA.MQA1.LOGCOPY2.*

where SCENDATA.MQA1.LOGCOPY1.* and SCENDATA.MQA1.LOGCOPY2.* are the names of the High Level Qualifiers of the WebSphere MQ Log datasets.

You need to change PAICE.CLIST.LISTCAT to your dataset name.

Some example output is below

ibmlc  SCENDATA.ZZZZ.LOGCOPY1.* SCENDATA.MQA1.LOGCOPY1.*
==Warning
SCENDATA.ZZZZ.LOGCOPY1.DS01          of size 5.49GB is greater than 4GB
==SPACE============================     Unit  Pri.. Sec.. Total
SCENDATA.ZZZZ.LOGCOPY1.DS01          4* TRACK 30000     0 5.49GB      
SCENDATA.MQA1.LOGCOPY1.DSN4          1* CYLIN   200     0 0.14GB
SCENDATA.MQA1.LOGCOPY1.DS01          4* TRACK  3000     0 0.55GB
SCENDATA.MQA1.LOGCOPY1.DS02          1* CYLIN   200     0 0.14GB

Dataset SCENDATA.ZZZZ.LOGCOPY1.DS01 was originall allocated in CYLINDERS with a primary size of 2000 and a secondary size of 0, but SMS has changed this to 30000 TRACKS. There are 4 stripes each of this allocation. The total size if 5.49GB. This is larger than the MQ size of 4GB.

==SMS==================================  Storclas DataClas MgmtClas
SCENDATA.ZZZZ.LOGCOPY1.DS01              STANDARD --(NULL) NOBACKUP
SCENDATA.MQA1.LOGCOPY1.DSN1              -STRIPED -STRIPED NOBACKUP
SCENDATA.MQA1.LOGCOPY1.DSN2              -STRIPED --(NULL) NOBACKUP

Dataset SCENDATA.ZZZZ.LOGCOPY1.DS01 has a storage class of STANDARD, a Data class of --(NULL) and a management class of NOBACKUP

==VOLSER=======================================  Stripe Volid  
SCENDATA.ZZZZ.LOGCOPY1.DS01                           0 CAP012
SCENDATA.ZZZZ.LOGCOPY1.DS01                           0 -----*
SCENDATA.MQA1.LOGCOPY1.DSN1                           1 CAP005
SCENDATA.MQA1.LOGCOPY1.DSN1                           2 CAP001
SCENDATA.MQA1.LOGCOPY1.DSN1                           3 CAP003
SCENDATA.MQA1.LOGCOPY1.DSN1                           4 CAP002
SCENDATA.MQA1.LOGCOPY1.DSN2                           0 CAP002

Dataset SCENDATA.ZZZZ.LOGCOPY1.DS01 has 0 stripes, but has two entries. One for CAP012, and -----*. You can get this is you have two volumes allocated to the dataset, but only one is used.

Dataset SCENDATA.MQA1.LOGCOPY1.DSN1 has 4 stripes, with a strip on volumes CAP005, CAP001, CAP003 and CAP002.

This section allows you to check your dataset is striped as you expect.

Messages produced
The program can produce two messages

  1. Dataset_name of size xxxGB is greater than 4GB. An MQ archive dataset can have a maximum size of 4GB. You should not allocated an active log larger than 4GB if you are planning on using archiving. If you are using striped datasets, the primary allocation is on a per stripe basis, so allocating a log dataset with 2000 cylinders and 4 stripes would create a dataset with 8000 cylinders - greater than 4GB.
  2. Dataset_name different High RBA. Allocated ------xxxxx Used -----------yyy. There is a mismatch in the allocation and the amount of data used. This should be investigated, as these values should be the same.

Installing the program

The attachment should be uploaded to z/OS as a fixed block, record length 80, binary file.

For example:

FTP WINMVSCA
quote site tracks pri=1 sec=1 recfm=fb lrecl=80 blksize=800
bin
put listcat.xmit.bin 'tony.listcat.xmit'

On TSO use the RECEIVE INDSN( 'tony.listcat.xmit') command. This prompts with
INMR901I Dataset PAICE.CLIST.LISTCAT from PAICE on WINMVSCA
INMR154I The incoming data set is a 'DATA LIBRARY'.
INMR906A Enter restore parameters or 'DELETE' or 'END' +

reply

dsn('tony.clist.listcat')

The PAICE.CLIST.LISTCAT is the original name of the dataset. PAICE is the userid on system WINMVSCA which was used to create the XMIT file.

It will produce output like

IGW01551I MEMBER IBMLC HAS BEEN LOADED
IGW01551I MEMBER JOB HAS BEEN LOADED
IGW01550I 2 OF 2 MEMBERS WERE LOADED
IEB147I END OF JOB - 0 WAS HIGHEST SEVERITY CODE
Restore successful to dataset 'TONY.CLIST.LISTCAT'

Where 'TONY.CLIST.LISTCATis the name of your data set.

Original publication date

2012/6/27

Product Alias/Synonym

WMQ MQ

Rate this page:

(0 users)Average rating

Document information


More support for:

WebSphere MQ
Configuration

Software version:

7.0, 7.1

Operating system(s):

z/OS

Reference #:

7025138

Modified date:

2012-06-27

Translate my page

Machine Translation

Content navigation