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

   EADM Advert

Accelerate DB2 Write with zHyperWrite and "EADM™ by Improving DB2 Logs Volumes Response Time:

  • 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.

Several HOLD commands are available, some of which have optional parameters to hold parts of functions. Some of these commands are:

  • HOLD BACKUP and optionally (AUTO DCCOMMAND(TAPE)
  • HOLD RECALL and optionally (TAPE)
  • HOLD MIGRATION
  • HOLD FRRECOV and optionally (TAPE) used for fast recovery from snapshots
  • HOLD DUMP
  • HOLD ABACKUP used for ABARS backups
  • HOLD ARECOVER
  • HOLD RECYCLE used for tape recycling, useful if tou are getting drive contention
  • HOLD TAPECOPY
  • HOLD TAPEREPL
  • HOLD COMMONQUEUE for recall processing where a common coupling facility recall queue is in use
  • HOLD RECOVER and optionally (TAPEDATASET)

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. You can then release other functions using RELEASE then the same options as HOLD above to progressively bring parts of HSM back into service.

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