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
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
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.
You use this command to pause selected DFHSM function. A very useful command in a panic situation is
which stops all HSM processing. You will then probably want to start up selected functions using the release command.
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:
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
You may want to use this in a panic situation as follows
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.
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
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
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