DirMaint DASD Management Cleanup

Last Updated: 2013-08-13     (Subscribe to updates)

The DirMaint DASD Management Sub-System is sufficiently complex that even DirMaint sometimes loses track of what's happening, or supposed to be happening, or has perfect track of every stroke that got it painted into a corner from which it now needs help to escape. Here's how it's done.

First, use the DIRMaint CLEANUP command to automatically unhang a DATAMOVE machine by cleaning up internal files and retrying or canceling all workunits assigned to the machine. DIRMaint CLEANUP may also be subsequently used to delete debug files that DirMaint creates during cleanup processing. For more information, see the CLEANUP operand documentation in the Directory Maintenance Facility Commands Reference.

If the work unit remains hung after DIRMaint CLEANUP, you must use the following manual process to free the hung work unit.

  1. Logon to the DATAMOVE machine, and CMS XEDIT DVHDMCTL QUEUE A. If the file is empty, QUIT and #CP DISC. Otherwise, make note of the work unit numbers, owner's id and address(es), and the DATAMOVE address(es) for each entry. You might want to CMS EXEC SENDFILE DVHDMCTL QUEUE A TO MAINT. Then CMS ERASE DVHDMCTL QUEUE A and #CP DISC.
  2. Logon to the DIRMAINT machine,
    CMS EXEC SENDFILE DATAMOVE CONTROL E TO MAINT,
    CMS EXEC SENDFILE DVHLOCK DATADVH E TO MAINT,
    CMS EXEC SENDFILE UNASSIGN DVHQUEUE E TO MAINT, and
    CMS EXEC SENDFILE PURGES PENDING A TO MAINT.
    If these last two files don't exist, that's OK.
  3. Next, CMS XEDIT DATAMOVE CONTROL E. Make note of the existing status (ACTIVE, INACTIVE, or QUIESCED) starting in column 30, and change ACTIVE or QUIESCED to INACTIVE; in column 50, note the present value and change it to 0; if there's an 8 digit number starting in column 60, note it then blank it out. FILE the result.
  4. If the DATAMOVE status was QUIESCED, issue a CMS FILELIST CONFIG* DATADVH * command. Use SNAME to sort the list by filename. Starting at the BOTTOM of the list and working towards the top (CONFIG99 ... CONFIG0, CONFIGZ9 ... CONFIGA, CONFIG), XEDIT each one and issue an ALL /DM_MAXIMUM_RETRIES=/ command. The IBM supplied default is 10. Duplicate this line, change it to a comment by inserting a slash ("/") in column 1, and add a note to the line something along the lines of "TOO SMALL ON YYYY-MM-DD. On the new line, increase the value by at least 5 but not more than double the present value. (If you have prior history records and are finding this problem is occurring frequently, you may want to use a larger increase than your prior changes. As the interval gets longer, use a smaller increase.) If the filename is something other than CONFIG, just FILE the result. If the filename is just CONFIG, use a PUT 2 CONFIGAA DATADVH D command then QQUIT. (It is best to keep the CONFIG DATADVH file the same as the IBM supplied CONFIG SAMPDVH to make receiving service easier. Keep your changes in one of the supplemental override files. You may pick any two character suffix that is valid for a CMS filename.)

    Once you have made a change to one CONFIG* DATADVH file, you do not need to check the remaining CONFIG* DATADVH files (presuming you are checking them in descending alphabetical order as suggested).

    If you have been receiving messages that DASD management commands (AMDISK, CMDISK, DMDISK, ADD, PURGE, etc) have been failing because the DASD Management Sub-System has been disabled, you should repeat this process, looking for a string of /MAXIMUM_UNASSIGNED_WORKUNITS=/. The IBM supplied default value is 25. Follow the same procedures for keeping a history of prior values, selecting the new value, and putting the result in a file other than CONFIG with no suffix. (You may put this MAXIMUM_UNASSIGNED_WORKUNITS= in the same CONFIGAA DATADVH file as the DM_MAXIMUM_RETRIES= entries.) And again, once you have made the change in one file, it is not necessary to check the remaining files.

    When you have made your changes to the DM_MAXIMUM_RETRIES= and MAXIMUM_UNASSIGNED_WORKUNITS= entries, you may use PF3 to QUIT out of FILELIST.

  5. Issue the following commands:
    DATAMOVE CP IPL
    RLDCODE
    RLDDATA
    RLDEXTN
  6. If the DATAMOVE status was ACTIVE with an 8 digit work unit number, issue a CMS SENDFILE ddhhmmss WORKUNIT E TO MAINT command. Then issue a WORKUNIT ddhhmmss WAKEUP command. If nothing seems to start processing, try issuing a WORKUNIT ddhhmmss RETRY command.
  7. If the DATAMOVE status was either INACTIVE or QUIESCED, issue a CMS FILELIST * WORKUNIT E command, select one of the 8 digit work unit numbers, use PF3 to QUIT out of FILELIST, then issue a WORKUNIT ddhhmmss WAKEUP command. If nothing seems to start processing, try issuing a WORKUNIT ddhhmmss RETRY command.
  8. You will need to issue WORKUNIT ddhhmmss RETRY commands for each work unit that was listed in the DVHDMCTL QUEUE file on the DATAMOVE machine. Unassigned workunits should resume processing on their own, after the subsystem has processed the first one.


If you'd like to contact DirMaint development and support, you can

Thank you for visiting this web page. Please visit again next month and check out the latest news. (Or, subscribe to future updates.)