You are on page 1of 17

HSM Components

The main HSM components are illustrated below.

The white boxes are the data functions, the yellow ellipses are the control datasets, the blue boxes are
the data stores, and the green boxes are the recovery logs and trace datasets.

Migration
Backup and Migration are the two main functions of HSM.
HSM recognises data in three places. ML0 (Migration level 0) is the on-line data that is accessed by
applications and users. Data is usually moved to ML1 (Migration level 1) first, according to SMS
management class rules. ML1 is a dedicated pool of disks, which are non-SMS managed. The data is
compressed. The minimum size a dataset can be is about 53K (assuming 3390 track geometry). Small
datasets could be archived to ML1, but still use the same space, so small datasets are held as records
in Small Data Set Packing datasets (SDSPs). These are standard KSDS VSAM files.
To use small dataset packing, you have to tell DFHSM how big a small dataset is. You need an entry in
your ARCCMDxx dataset like

SETSYS SMALLDATASETPACKING(KB(160))

As a guide, a single track record using half track blocking, and getting 3:1 compression will use about
160KB on ML1. If all these assumptions are correct for your site, then 160KB is a reasonable cutoff
point, as anything smaller would not occupy a whole track.
If a dataset continues to be unused, it will eventually be migrated off to ML2 (migration level 2), which is
usually high capacity cartridge. Large datasets are often migrated straight off to ML2.
Migrated datasets are given a special catalog entry, with a volser of MIGRAT, to indicate that the dataset
is migrated. The MCDS (Migration Control Data Set) keeps a record of what has been migrated, and

where the migrated data is held. If you try to access a migrated dataset, it will be automatically recalled
back to ML0.
There are three variations of space management

Primary Space Management


To run primary space management you need to issue commands like these

DEFINE PRIMARYSPMGMTCYCLE(YNNNYNN) CYCLESTARTDATE(2004/03/01)


SETSYS PRIMARYSPMGMTSTART(0100 0300)

This means run primary space management on Mondays and Fridays, starting at 01:00. HSM will not
start to process any new volumes after 03:00. The reason why it starts on a Monday is because March
1st 2004 was a Monday. You would typically enter this command once when setting up HSM, and then
just enter it again if you wanted to change the parameters.
Primary space management does all the space management functions on the primary, or ML0 disks. If
allowed by parameters, it will delete temporary and expired datasets, release unused space, then
migrate data to ML1 or ML2 as appropriate, until all volumes are below their SMS thresholds.

Secondary Space Management


Secondary space management needs an initial command, similar to primary space management. If you
never enter this command, then secondary space management will never run.

DEFINE SECONDARYSPMGMTCYCLE(YNNNYNN) CYCLESTARTDATE(2004/03/01)


SETSYS SECONDARYSPMGMTSTART(0030 0200)

Secondary space management basically looks after the ML1 and ML1 archive pools. If the management
class criteria are met it moves data from ML1 to ML2, it runs TAPECOPY commands if they are needed
and it deletes expired migrated datasets.
The end of that last sentence needs a bit of expansion. HSM can delete migrated datasets, that it it can
delete data once it is not required. It does this based on retention policies set in the DFSMS
management class. Normally, HSM will not delete a dataset unless it has a current backup of it. This is
an issue if you do not use DFHSM to backup your data, so it is possible to apply a patch to HSM that
allows it to delete data that it has not backed up.
So if you are expecting HSM to delete data and this is not happening, one possibility is that HSM
requires a backup before it will delete the data. Other things that can go wrong is that for SMS volumes
the storage group containing the volumes must be defined with AM=Y and the HSM parameter 'Scratch
expired Data Sets' must be set to YES. If it is not, change it with command

HSEND SETSYS EXPIREDDATASETS(SCRATCH)

Interval Migration
You run interval migration on one LPAR, so for that LPAR you specify

SETSYS INTERVALMIGRATION
SETSYS MAXMIGRATIONTASKS(5)

in the ARCCMDxx Parmlib member, and in all other LPARs you specify

SETSYS NOINTERVALMIGRATION

Interval migration runs every hour, and checks each volume occupancy against the SMS threshold
settings for the volume's storage pool. If the high threshold is exceeded, then DFHSM will migrate
eligible datasets until the low threshold is reached or no more data sets are eligible. It will also delete
temporary and expired data sets

Automatic Recall
You can restrict the number of recall tasks with the following SETSYS parameter.

SETSYS MAXRECALLTASKS(n2) TAPEMAXRECALLTASKS(n1)

The tape recall tasks are a subset of the max recall tasks, so n1 must be smaller than n2.

back to top

Backup
Data needs to be backed up on a regular basis, incase it is accidentally deleted or corrupted. Hardware
failure is very rare these days. HSM can stage backups to ML1, or write them straight to tape. Backups
are recorded in the BCDS (Backup Control Data Set). This makes recovery very easy. The OCDS
(Offline Control Data Set) keeps a record of all tapes used by HSM, both backup and migration.
To schedule HSM backups to run automatically, you need to add lines like these to your ARCCMDxx
member

SETSYS AUTOBACKUPSTART(0100 0200 0600)


SETSYS MAXBACKUPTASKS(3)

What this says is that the backups will start between 01:00 and 02:00, and no new volume backups will
start after 06:00 Up to three concurrent backup tasks can run on this host. If you are running in a
sysplex with several LPARs, its best to run several concurrent backup tasks from a single LPAR, rather
than spreading the tasks between LPARS.

Log & PDA files


The CDS files are critical to HSM, so updates to them can be logged. If a CDS fails, it can be recovered
from backup, then the log updates applied to get it back to the point of failure. The PDA (Problem
Determination) files are trace datasets. The CDS Recovery section explains how the logs can be used
to fix CDS errors.

back to top

HSM Dataset Level Commands


These commands can be used by non-authorised users (users who are not DFHSM administrators)
when prefixed with an 'H'. Authorised users can also use them without the 'H' if they are preceded by
HSEND. For example
HSEND LIST DSNAME(my.file) BOTH will give the same result as HLIST DSNAME(my.file) BOTH
I find the 'H' commands very useful as line commands from TSO option 3.4. You enter the command on
the left hand side of the dataset you want to action, and just use a '/' where you would normally have to
type in the dataset. TSO will substitute the dataset name for the / in the commands.
The Dataset Tips section contains a number of examples of these commands in action.
When you look at a list of datasets under TSO 3.4, migrated volumes are shown with a disk entry of
MIGRAT1 if they are on ML1, or MIGRAT2 if they are on ML2.
When you issue the command 'SORT VOLUME' on the command line this only sorts on the first 6
characters of the VOLUME, so if you want to sort migrated datasets you can get MIGRAT1 and
MIGRAT2 datasets mixed together.
To get round this problem you have to enter the command 'SORT VOLUME MVOL' on the command
line. This will cause a sort of the volume and also the 'Multivolume or Migration Level indicator'.
Many DFHSM commands echo the results to your terminal by default. If you enter a command and see
no result, then DFHSM probably wrote the result to the DFHSM log file. If you add the parameter 'TERM'
to your command, it will echo the result to your console.
If you want to save the command output, you can add the parameter ODS(file.name) to redirect the
output to a file. The file must not exist, as DFHSM will allocate it. You can also send the results to the
spool with SYSOUT(class)

LIST command
The LIST command has a lot of parameters that make it useful for finding out information about backups
or migrated files. It is easiest to use as a line command on ISPF option 3.4 as shown below.

HLIST DSNAME(/) BOTH


HLIST DSNAME(/) MCDS
HLIST DSNAME(/) BCDS

Typical results of these commands are

DSN=dataset.name
MIGVOL=AQ3940 DSO=PS SDSP=NO
LAST REF=08/02/11 MIG=04/02/19 TRKS=0010425 2K BLKS= ******* TIMES MIG= 001
16K BLKS=031332 LAST MIGVOL=*NONE*
DSN= dataset.name

BACK FREQ = ***

BDSN=HSM.BACK.T581109.dataset.name.J4058
BACKDATE=08/02/27 BACKTIME=09:11:57 CAT=YES
RACF IND=NO BACK PROF=NO

MAX VERS=***

BACKVOL=AQ3829
FRVOL=DS003E
GEN=000 VER=001 UNS/RET= NO

If you also wanted information about datasets that have not been migrated, then add the INCLUDE
PRIMARY parameter. This will then give you details about files that have been migrated and recalled.
The list command will also give you lots of information about DFHSM objects. Here are a few examples

LIST BACKUPVOLUME
LIST BACKUPVOLUME(volser)
LIST BACKUPVOLUME SELECT(EMPTY)

The first command will list out all backup volumes, the second one will list out data for a selected
backup volume, while the third command will list out all empty backup volumes.
To list out all the migrated files held on a tape. Its best to direct the output of this command into a file, as
there will be lots of it. You may need to do this if the tape is broken, to see what you have lost. The
information is held in the OCDS, so you do not need to mount the tape. If you want to list out one
volume, but do not want the migrated files list, use the parameter NODATASETINFORMATION to
suppress the list.

HSEND LIST TTOC(AQ1086) ODS(list.output.filename)

If you specify TTOC without a VOLSER, then HSM will list out a summary of all of its tapes, but it will not
list out all the individual files on the tapes.
If you want to list out all your disaster recovery migration tapes, maybe for a Dr test, then use the
command

HSEND LIST TTOC SELECT(DISASTERALTERNATEVOLUMES)

To list out the contents of a small dataset packing dataset on an ML1 volume use the command below.
You can also see all the files on an ML1 volume with SELECT(VOLUME(volser) ML1)

HSEND LIST DATASETNAME MIGRATIONCONTROLDATASET SELECT(VOLUME(ML1028) SDSP) ODS(list.output.filename)

You can also filter out a set of migrated datasets with the level parameter. The command below will lost
all migrated datasets with high level qualifier of CQPY

HSEND LIST LEVEL(CQPY) MIGRATIONCONTROLDATASET ODS(list.output.filename)

List the DFHSM characteristics of a primary volume. Note the TERM parameter. The LIST command
sends it's output to the HSM log by default.

TSO HSEND LIST PVOL(D30038) TERM

results

VOL=D30038 DEVTYP=3390
VOLTYPE=P SMS
MIGDS=00000 MIGTRKS=******
MIGDATE-TIME=04/03/01 13:12 FRAG=.687 HI-THRESH=085 LO-THRESH=060
MIN-AGE=*** BACKUP-DEVICE-CATEGORY=**** AUTO-RECALL=*
SDSP=*** SPACE-MGMT=MIG AGE=*** AUTO-HOST MIG=** BACK=** DUMP=**
DUMPCLASS = ********
ARC0140I LIST COMPLETED,
5 LINE(S) OF DATA OUTPUT
***

To list out all the backups for files that match a partial dataset name use

HSEND LIST LEVEL(partial.dsname) BCDS ODS(file.name)

You can also filter down a large HSM list using the SELECT parameter. As an example

HLIST LEVEL(RSJPROD) SELECT(AGE(10 50)) MCDS TERM

will list out all migrated datasets starting with RSJPROD that have not been referenced for less than 10
days, or more than 50 days. Note that the LEVEL statement does not have to be a complete qualifier.
This command will find RSJPRODP.* files for example. There is quite a few SELECT parameters that
you can use, including VOLUME(volser), ML1, ML2, SDSP, NOSDSP and VSAM.
To list out all the files that were on a primary volume last time it was backed up use

HSEND LIST PVOL(volser) BCDS BACKUPCONTENTS ODS(file.name)

The LIST TTOC command can take some special SELECT filters, including SELECT(BACKUP
NOTFULL), which will show all backup tapes that are not full, and SELECT(NOTASSOCIATED) which
will list all tapes that are not associated with an HSM function.
You can list out DUMP objects as shown below. If you do not specify a particular class or volume, then
all classes or volumes will be listed out.

LIST DUMPCLASS(class)
LIST DUMPVOLUME(volser)

BACKUP Commands
HBACKDS Command
You use this command to manually backup a dataset. You may want to do this before you make
changes. The 3.4 line command can simply be

HBACK /

You will have a default backup destination; use the QUERY SETSYS command to find out what it is. You
can override this as in the following example. This example will also use concurrent copy for the backup
'CC' means Concurrent Copy, 'REQUIRED' means the backup will fail if it cannot use concurrent copy,
and 'LE' means the backup will be considered complete once the concurrent copy is established, rather
than when all the data is copied off to tape.

BACKDS file.name TARGET(DISK) CC(REQUIRED LE)

HRECOVER Command

You use this command to restore a data set from the backup. From ISPF option 3.4, this can simply be

HRECOVER / REPLACE

And hopefully you will see

ARC0778I DATA SET recovered.filename WAS RECOVERED FROM A BACKUP MADE AT


ARC0778I (CONT.) 09:11:57 ON 2004/02/27
ARC1000I recovered.filename RECOVER PROCESSING ENDED

You can recover a file to a different name, and select a backup taken on a specific date with the
following TSO command

HSEND RECOVER recovered.filename NEWNAME(recovered.filename.newname) DATE(99/11/04)

This command will recover a file to a new name, and force it onto a non-SMS volume

HSEND RECOVER recovered.filename NEWNAME(recovered.filename.newname) TOVOLUME(V00101) UNIT(3390) FORCENONSMS

HBDELETE Command
If you want to delete a lot of backups, you will want to batch them up and run them as a job. When you
do this, DFHSM will issue all the commands at once and queue them up. If the queue is too large,
DFHSM will abend! You can avoid this by using the WAIT parameter as shown below. HSM will then
process each delete one at a time.

HSEND
HSEND
HSEND
HSEND

WAIT
WAIT
WAIT
WAIT

BDELETE
BDELETE
BDELETE
BDELETE

(filename1)
(filename2)
(filename3)
(filename4)

N.B. The commands as shown above will delete ALL backups for the file. If you just want to delete
specific backups, you need to add a VERSIONS parameter.

MIGRATION commands
HMIGRATE Command
You use this command to manually migrate a data set. You may want to do this a 'quick fix' to resolve
space problems. At its simplest, the 3.4 line command is

HMIG DSNAME(/)
or
HMIG DSNAME(/) ML2

Another option is to use the command below, which means migrate all files off volume PRIM01 that
have not been accessed for 5 days.

MIGRATE VOLUME(PRIM01 MIGRATE(5))

If you have a problem with ML1 filling up, you may need the following command, which migrates all
datasets that have been on ML1 for 2 days or more to ML2

MIGRATE MIGRATIONLEVEL1 DAYS(2)

You can also empty out a primary volume with DFHSM by using the CONVERT parameter. This means
that the datasets are migrated then immediately recalled again. To clear out a volume called PRIM01,
set it to DISNEW in DFSMS, then issue the following command, which will move any files that are not in
use elsewhere in the SMS pool. There are much easier ways to move data off a volume of course.

MIGRATE VOLUME(PRIM01 MIGRATE(0) CONVERT)

HRECALL Command
This command will bring a data set back to primary disk. You do not need to recall a file manually;
DFHSM will recall it automatically if you try to use it. However, it can be a pain waiting for a lot of files
that are archived to tape, you may want to recall them by command. You will also need t use the
command if autorecall is having problems. DFHSM recall is a file by file operation, you cannot batch up
requests and recall a lot of files at the same time like FDRABR.
The ISPF 3.4 line command is simply

HRECALL /

If DFHSM is struggling to find space to recall a large file, you can use either of these two options

HRECALL / DFDSSOPTION VOLCOUNT(ANY)


HRECALL / FORCENONSMS UNIT(unittype) VOLUME(volser)

VOLCOUNT(ANY) will make the file go multi-volume, and will use up to 59 volumes.
You can use the FORCENONSMS option to make the recall go to an empty spare volume, but then you
have to relocate the file later.
You can use the HLIST command to find out how much space the recall needs.

HDELETE Command
If you use the ISPF line command 'D' or 'DEL' to delete migrated files, DFHSM will recall the file first,
which is a waste of time and resource. If you use HDELETE, then DFHSM deletes a migrated data set
without recalling the data
The ISPF 3.4 line command is simply

HDEL /

Use the PURGE parameter for datasets which have an expiry date set. Incidentally, if you are deleting
files in batch, then it is best to use IDCAMS rather than IEFBR14, as then DFHSM will delete the file
without having to RECALL that dataset back to disk first. For example

//STEP01 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=J
//SYSIN DD *
DELETE datasetname1
DELETE datasetname2

back to top

HSM System Management Commands


You would normally use these commands from the TSO command line, prefixed by HSEND, or from the
system console using the modify command F hsmtaskname,command

QUERY Command
You use this command to find out what is happening with DFHSM. You will use these commands so
frequently that you will probably have a CLIST set up to shorten them. Then instead of typing out TSO
HSEND QUERY ACTIVE, you just type TSO QA. To do this you need a CLIST called QA in a CLIST
library in your TSO LOGON list. That CLIST will simply contain the line
HSEND QUERY ACTIVE

The common commands are

QUERY ACTIVE - see what processes are running, and the status of the HSM components

QUERY WAITING - see how many commands are queued waiting for resource

QUERY AUTOPROGRESS - list out what is happening with HSM's automatic functions

QUERY USER - list the users who are running active or queued commands. QUERY USER(userid) will
list out requests for a specific user.

QUERY PROCESS - query active processes

QUERY IMAGE - list out the name of the HSM started task

QUERY AUTOP - list out all automatic processes running at this time

QUERY ABARS - list out all ABARS parameters

QUERY ARPOOL - list out all aggregate recovery volumes

QUERY POOL - list out all the recall pools

QUERY BACKUP - list out all current backup parameters. This command has some optional qualifiers,
Q BACKUP(ALL) will also list out the backup volumes; (DAILY)will list out daily parameters and daily
backup volumes; (DAILY(day)) will list out volumes and parameters for a specific day, while
BACKUP(SPILL) will list out spill parameters and spill volumes.

QUERY CDSV - list out CDS backup information

QUERY CDS - list out information about the CDS files

QUERY ML2 - list out ML2 volumes, including info about volumes that are currently in use

QUERY DATASETNAME(dataset.name) list out all HSM information for that dataset

QUERY SPACE(VOLSER) - list out space information for a specified volume

QUERY STAR - list out the HSM startup parameters

QUERY RETAIN - list out all files that are excluded from migration by SETMIG commands

QUERY CSALIMITS - list out the CSA or memory limit parameters for HSM

QUERY SETSYS - see below

QUERY SETSYS is useful to see what the DFHSM settings are. Some of these are defined in your
ARCCMDxx member in SYS1.PARMLIB, but they can be overridden by command, some system
settings are set by a one-off command, and some take defaults. QUERY SETSYS will show you the list
of all current system setting.

HOLD Command
You use this command to pause selected DFHSM function. A very useful command in a panic situation
is
HOLD ALL

which stops all HSM processing. You will then probably want to start up selected functions using the
release command.
HOLD MIGRATION
HOLD RECALL(TAPE)

Should both be self explanatory. You would want to hold tape recalls if you have a problem with your
tape drives, but want recalls from ML1 to continue as normal.

RELEASE Command
If something is not working in DFHSM, you could try a QUERY ACTIVE command to check the status of
that DFHSM function. If it is HELD, then you can release it with the RELEASE command. Of course,
there may be a reason why it is held, so it is best to check this out first. The release command is simply
RELEASE function

You may want to use this in a panic situation as follows


HOLD ALL
RELEASE RECALL

This holds everything, then releases RECALL, which minimises user impact.

CANCEL Command
You use CANCEL to terminate an outstanding DFHSM request. You need to know the request number
to do this. For example if a single request is causing problems then you need to find out the number of
the problem request
QUERY REQUEST
ARC0101I QUERY REQUEST COMMAND STARTING ON HOST=1
ARC0162I RECALLING DATA SET file.name FOR USER user1, REQUEST
ARC0162I (CONT.) 00006399 ON HOST 1
-- more requests ---ARC0101I QUERY REQUEST COMMAND COMPLETED ON HOST=1

You identify that the recall is causing problems, and the request number is 6399
CANCEL REQUEST(6399)

If a single user has a large number of requests in the queue then you may want to cancel all their
processes to relieve congestion. The QUERY USER command will give you the userid, then you use the
cancel command
CANCEL USER(userid)

back to top

HSM Administration Commands


There are some examples of these commands in use, in the started task tips page.
DFHSM works on volumes, primary volumes hold user accessible data, ML1 and ML2 volumes hold
migrated data. Three of the volume management commands are

Volume Commands

ADDVOL - To define volumes to HSM

FREEVOL - To move data off HSM managed volumes

DELVOL - to delete volumes from HSM

I have used these commands to move an HSM ML1 volume dynamically. You cannot use a DFDSS
COPY of FDRCOPY job for this without shutting DFHSM down, as DFHSM is holding the disk. You
could use a product like FDRPAS or TDMF, or you can use the procedure below.
Check you have enough space to move your volume, if not, clear some space in the ML1 pool
Issue the HSM command

ADDVOL volser UNIT(3390) MIGRATION(DRAIN)

Issue the HSM command

FREEVOL MVOL(volser) AGE(0) TARGETLEVEL(ML1)

The drain process could take an hour or two. It is best to move the data to existing ML1 volumes, as the
recall service is maintained. If you move direct to ML2, you lock out access to the data while your move
is running.
When you get the notify that the freevol command has completed, The ML1 volume is now free, so
move it your normal way. If the volume contains an SDSP, you can either move it with the disk, or
delete/redefine it.
Add the volume back to HSM, using the command

ADDVOL volser UNIT(3390) MIGRATION(ML1 SDSP NODRAIN)

Use the FREEVOL command to clear out an ML2 tape. If the tape is damaged, then FREEVOL will clear
out as much as it can and report on all failures.

FREEVOL MVOL(volser) TARGETLEVEL(ML2)

AUDIT Command
You use this command to check DFHSM control data sets and volumes for problems, and fix the
problems.
The command to check and fix problems with an SDSP is

HSEND AUDIT MEDCTL(SDSP) VOLUMES(ML1010) NOFIX ODS(output.dataset)


HSEND AUDIT MEDCTL(SDSP) VOLUMES(ML1010) FIX ODS(output.dataset)

The command to check and fix problems with the BCDS is

HSEND AUDIT BCDS NOFIX ODS(output.dataset)


HSEND AUDIT BCDS FIX ODS(output.dataset)

If you run the AUDIT with NOFIX first, you can check your output file to make sure that the audit will do
what you want. This is not practical if you are auditing a 3590 tape, as it takes so long. The command
with NOFIX will output FIXCDS commands to your output file.
It is not a good idea to run the FIXCDS commands yourself manually, as several of the AUDIT
commands will do more than just issue FIXCDS commands. For instance, AUDIT MEDIACONTROLS
will also scratch an invalid catalog entry. AUDIT may also create a catalog entry for a data set that is in
an SDSP and has an MCD record but no catalog entry. If you just run the FIXCDS commands manually,
you would lose this data.

EXPIREBV command
You need to run this command to remove expired backups. If you do not run the command, the BCDS
grows and tapes are never re-used. I once went into a site that had not run EXPIREBV for over two
years, and were struggling to manage a large BCDS. That was one of my quickest ever wins. The
command is simply

HSEND EXPIREBV EXECUTE

LIST Command
You use this command to get information from HSM volumes. A following example is to get information
about datasets archived to a tape. This command will produce hundreds of lines of output, so send the
output to a dataset, not your terminal.

HSEND LIST TTOC (A01086) ODS(output.dataset)


HSEND LIST ML1 TERM

will list out the status of all your ML1 volumes.

AUTH Command

You use this command the change the access that a user has in DFHSM. You have three options,
USER, CONTROL or REVOKE. A USER can issue all commands except AUTH, You must have at least
one CONTROL user who can issue AUTH commands to enable access to others. This can be a
problem when testing out disaster recovery procedures, as your authorised user might not be present.
What you need to do is add a line to your ARCCMDxx member as shown below, with 'userid' set to an
on-site user.

AUTH userid DBA(CONTROL)

You then need to 'bounce' DFHSM.


To find out who is authorised to use HSM commands, use

HSEND LIST USER

FIXCDS Command
You use this command to display or alter data within the three CDS files. IBM seem to have withdrawn
the documentation for this command. The AUDIT command will build FIXCDS commands as described
above, so when you use the AUDIT command you can see FIXCDS in use.
The example below is a fix to reset the SDSP enqueue bit if HSM is cancelled. This fix has certainly
worked for me in the past, but there is no guarantee that it still works now! Use this procedure at your
own risk.
The symptom of the problem is that recalls from an SDSP are failing. First display the status of the
SDSP using

TSO HSEND FIXCDS V volser

Where volser is the ML1 volume that contains the SDSP file. Check field x'59' in the display output. If bit
5 at x'59' is on then issue the following command:

F HSM,FIXCDS V volser PATCH(X'59' BITS(.....0..))

There are some other examples of the use of FIXCDS in the 'HSM Tape and Dataset tips' section

Statistics Gathering Commands


The REPORT command will tell you things like how many files have been migrated, backed up, recalled
and restored. The syntax to get the current stats is

HSEND REPORT DAILY FUNCTION

If you leave function like that, you will get stats on all the HSM functions, or you can ask for a specific
function with FUNCTION(BACKUP) or DELETE, MIGRATION, RECALL or RECOVER.
You can also get data for several days with the FROM and TODATE parameters, how much you will get
will depend on how often you purge this data from HSM

HSEND LIST DAILY FUNCTION(RECALL) FROMDATE(08/07/01) TODATE(08/07/15)

You can also report on volume activity with the REPORT VOLUMES command. If you specify a
particular VOLSER you will get a detailed dataset report for that volume. If you do not, you get a
summary report for every volume that HSM has. Pipe this one to a file, it will contain a lot of data.

HSEND REPORT VOLUMES(optionalvolser) ODS(file.name)

back to top

You might also like