Created:  | Updated:


A complete tape analysis reveals tape system utilization by applications, the performance achieved and capacity consumed. This information assists tape system(VTL, ATL) renewals or upgrades, as well as migrations to modern data management software like Model9’s Cloud Data Manager for Mainframe.

The steps below explain how customers can collect the relevant information required for a tape analysis with mainstorconcept.

Should you require any assistance, do not hesitate to contact us directly.


Step 1: Tape Management Report REQUIRED

IBM RMM report

Click to expand RMM report job example ...
//HSKP EXEC PGM=EDGHSKP,
// PARM='RPTEXT,DATEFORM(E)'
//MESSAGE DD DISP=SHR,DSN=HSKP.MESSAGES
//REPTEXT DD DISP=(NEW,CATLG),DSN=RMM.EXTRACT.DSET,
// RECFM=VB,BLKSIZE=0,
// UNIT=SYSALLDA,AVGREC=U,SPACE=(1024,(pp,ss))
//SYSIN DD *
RPTEXT RECORDS(V)
/*
CODE

BMC Control-T report

Click to expand BMC Control-T job example ...
//CTTRPT1 EXEC CTTRPT
EXTRACT PATH=DATASET/FIRSTVOLUME
INCLUDE VOLSTAT¬SCRATCH
REPORT NAME=GENERAL,PAGESIZE=60,LINESIZE=180,MARGINS=1-180,
TITLE='FULL LIST OF VOLUMES IN A PRIVATE STATUS'
FIELDS DSNAME,
VOLSER,
MEDIA,
CREPGM,
CREDT,
CRETM,
DSEXPDT,
LACCDT,
BLOCKCT,
BLKSIZE,
DSSIZE,
DSCSIZE
SORTBY DSNAME
CODE

Broadcom CA-1 report

Click to expand CA-1 job example ...
//TMSGRW EXEC PGM=TMSGRW,
// PARM='DATEFMT=(YYYY/MM/DD)'
//TMSRPT DD DISP=(NEW,CATLG,DELETE),DSN= dsname ,
// LRECL=132,RECFM=FB,SPACE=(CYL,(5,5)),DSORG=PS
//SYSOUT DD SYSOUT=*
//TMSOPTNS DD *
REPORT490 LOGO=NO,LINECNT=9999,LRECL=132,FLAGS=NO
/*
//SORTWK01 DD UNIT=VIO,SPACE=(TRK,(50,10))
//SORTWK02 DD UNIT=VIO,SPACE=(TRK,(50,10))
//SORTWK03 DD UNIT=VIO,SPACE=(TRK,(50,10))
//SORTWK04 DD UNIT=VIO,SPACE=(TRK,(50,10))
//SORTWK05 DD UNIT=VIO,SPACE=(TRK,(50,10))
//SORTWK06 DD UNIT=VIO,SPACE=(TRK,(50,10))
//SYSIN DD *
CONTROL-SECTION
ALTER INPUT=TMC DSNB=FAST
TITLE 'TAPE EXPIRATION'
SORT VOLSER NUMDSNB
DEFINE SCR HX '04'
DEFINE DEL HX '02'
PROCESS-SECTION
WHEN FLAG1 OFF SCR
AND FLAG1 OFF DEL
LIST
REPORT-SECTION
PRINT VOLSER 'VOLSER'
PRINT NUMDSNB 'SEQ'
PRINT CPGM 'PROGRAM'
PRINT EDMID 'EDM'
PRINT BLKSIZE 'BLK-SIZE'
PRINT BLKCNT 'BLK-COUNT'
PRINT CDATE 'CDATE'
PRINT EXPDT 'EXPDT'
//
CODE


Please note:

The reports can be analyzed to determine the total capacity of the data on tapes. In addition, by segmenting the capacity according to program, it is possible to identify the capacity of data used for archive and backup.

Step 2: Current mainframe tape configuration REQUIRED

Please provide a description of the tape configuration, similar to the example below.
The CHPIDs are required to process SMF type 73 records.

Vendor

Device Type

Count

Address Range

VOLSER Range

Library Name

CHPIDs

By LPAR

STK

9940

8

E300-E307

V00000-V99999


2B, 4A

SYSA

IBM

3590

9

E800-E807

W00000-W09999

VTS1

60, 61

SYSB


Step 3: Copy the tape management catalog REQUIRED

Create a copy of the tape management system control data set. Select any of Control-T, ZARA, TMS, TLMS, or RMM control data sets. Repeat this for all Plexes.

CA1 (a.ka TMS)

Click to expand CA1 job example ....
CA-1 a.k.a TMS Job Example
//JOB
//TMSCOPY EXEC PGM=TMSCOPY,REGION=0M 
//TMSRPT DD SYSOUT=* 
//AUDITDD DD DUMMY
//TMSOPTNS DD DUMMY
//DUMPDD DD DSN=HLQ.TMC.BACKUP,
// UNIT=SYSDA,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(400,50),RLSE),
// DCB=(RECFM=FB,LRECL=340,BLKSIZE=0)
//DUMPDD2 DD DUMMY 
//AUDUMP DD DUMMY 
GROOVY

Please note:

DUMPDD is the backup copy of the TMC, which should then be tersed and sent via FTP. The DUMPDD must go to disk and not tape.

TLMS and/or Control-T

Click to expand TLMS or Control-T instructions ...

For TLMS and Control-T, use IEBGENER to copy the TLMS VMFbase or the Control-T DBD database. 

ZARA

Click to expand Zara job example ...
ZARA Job Example
//JOB
//ZARAXTRT EXEC PGM=ZARAXTRT,PARM='ZARA' 
//STEPLIB DD DISP=SHR,DSN=SYS1.ZARA.LOAD
//DD DISP=SHR,DSN=SYS1.ZARA.OASIS.LOAD
//SYSPRINT DD SYSOUT=* 
//SYSUDUMP DD SYSOUT=* 
//ZARAOUT DD DSN=HLQ.ZARA.EXTRACT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,(300,50),RLSE),
// DCB=(LRECL=370,RECFM=VB,BLKSIZE=0)
//SYSIN DD *
DSN=ALL $$
/* 
GROOVY


RMM

Click to expand RMM example...
RMM Job Example
//JOB
//* 
//ALLOC EXEC PGM=IEFBR14
//MESSAGE DD DSN=HLQ.RMM.MSGS,DISP=(,CATLG),UNIT=SYSDA,
//AVGREC=U,SPACE=(4096,(10,10))
//REPTEXT DD DSN=HLQ.RMM.EXTRACT,DISP=(,CATLG),UNIT=SYSDA,
//AVGREC=U,SPACE=(1024,(pp,ss))
//*
//EDGHSKP EXEC PGM=EDGHSKP,PARM='RPTEXT,DATEFORM(E)' 
//SYSPRINT DD SYSOUT=*
//MESSAGE DD DSN=HLQ.RMM.MSGS,DISP=SHR
//REPTEXT DD DSN=HLQ.RMM.EXTRACT,DISP=SHR
//SYSINDD *
RPTEXT RECORDS(D,V)
/* 
GROOVY


Step 4: Collect SMF records

Click here to view SMF Dump sample JCL...
SMF Job
//IFASMFDP EXEC PGM=IFASMFDP
//SYSPRINT DD SYSOUT=*
//DUMPIN DD DSN=HLQ.SMF.DUMP,DISP=SHR
//DUMPOUT DD DSN=HLQ.SMF21,
// DISP=(,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,(400,200),RLSE)
//SYSIN DD *
INDD(DUMPIN,OPTIONS(DUMP))
OUTDD(DUMPOUT,TYPE(21))
DATE(2011180,2011210)
SID(SYSA)
START(0000)
END(2400)
/*
//
//* Other possible SMF Types for capture
OUTDD(DUMPOUT,TYPE(30(2)))
OUTDD(DUMPOUT,TYPE(73))
OUTDD(DUMPOUT,TYPE(241))
//*
/* 
GROOVY


SMF Records to collect:

If the amount of data becomes too large, limit the time to, for example 1 week, instead of 1 month of data.

  • SMF 73: RMF data REQUIED 

  • SMF 30 Type 2 (CPU and tape task allocations)REQUIED

  • SMF 21: Tape mount activity data OPTIONAL

  • SMF 241: HSM activity OPTIONAL

  • SMF 94: VTS data OPTIONAL

  • SMF 194: TS7700 data OPTIONAL

Step 5: Collect VSM data OPTIONAL

Click to expand VSM instructions ...

VSM capacity data - (MVC, VTV and VOL Report)

This applies to a tape configuration with VSM systems with RTD's, maybe combined with some tape drives in the tape library directly connected to MF (i.e. some tape drives are not RTD's behind VSM, but they are in the same tapelib).
This is data extracted from the Oracle (HSC/ELS) CDS (Control DataSet). Please collect one report for each CDS.

MVS, VTV and VOL Report
//VMVCRPT   JOB (ACCNT#),'IEBCOPY',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1), 
//         NOTIFY=&SYSUID,TIME=1440                                   
//***************************************************************     
//*  GENERATE AN MVC REPORT                            *     
//***************************************************************     
//MVCR   EXEC PGM=SWSADMIN                                            
//SLSCNTL    DD DSN=STK.HSC.CDS1,DISP=SHR   <=PRIMARY CDS DSN=>       
//SLSPRINT   DD SYSOUT=*                                              
//SYSOUT     DD SYSOUT=*                                              
//SLSIN      DD *                                                     
 MVCRPT 
***********************************************************************************
//VVTVRPT   JOB (ACCNT#),'IEBCOPY',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1), 
//         NOTIFY=&SYSUID,TIME=1440                                   
//*                                                                   
//***************************************************************     
//*  GENERATE A VTV REPORT                             *     
//***************************************************************     
//VTVR   EXEC PGM=SWSADMIN                                            
//SLSCNTL    DD DSN=STK.HSC.CDS1,DISP=SHR    <=PRIMARY CDS DSN=>      
//SLSPRINT   DD SYSOUT=*                                              
//SLSIN      DD *                                                     
 VTVRPT                                                               
***********************************************************************************
//VVOLRPT   JOB (ACCNT#),'IEBCOPY',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1), 
//         NOTIFY=&SYSUID,TIME=1440                                   
//*                                                                   
//***************************************************************     
//*  GENERATE A VOL REPORT                             *     
//***************************************************************     
//VOLR   EXEC PGM=SWSADMIN                                            
//SLSCNTL    DD DSN=STK.HSC.CDS1,DISP=SHR    <=PRIMARY CDS DSN=>      
//SLSPRINT   DD SYSOUT=*                                              
//SLSIN      DD *                                                     
 VOLRPT                                                               
GROOVY


Step 6: HSM Data Collection OPTIONAL

Click here to expand...

HSM activity data - (HSM FSR SMF type 241 records, all LPARs)

This is data extracted (using the IBM utility IFASMFDP) from the SMF datasets of record type 241 (241 is the HSM FSR record default value, it can be changed by the customer). See the ARCCMDxx member for each HSM. If there is no SETSYS SMF(nnn), the default value is 241. If there is a SETSYS SMF(nnn), add 1 to nnn for the FSR record number. For example, if the ARCCMDxx member shows SETSYS SMF(200), the HSM FSR record number would be 200+1=201.


This data must be prepared for transmission if it is to be sent to mainstorconcept via FTP (see FTP instructions). SMF files are variable in format and must be converted to fixed format using the IBM TRSMAIN (terse) utility before the file can be sent (binary) by FTP. Collect seven to thirty days of data for analysis.


HSM parameters, tape use

Copy the active ARCCMDxx member to a text file. The file can be sent to mainstorconcept via FTP (text mode).
Execute HSEND QUERY SETSYS to see run time parameters. Copy the command output to a text file. The file can be sent to mainstorconcept via FTP (text mode).
Perform HSEND LIST TTOC SELECT(BOTH) ODS(TTOC.OUTPUT) command (use ISPF panel 6 to enter the command). Copy the command output to a text file. The file can be sent to mainstorconcept via FTP (text mode).

HSM MCDS & BCDS data - point-in-time (DCOLLECT "M" and "B" records, all HSM plexes)

This is IDCAMS DCOLLECT data. The DCOLLECT data is variable in length and must be "tersed" before FTP to mainstorconcept. Use the following JCL to gather the DCOLLECT data:

HSM DCOLLECT Job
//JOB
//ALLOC EXEC PGM=IEFBR14
//DCOUT DD DSN=HLQ.DCOLLECT.DATA,
//DISP=(,CATLG),UNIT=SYSDA,
//SPACE=(CYL,(20,10),RLSE),
//DCB=(RECFM=VB,LRECL=1024,BLKSIZE=10800)
//*
//DCOLLECT EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//MCDSDD DSN=DFHSM.MCDS,DISP=SHR
//BCDSDD DSN=DFHSM.BCDS,DISP=SHR
//SYSIN DD *
DCOLLECT -
OUTDATASET(HLQ.DCOLLECT.DATA) -
MIGRATEDATA -
BACKUPDATA -
CAPPLANDATA
/*
GROOVY


Step 7: Terse REQUIRED

Click to expand Terse instructions ...

If you do not have the IBM TRSMAIN program installed it can be downloaded for free from the IBM support website. 
The TRSMAIN program DOES NOT SUPPORT TAPE! Please move the data to disk before tersing.

Please note:

Tersing the Data sets helps to ensure that the data is not corrupted at any point during the transfer out of the mainframe and to our systems. Tersed files are also easier to transfer due to their compressed size. These files can be further compressed by x86 tools like zip to reduce the transfer file size even more.

Use TRSMAIN program (TERSE) with PACK option to compress the data:

TRSMAIN Job
//TERSE EXEC PGM=TRSMAIN,PARM='PACK'
//SYSPRINT DD SYSOUT=*
//INFILE DD DISP=SHR,DSN=HLQ.SMF21
//OUTFILE DD DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,(50,50),RLSE),
// DCB=(RECFM=FB,LRECL=1024,BLKSIZE=6144),
// DSN=HLQ.SMF21.TRS 
GROOVY

Repeat this for all datasets collected above (not all types may be requested):

  • TMS

  • SMF21

  • SMF73

  • SMF74

  • SMF30

  • SMF94

  • SMF241

  • DCOLLECT

Step 8: Share files to mainstorconcept REQUIRED

Contact your mainstorconcept representative as soon as you are ready to transfer data to us, so that we can provide you with the secure data transfer service details.