VMS Help
DEFRAGMENT

 *Conan The Librarian

    Invokes the Disk File Optimizer. This utility is a layered
    product that restores file contiguity while the target volume
    remains on line and accessible. The Disk File Optimizer is
    compatible with any Files-11 structure level two (ODS-2)
    formatted volume including single volumes, bound volume sets,
    stripe sets or shadow sets. The file defragmentation utility
    is also compatible with ODS-5 formatted device on OpenVMS Alpha
    7.2-1 and above.

    Format

      DEFRAGMENT  [ /INTERFACE ]

  1 - Qualifiers

 1.1 - /INTERFACE

       /INTERFACE=CHARACTER_CELL(default)
       /INTERFACE=DECWINDOWS

          The /INTERFACE qualifier allows you to start up the
          Disk File Optimizer with either the character cell
          terminal interface or the DECwindows interface.

  2 - ABORT

    The ABORT subcommand terminates the execution of the script or
    scripts specified in the command line.

    Format

      DEFRAGMENT ABORT  { script-name[,...] } [ /QUALIFIERS ]

 2.1 - Parameters

 script-name

    The script-name parameter is the name of the script to be
    aborted. You can use wildcards in the script-name specification.
    Use an asterisk (*) to take action on all scripts on the
    VAXcluster system; use a percent sign (%) to match a single
    character in the script-name specification.

 2.2 - Restrictions

    o  You cannot use the script-name parameter with the /ALL
       qualifier.

 2.3 - Qualifiers

 2. 3.1 - /AFTER

       /AFTER={time}
       /NOAFTER (default)

          The /AFTER qualifier aborts the script after the
          specified time.

          You can specify time as either an absolute time or
          as a combination of absolute and delta times. For
          complete information on specifying time values, see
          the OpenVMS User's Manual.

 2. 3.2 - /ALL

       /ALL
       /NOALL (default)

          The /ALL qualifier aborts all currently executing
          scripts across the system. This qualifier is
          equivalent to using an asterisk (*) for the script-
          name parameter.

 2.4 - Examples

      The following are examples of the ABORT command:

    1.$ DEFRAGMENT ABORT MY_SCRIPT/AFTER=16:30

      This command aborts MY_SCRIPT after 16:30 on the day this
      command is submitted.

    2.$ DEFRAGMENT ABORT/ALL

      This command immediately aborts all currently executing scripts
      in the entire system.

  3 - ATTACH

    The ATTACH subcommand transfers control from the current process
    (which then hibernates) to the specified process.

    Format

      DEFRAGMENT ATTACH  { process-name } [ /QUALIFIERS ]

 3.1 - Parameters

 process-name

    The process-name specifies the name of a process to which control
    transfers. The process must already exist, be part of your
    current job, and share the same input stream as your current
    process. However, the process cannot be your current process or a
    subprocess created with the /NOWAIT qualifier.

    Process names can contain from 1 to 15 alphanumeric characters.
    If a connection to the specified process cannot be made, an error
    message is displayed.

 3.2 - Restrictions

    o  The ATTACH command cannot be used if your terminal has an
       associated mailbox.

    o  You cannot use the process-name parameter with the
       /IDENTIFICATION qualifier.

    o  You must supply either a process name or a PID for this
       command.

 3.3 - Qualifiers

 3. 3.1 - /IDENTIFICATION

       /IDENTIFICATION=pid

          /IDENTIFICATION lets you specify the process
          identification (PID) of the process to which terminal
          control will be transferred. Leading zeros can be
          omitted.

 3.4 - Examples

      The following are examples of the ATTACH command:

    1.$ DEFRAGMENT ATTACH JONES_2

      This ATTACH command transfers the terminal's control to the
      subprocess named JONES_2.

    2.$ DEFRAGMENT ATTACH /IDENTIFICATION=2A401A1B

      This ATTACH command switches control from the current process
      to the process whose PID is 2A401A1B.

  4 - CANCEL

    The CANCEL subcommand skips the next scheduled execution of the
    scripts specified in the command line.

    Format

      DEFRAGMENT CANCEL  { script-name } [ /QUALIFIERS ]

 4.1 - Parameters

 script-name

    The script-name parameter is the name of the scripts to be
    canceled. You can use wildcards in the script-name specification.
    Use an asterisk (*) to take action on all scripts on the
    VAXcluster system; use a percent sign (%) to match a single
    character in the script-name specification.

 4.2 - Restrictions

    o  The script-name parameter is not allowed if the /ALL qualifier
       is used.

 4.3 - Qualifiers

 4. 3.1 - /ALL

       /ALL
       /NOALL (default)

          The /ALL qualifier cancels the next scheduled
          execution of all scripts in the scheduling and
          parameter database.

 4.4 - Examples

      The following is an example of the CANCEL command:

    1.$ DEFRAGMENT CANCEL MY_SCRIPT, YOUR_SCRIPT

      In this example, the next scheduled execution of MY_SCRIPT and
      YOUR_SCRIPT are canceled. Afterwards, both scripts resume their
      normal schedule.

  5 - DISABLE

    The DISABLE subcommand makes the specified script ineligible for
    execution. Currently executing scripts are not affected. Use the
    ABORT subcommand to stop currently executing scripts.

    Format

      DEFRAGMENT DISABLE  { script-name } [ /QUALIFIERS ]

 5.1 - Parameters

 script-name

    The script-name parameter specifies the scripts to be disabled.
    You can use wildcards in the script-name specification. Use an
    asterisk (*) to take action on all scripts on the VAXcluster
    system; use a percent sign (%) to match a single character in the
    script-name specification.

 5.2 - Restrictions

    o  The script-name parameter is not allowed if the /ALL qualifier
       is used.

 5.3 - Qualifiers

 5. 3.1 - /ALL

       /ALL
       /NOALL (default)

          The /ALL qualifier disables all scripts in the
          scheduling and parameter database.

 5.4 - Examples

      The following example shows how to disable a script:

    1.$ DEFRAGMENT DISABLE MY_SCRIPT

      In this example, MY_SCRIPT is disabled.

  6 - ENABLE

    The ENABLE subcommand reactivates scripts that have been
    disabled.

    Format

      DEFRAGMENT ENABLE  { script-name } [ /QUALIFIERS ]

 6.1 - Parameters

 script-name

    The script-name specifies the name of the scripts to be enabled.
    You can use wildcards in the script-name specification. Use an
    asterisk (*) to take action on all scripts on the VAXcluster
    system; use a percent sign (%) to match a single character in the
    script-name specification.

 6.2 - Restrictions

    o  The script-name parameter is not allowed if the /ALL qualifier
       is used.

 6.3 - Qualifiers

 6. 3.1 - /ALL

       /ALL
       /NOALL (default)

          The /ALL qualifier enables all disabled scripts in
          the scheduling and parameter database.

 6.4 - Examples

      The following are examples of the ENABLE command:

    1.$ DEFRAGMENT ENABLE/ALL

      In this example, all previously deactivated scripts are
      enabled. The enabled script executes according to its
      previously set schedule.

      Enabled predecessor or successor scripts resume executing
      according to their link dependencies.

    2.$ DEFRAGMENT ENABLE MY_SCRIPT

      In this example, MY_SCRIPT is enabled. MY_SCRIPT starts
      executing according to the parameters and qualifiers assigned
      to it.

  7 - EXIT

    The EXIT subcommand exits from the Disk File Optimizer utility
    and returns the user to the system prompt.

    Format

      DEFRAGMENT EXIT

 7.1 - Parameters

    None.

 7.2 - Restrictions

    None.

 7.3 - Qualifiers

    None.

 7.4 - Examples

      The following ia an example of the EXIT command:

    1.DFO> EXIT
      $

      This command exits from the Disk File Optimizer utility and
      returns the user to the DCL prompt.

  8 - FILE

    The DEFRAGMENT FILE command defragments the files specified
    on the command line according to the DEFRAGMENT command line
    qualifiers. Use this command to defragment a small number of
    files. To defragment a large number of files, use the DEFRAGMENT
    VOLUME command.

    Format

      DEFRAGMENT FILE  { file-spec[,...] } [ /QUALIFIERS ]

 8.1 - Parameters

 file-spec[,...]

    The file-spec parameter identifies the file or files to be
    defragmented. You may use wildcards for the file specification.

 8.2 - Restrictions

    o  A script that has the /CONTINUOUS qualifier may not be named
       as the predecessor of another script.

    o  If you specify the /INTERVAL qualifier, the /PREDECESSOR
       qualifier is not allowed.

    o  If /LEVEL=5 is selected, the /LOG qualifier is required.

    o  Do not use /BRIEF and /FULL concurrently.

 8.3 - Qualifiers

 8. 3.1 - /AFTER

       /AFTER={time}
       /AFTER={current_time} (default)
       /NOAFTER

          The /AFTER qualifier keeps the script from executing
          until after the specified time.

          You can specify time as either an absolute time or
          as a combination of absolute and delta times. For
          complete information on specifying time values, see
          the OpenVMS User's Manual.

          The /AFTER qualifier has three states. It can be
          specified with a valid time, it can be omitted from
          the command line, or it can be negated (/NOAFTER). If
          /AFTER is specified with a valid time, the script is
          scheduled to execute after that time. If the /AFTER
          qualifier is omitted, the defragmentation software
          processes the command as if the /AFTER qualifier
          were specified with the current time. If /NOAFTER
          is specified, no starting time is associated with
          the script being defined. The /NOAFTER qualifier
          allows you to define a script without scheduling it
          to execute. To subsequently start the script, use the
          START subcommand.

 8. 3.2 - /BRIEF

       /BRIEF (default)
       /NOBRIEF

          The /BRIEF qualifier is used only with the /LOG
          qualifier. The /BRIEF qualifier requests a brief log
          of all actions taken by the defragmentation process.
          This log includes beginning and ending file status
          information. The /BRIEF and /FULL qualifiers are
          mutually exclusive, and /NOBRIEF produces the same
          result as /FULL. The /BRIEF qualifier is the default.

 8. 3.3 - /CONSOLIDATE_FREESPACE

       /CONSOLIDATE_FREESPACE
       /NOCONSOLIDATE_FREESPACE (default)

          The /CONSOLIDATE_FREESPACE qualifier tells the Disk
          File Optimizer to use its free space consolidation
          algorithm.

 8. 3.4 - /DORMANT

       /DORMANT=(file-spec[,...])
       /NODORMANT (default)

          The /DORMANT qualifier indicates files to be
          considered dormant when final file placement
          decisions are made. In order for the file to be
          placed dormant, it must be the file specified in
          the command line. Dormant files are placed at the
          high end of the volume.

          If a file is indicated in both the DORMANT and
          FREQUENT lists, it is considered dormant. If a file
          is indicated in both the EXCLUDE and DORMANT lists,
          it is excluded.

                                      NOTE

             The amount of free space on the volume, the
             number of files currently being accessed, and
             other factors influence file placement. The
             Disk File Optimizer does not guarantee file
             placement, but makes every effort to place files
             as described.

 8. 3.5 - /EPILOGUE

       /EPILOGUE={file-name}
       /NOEPILOGUE (default)

          The /EPILOGUE qualifier identifies a DCL command file
          which DFO executes upon completion of the DEFRAGMENT
          operation.

          Mounting or dismounting the disks cannot be done
          through the Command file specified.

 8. 3.6 - /EXCLUDE

       /EXCLUDE=(file-spec[,...])
       /NOEXCLUDE (default)

          The /EXCLUDE qualifier specifies files to be excluded
          from processing. The defragmentation process ignores
          files matching the listed file specifications. Any
          file indicated in the EXCLUDE list and in either
          the FREQUENT or DORMANT lists is excluded from
          processing.

                                      NOTE

             The defragmentation process always excludes
             system files, open files, files excluded in an
             options file (/OPTIONS qualifier), and files
             excluded using the /IGNORE qualifier.

 8. 3.7 - /FREQUENT

       /FREQUENT=(file-spec[,...])
       /NOFREQUENT (default)

          The /FREQUENT qualifier indicates files to be
          considered frequently accessed when final file
          placement decisions are made. In order for the file
          to be placed frequent, it must be the file specified
          in the command line. Frequent files are placed toward
          the center of the volume.

          If a file is indicated in both the FREQUENT and
          DORMANT lists, it is considered dormant. If a file
          is indicated in both the FREQUENT and EXCLUDE lists,
          it is excluded.

                                      NOTE

             The amount of free space on the volume, the
             number of files currently being accessed, and
             other factors influence file placement. The
             Disk File Optimizer does not guarantee file
             placement, but makes every effort to place files
             as described.

 8. 3.8 - /FULL

       /FULL
       /NOFULL (default)

          The /FULL qualifier requests a full log of all
          actions taken by the defragmentation process. The
          /FULL qualifier has no meaning if the /LOG qualifier
          is absent. The /FULL and /BRIEF qualifiers are
          mutually exclusive, and /NOFULL provides the same
          functionality as /BRIEF.

 8. 3.9 - /HOTFILE_DATABASE

       /HOTFILE_DATABASE
       /NOHOTFILE_DATABASE (default)

          The /HOTFILE_DATABASE qualifier causes the
          defragmenter to query the appropriate hotfile
          database and append the list of hotfiles to the
          /FREQUENT file list.

 8. 3.10 - /IGNORE

       /IGNORE=(keyword[,...])
       /IGNORE=(PLACED) (default)
       /NOIGNORE

          The /IGNORE qualifier requests that the
          defragmentation process ignore certain types of files
          as specified by the following keywords:

          o  INDEXED-Ignores all RMS indexed files

          o  NOINDEXED-May defragment RMS indexed files

          o  PLACED-Ignores all files with explicit placement
             flags set in their headers

          o  NOPLACED-May defragment files with explicit
             placement flags

          Files indicated by the /IGNORE qualifier are added to
          the EXCLUDE list.

          The default value (/IGNORE=PLACED) indicates that
          files with explicit placement control should be
          ignored, and that RMS indexed files should be
          defragmented and placed in appropriate locations
          on the volume.

 8. 3.11 - /INHERIT

       /INHERIT={script-name}
       /NOINHERIT (default)

          The purpose of the /INHERIT qualifier is to make
          script creation easier. By inheriting most of the
          command data from a previously entered script and
          modifying only a few items (such as volume name), a
          completely new script can be created. The /INHERIT
          qualifier creates a database entry for a new script
          in the following way:

          o  Copies all fields from the specified script to the
             new script.

          o  Overwrites any qualifier or parameter values in
             the new script with those specified on the command
             line.

          o  Names the new script as appropriate. The user may
             specify a script name using the /SCRIPT={script-
             name} qualifier. Otherwise, the defragmentation
             software creates a unique script name. You can
             use wildcards in the script-name specification.
             Use an asterisk (*) to take action on all scripts
             on the VAXcluster system; use a percent sign (%)
             to match a single character in the script-name
             specification.

 8. 3.12 - /INTERVAL

       /INTERVAL={delta-time}
       /NOINTERVAL (default)

          The /INTERVAL qualifier executes a script at
          regularly scheduled intervals. The /INTERVAL
          qualifier specifies the minimum time between two
          consecutive executions of a script.

          Specify time as a delta time. Refer to the OpenVMS
          User's Manual for more information on specifying
          times. If you do not specify a time with the
          /INTERVAL qualifier, a default value of 24 hours
          is used. This value causes the associated script to
          run every 24 hours.

          If you specify the /AFTER qualifier with the
          /INTERVAL qualifier, the first defragmentation
          operation occurs at or after the time specified
          by the /AFTER qualifier; all subsequent operations
          execute at intervals set according to the /INTERVAL
          qualifier.

 8. 3.13 - /LEVEL

       /LEVEL={n}
       /LEVEL=1 (default)

          The defragmentation process selects files for
          defragmentation (from among those not excluded) based
          on the /LEVEL qualifier. Once a file is selected as
          a candidate, the defragmentation process attempts
          to fully defragment that file (make it 100 percent
          contiguous). Specify the level number as an integer
          ranging from one to five:

          o  /LEVEL=1

             Any file that is not 100 percent contiguous, or
             that can be selected using levels two and three,
             is a candidate for defragmentation.

          o  /LEVEL=2 (default)

             Any file whose extents cannot be completely
             mapped by the mapping window, or that can be
             selected using level three, is a candidate for
             defragmentation. The default window value is seven
             and can be set for a given volume using:

             $ SET VOLUME {device-spec}/WINDOWS=[n]

          o  /LEVEL=3

             Any file with retrieval pointers in more than one
             file header is a candidate for defragmentation.

          o  /LEVEL=4

             The defragmentation process for level four
             processing performs only free space consolidation.
             This level is used with the /CONSOLIDATE_FREESPACE
             qualifier.

          o  /LEVEL=5

             This level requests a volume analysis only;
             no defragmentation occurs. The statistical
             results are available in the log file, which is
             required when /LEVEL=5 is selected (see the /LOG
             qualifier). If level 5 is selected, the /LEVEL=2
             candidate file specifications are listed in the
             full log file.

 8. 3.14 - /LOG

       /LOG={file-spec}
       /NOLOG (default)

          The /LOG qualifier causes the defragmentation process
          to create a file containing a list of all its
          operations. The information in the log file varies
          with the presence of the /FULL or /BRIEF qualifiers.

          The /FULL qualifier lists all files analyzed by the
          defragmentation process and reports their status
          during each phase of defragmentation.

          The /BRIEF qualifier lists only the statistics of
          each phase, such as number of files analyzed and
          number of files defragmented.

 8. 3.15 - /MAIL_NOTIFICATION

       /MAIL_NOTIFICATION
       /NOMAIL_NOTIFICATION (default)

          The /MAIL_NOTIFICATION qualifier requests that
          brief status and termination messages regarding
          defragmentation processes be mailed to the
          distribution list provided in the file DFG$MAIL_
          ADDRESS.

 8. 3.16 - /NODE

       /NODE=(node-name[,...])
       /NONODE (default)

          The /NODE qualifier limits the scope of the
          DEFRAGMENT command to the node or set of nodes
          specified by /NODE=(node-name). By default,
          defragmentation processes may execute on any LMF
          licensed node in the system.

 8. 3.17 - /OPCOM_NOTIFICATION

       /OPCOM_NOTIFICATION (default)
       /NOOPCOM_NOTIFICATION

          The /OPCOM_NOTIFICATION qualifier requests that
          brief status and termination messages regarding
          defragmentation processes be sent to OPCOM.

 8. 3.18 - /OPTIONS

       /OPTIONS={file-spec}
       /NOOPTIONS (default)

          The /OPTIONS qualifier provides an alternate method
          for associating files with the /DORMANT, /EXCLUDE, or
          /FREQUENT qualifiers. If the list of files for any of
          these qualifiers is long, you can create a separate
          file for this information. Each record in the options
          file consists of a file name followed by one of the
          following keywords:

          o  /EXCLUDE-File to be excluded

          o  /FREQUENT-File to be considered frequently
             accessed

          o  /DORMANT-File to be considered dormant

          The following example shows the contents of an
          options file called MYOPTFILE.OPT. This file
          specifies that all files on the target device called
          FILE1.EXE are frequent files, all files in the
          [ARCHIVE] directory are to be excluded, and all files
          in the [OLDSTUFF] directory and its subdirectories
          are dormant.

              FILE1.EXE/FREQUENT
              [ARCHIVE]*.*;*/EXCLUDE
              [OLDSTUFF...]*.*;*/DORMANT

          Files indicated by the /EXCLUDE qualifier and by
          either the /DORMANT or /FREQUENT qualifier are
          excluded. Files indicated by the /DORMANT qualifier
          and by the /FREQUENT qualifier are considered
          dormant. This rule is applied equally across all
          files specified in the /OPTIONS file, as well as
          those associated with these qualifiers on the command
          line.

 8. 3.19 - /PREDECESSOR

       /PREDECESSOR={script-name}
       /NOPREDECESSOR (default)

          The /PREDECESSOR qualifier links scripts. These
          scripts execute in sequence; one successfully
          completes before the next one begins.

          The predecessor script name must exist in the
          scheduling database or an error status message is
          returned. You can use wildcards in the script-name
          specification. Use an asterisk (*) to take action on
          all scripts on the VAXcluster system; use a percent
          sign (%) to match a single character in the script-
          name specification.

 8. 3.20 - /PRIORITY

       /PRIORITY=(DEFAULT=n, MINIMUM=n)
       /NOPRIORITY (default)

          The /PRIORITY qualifier specifies priorities for the
          defragment process. The minimum priority setting is
          used when the defragmentation process exceeds the
          value specified by either /CPU_LIMIT or /IO_LIMIT.

 8. 3.21 - /PROLOGUE

       /PROLOGUE={file-name}
       /NOPROLOGUE (default)

          The /PROLOGUE qualifier identifies a DCL command
          file which DFO executes just before the Defragment
          operation starts.

          Mounting or dismounting the disks cannot be done
          through the Command file specified.

 8. 3.22 - /RVN

       /RVN=n
       /RVN=0 (default)

          When you have a bound volume set, use this qualifier
          to identify a disk from the volume set or all disks
          in the volume set. The default of zero tells the Disk
          File Optimizer to defragment all disks in the bound
          volume set. Specify a relative volume number (RVN)
          to defragment a specific disk that belongs to a bound
          volume set.

 8. 3.23 - /SCRIPT

       /SCRIPT={script-name}
       /NOSCRIPT (default)

          The /SCRIPT qualifier assigns a user-supplied name
          to a script. If a duplicate script-name is selected,
          defragmentation software issues a duplicate script
          name error message and does not enter the new script
          into the database-no defragmentation takes place.

          A script name may be up to 64 characters in length
          and may contain any of the following characters:

          o  Any alphanumeric character

          o  Underscore ( _ )

          o  Hyphen ( - )

          o  Dollar sign ( $ )

          Observe the following rules when naming a script:

          o  You may use any combination of uppercase and
             lowercase letters.

          o  DO not begin script names using the dollar sign.
             However, you can include the dollar sign within
             the script name. (The dollar sign is reserved for
             special use by HP.)

          o  Do not end a script name with a hyphen, since the
             hyphen is the DCL continuation character.

 8. 3.24 - /TIME_LIMIT

       /TIME_LIMIT={delta-time}
       /NOTIME_LIMIT (default)

          The /TIME_LIMIT qualifier specifies the maximum
          elapsed time allowed for a given defragmentation
          operation. If the time limit is exceeded, the
          defragmentation process is aborted.

          Specify time as a delta time. Refer to the OpenVMS
          User's Manual for more information on specifying
          times.

          For linked scripts, the time limit of the first
          script applies to the whole set. Time limits
          specified with successor scripts apply to these
          scripts only.

          If the time limit is set unreasonably low, the
          defragmentation process may not accomplish useful
          defragmentation.

 8. 3.25 - /WRITE_CHECK

       /WRITE_CHECK
       /NOWRITE_CHECK (default)

          The /WRITE_CHECK qualifier requests that a read-
          after-write check be performed on all defragmented
          or placed files. This qualifier significantly extends
          the execution time of a defragmentation process.

 8.4 - Examples

      The following examples show different ways to defragment a file
      or group of files and how to use the common qualifiers:

    1.$ DEFRAGMENT FILE *.C;*

      This command defragments all files with a .C extension in the
      user's current default directory. To determine the device
      and directory in which the files are located, issue the SHOW
      DEFAULT command.

    2.DFO> DEFRAGMENT FILE *.C;*

      This command defragments all files with a .C extension on the
      user's current default device. The only difference between
      this command and the previous example is that this command is
      entered from within the Disk File Optimizer utility instead of
      from the DCL prompt.

    3.$ DEFRAGMENT FILE SYS$SYSDEVICE:[000000...]*.C

      This command is the same as the previous one, except that
      the RMS default string is now explicitly identified as
      SYS$SYSDEVICE:[000000...]*.C;*.

    4.$ DEFRAGMENT FILE SYS$LOGIN:LOGIN.COM;2/EXCLUDE=*.OLD;*

      This command defragments the user's LOGIN.COM file and excludes
      all files with a .OLD extension.

    5.$ DEFRAGMENT FILE/INHERIT=OTHER_FILE_SCRIPT.NOAFTER

      This commands creates a file script identical to the OTHER_
      FILE_SCRIPT and allows the Disk File Optimizer to name it
      (DFG$XXX).

    6.$ DEFRAGMENT FILE SYS$SYSTEM:[000000...]*.RDB/INHERIT=X/SCRIPT=Y

      This command creates a script called Y . Other script
      characteristics, such as log file, are inherited from script
      X.

  9 - HELP

    The HELP subcommand invokes VMS Help for the Disk File Optimizer
    utility.

    Format

      DEFRAGMENT HELP

 9.1 - Parameters

    None.

 9.2 - Restrictions

    None.

 9.3 - Qualifiers

    None.

 9.4 - Examples

      The following examples show the various ways you can access
      HELP for the Disk File Optimizer utility:

    1.$ DEFRAGMENT HELP

      This command invokes HELP for the Disk File Optimizer utility
      directly from DCL.

    2.$ HELP DEFRAGMENT

      This command invokes HELP for the Disk File Optimizer utility
      directly from DCL.

    3.DFO> HELP

      This command invokes HELP from within the Disk File Optimizer
      utility.

  10 - MODIFY

    The MODIFY subcommand allows you to change the qualifiers
    associated with a particular script.

    Format

      DEFRAGMENT MODIFY  { script-name } [ /QUALIFIERS ]

 10.1 - Parameters

 script-name

    The script-name parameter identifies the script to modify. You
    can use wildcards in the script-name specification. Use an
    asterisk (*) to take action on all scripts on the VAXcluster
    system; use a percent sign (%) to match a single character in the
    script-name specification.

 10.2 - Restrictions

    o  A script that has the /CONTINUOUS qualifier may not be named
       as the predecessor of another script.

    o  If you specify the /INTERVAL qualifier, the /PREDECESSOR
       qualifier is not allowed.

    o  If /LEVEL=5 is selected, the /LOG qualifier is required.

    o  Do not use /BRIEF and /FULL concurrently.

    o  Do not use /CONTINUOUS and /INTERVAL for a script.

 10.3 - Qualifiers

 10. 3.1 - /AFTER

       /AFTER={time}
       /AFTER={current_time} (default)
       /NOAFTER

          The /AFTER qualifier keeps the script from executing
          until after the specified time.

          You can specify time as either an absolute time or
          as a combination of absolute and delta times. For
          complete information on specifying time values, see
          the OpenVMS User's Manual.

          The /AFTER qualifier has three states. It can be
          specified with a valid time, it can be omitted from
          the command line, or it can be negated (/NOAFTER). If
          /AFTER is specified with a valid time, the script is
          scheduled to execute after that time. If the /AFTER
          qualifier is omitted, the defragmentation software
          processes the command as if the /AFTER qualifier
          were specified with the current time. If /NOAFTER
          is specified, no starting time is associated with
          the script being defined. The /NOAFTER qualifier
          allows you to define a script without scheduling it
          to execute. To subsequently start the script, use the
          START subcommand.

 10. 3.2 - /BRIEF

       /BRIEF (default)
       /NOBRIEF

          The /BRIEF qualifier may only be used when the /LOG
          qualifier is also present. The /BRIEF qualifier
          requests a brief log of all actions taken by the
          defragmentation process. This log includes beginning
          and ending volume status information. The /BRIEF
          and /FULL qualifiers are mutually exclusive, and
          /NOBRIEF produces the same result as /FULL. The
          /BRIEF qualifier is the default.

 10. 3.3 - /CONSOLIDATE_FREESPACE

       /CONSOLIDATE_FREESPACE
       /NOCONSOLIDATE_FREESPACE (default)

          The /CONSOLIDATE_FREESPACE qualifier tells the Disk
          File Optimizer to use its free space consolidation
          algorithm.

 10. 3.4 - /CONTINUOUS

       /CONTINUOUS
       /NOCONTINUOUS (default)

          The /CONTINUOUS qualifier causes the script
          to execute repeatedly. After each successful
          defragmentation operation, the script becomes
          eligible for execution again. As long as any PROCESS_
          LIMITs (see the SET subcommand) are not violated,
          the script executes repeatedly. If all PROCESS_LIMITs
          have been reached, the script is queued until an
          outstanding defragmentation process completes, then
          the script is allowed to execute.

          By default, the defragmentation process associated
          with a script may execute on any appropriately
          licensed node in a cluster. Thus, successive
          defragmentation processes do not necessarily execute
          on the same node.

 10. 3.5 - /DORMANT

       /DORMANT=(file-spec[,...])
       /NODORMANT (default)

          The /DORMANT qualifier indicates files to be
          considered dormant when final file placement
          decisions are made. Dormant files are placed at the
          high end of the volume.

          If a file is indicated in both the DORMANT and
          FREQUENT lists, it is considered dormant. If a file
          is indicated in both the EXCLUDE and DORMANT lists,
          it is excluded.

                                      NOTE

             The amount of free space on the volume, the
             number of files currently being accessed, and
             other factors influence file placement. The
             Disk File Optimizer does not guarantee file
             placement, but makes every effort to place files
             as described.

 10. 3.6 - /EPILOGUE

       /EPILOGUE={file-name}
       /NOEPILOGUE (default)

          The /EPILOGUE qualifier identifies a DCL command file
          which DFO executes upon completion of the DEFRAGMENT
          operation.

          Mounting or dismounting the disks cannot be done
          through the Command file specified.

 10. 3.7 - /EXCLUDE

       /EXCLUDE=(file-spec[,...])
       /NOEXCLUDE (default)

          The /EXCLUDE qualifier specifies files to be excluded
          from processing. The defragmentation process ignores
          files matching the listed file specifications. Any
          file indicated in the EXCLUDE list and in either
          the FREQUENT or DORMANT lists is excluded from
          processing.

                                      NOTE

             The defragmentation process always excludes
             system files, open files, files excluded in an
             options file (/OPTIONS qualifier), and files
             excluded using the /IGNORE qualifier.

 10. 3.8 - /FILES

       /FILES=(file-spec[,...])

          The /FILES qualifier modifies the list of files to be
          defragmented.

 10. 3.9 - /FREQUENT

       /FREQUENT=(file-spec[,...])
       /NOFREQUENT (default)

          The /FREQUENT qualifier indicates files to be
          considered frequently accessed when final file
          placement decisions are made. Frequent files are
          placed toward the center of the volume.

          If a file is indicated in both the FREQUENT and
          DORMANT lists, it is considered dormant. If a file
          is indicated in both the FREQUENT and EXCLUDE lists,
          it is excluded.

                                      NOTE

             The amount of free space on the volume, the
             number of files currently being accessed, and
             other factors influence file placement. The
             Disk File Optimizer does not guarantee file
             placement, but makes every effort to place files
             as described.

 10. 3.10 - /FULL

       /FULL
       /NOFULL (default)

          The /FULL qualifier requests a full log of all
          actions taken by the defragmentation process. The
          /FULL qualifier has no meaning if the /LOG qualifier
          is absent. The /FULL and /BRIEF qualifiers are
          mutually exclusive, and /NOFULL provides the same
          functionality as /BRIEF.

 10. 3.11 - /HOTFILE_DATABASE

       /HOTFILE_DATABASE
       /NOHOTFILE_DATABASE (default)

          The /HOTFILE_DATABASE qualifier causes the
          defragmenter to query the appropriate hotfile
          database and append the list of hotfiles to the
          defragmenter's /FREQUENT file list.

 10. 3.12 - /IGNORE

       /IGNORE=(keyword[,...])
       /IGNORE=(PLACED) (default)
       /NOIGNORE

          The /IGNORE qualifier requests that the
          defragmentation process ignore certain types of files
          as specified by the following keywords:

          o  INDEXED-Ignores all RMS indexed files

          o  NOINDEXED-May defragment RMS indexed files

          o  PLACED-Ignores all files with explicit placement
             flags set in their headers

          o  NOPLACED-May defragment files with explicit
             placement flags

          Files indicated by the /IGNORE qualifier are added to
          the EXCLUDE list.

          The default value (/IGNORE=PLACED) indicates that
          files with explicit placement control should be
          ignored, and that RMS indexed files should be
          defragmented and placed in appropriate locations
          on the volume.

 10. 3.13 - /INTERVAL

       /INTERVAL={delta-time}
       /NOINTERVAL (default)

          Causes a script to execute at regularly scheduled
          intervals. The /INTERVAL qualifier specifies the
          minimum time between two consecutive executions of a
          script.

          Specify time as a delta time. Refer to the OpenVMS
          User's Manual for more information on specifying
          times. If you do not specify a time with the
          /INTERVAL qualifier, a default value of 1 day is
          used. This value causes the associated script to run
          every 24 hours.

          If you specify the /AFTER qualifier with the
          /INTERVAL qualifier, the first defragmentation
          operation occurs at or after the time specified
          by the /AFTER qualifier; all subsequent operations
          execute at intervals set according to the /INTERVAL
          qualifier.

 10. 3.14 - /LEVEL

       /LEVEL={n}
       /LEVEL=2 (default)

          The defragmentation process selects files for
          defragmentation (from among those not excluded) based
          on the /LEVEL qualifier. Once a file is selected as
          a candidate, the defragmentation process attempts
          to fully defragment that file (make it 100 percent
          contiguous). Specify the level number as an integer
          ranging from one to five:

          o  /LEVEL=1

             Any file that is not 100 percent contiguous, or
             that can be selected using levels two and three,
             is a candidate for defragmentation.

          o  /LEVEL=2 (default)

             Any file whose extents cannot be completely
             mapped by the mapping window, or that can be
             selected using level three, is a candidate for
             defragmentation. The default window value is seven
             and can be set for a given volume using:

             $ SET VOLUME {device-spec}/WINDOWS=[n]

          o  /LEVEL=3

             Any file with retrieval pointers in more than one
             file header is a candidate for defragmentation.

          o  /LEVEL=4

             The defragmentation process for level four
             processing performs only free space consolidation.
             This level is used with the /CONSOLIDATE_FREESPACE
             qualifier.

          o  /LEVEL=5

             This level requests a volume analysis only;
             no defragmentation occurs. The statistical
             results are available in the log file, which is
             required when /LEVEL=5 is selected (see the /LOG
             qualifier). If level 5 is selected, the /LEVEL=2
             candidate file specifications are listed in the
             full log file.

 10. 3.15 - /LOG

       /LOG={file-spec}
       /NOLOG (default)

          The /LOG qualifier causes the defragmentation process
          to create a file containing a list of all its
          operations. The information in the log file varies
          with the presence of the /FULL or /BRIEF qualifiers.
          The /FULL qualifier lists all files analyzed by the
          defragmentation process and reports their disposition
          during each phase of defragmentation. The /BRIEF
          qualifier lists only the statistics of each phase,
          such as number of files analyzed, and number of files
          defragmented.

 10. 3.16 - /MAIL_NOTIFICATION

       /MAIL_NOTIFICATION
       /NOMAIL_NOTIFICATION (default)

          The /MAIL_NOTIFICATION qualifier requests that
          brief status and termination messages regarding
          defragmentation processes be mailed to the mail
          distribution list provided in the file DFG$MAIL_
          ADDRESS.

 10. 3.17 - /NODE

       /NODE=(node-name[,...])
       /NONODE (default)

          The /NODE qualifier limits the scope of the
          DEFRAGMENT command to the node or set of nodes
          specified by /NODE=(node-name). By default,
          defragmentation processes may execute on any LMF
          licensed node in the system.

 10. 3.18 - /OPCOM_NOTIFICATION

       /OPCOM_NOTIFICATION (default)
       /NOOPCOM_NOTIFICATION

          The /OPCOM_NOTIFICATION qualifier requests that
          brief status and termination messages regarding
          defragmentation processes be sent to OPCOM.

 10. 3.19 - /OPTIONS

       /OPTIONS={file-spec}
       /NOOPTIONS (default)

          The /OPTIONS qualifier provides an alternate method
          for associating files with the /DORMANT, /EXCLUDE, or
          /FREQUENT qualifiers. If the list of files for any of
          these qualifiers is long, you can create a separate
          file for this information. Each record in the options
          file consists of a file name followed by one of the
          following keywords:

          o  /EXCLUDE-File to be excluded

          o  /FREQUENT-File to be considered frequently
             accessed

          o  /DORMANT-File to be considered dormant

          The following example shows the contents of an
          options file called MYOPTFILE.OPT. This file
          specifies that all files on the target device called
          FILE1.EXE are frequent files, all files in the
          [ARCHIVE] directory are to be excluded, and all files
          in the [OLDSTUFF] directory and its subdirectories
          are dormant.

          FILE1.EXE/FREQUENT
          [ARCHIVE]*.*;*/EXCLUDE
          [OLDSTUFF...]*.*;*/DORMANT

          Files indicated by the /EXCLUDE qualifier and by
          either the /DORMANT or /FREQUENT qualifier are
          excluded. Files indicated by the /DORMANT qualifier
          and by the /FREQUENT qualifier are considered
          dormant. This rule is applied equally across all
          files specified in the /OPTIONS file, as well as
          those associated with these qualifiers on the command
          line.

 10. 3.20 - /PREDECESSOR

       /PREDECESSOR={script-name}
       /NOPREDECESSOR (default)

          The /PREDECESSOR qualifier identifies the name of
          the script that precedes the execution of this script
          in a linked set of scripts. These scripts execute in
          sequence; one successfully completes before the next
          one begins.

          The predecessor script name must exist in the
          scheduling database or an error status message is
          returned. You can use wildcards in the script-name
          specification. Use an asterisk (*) to take action on
          all scripts on the VAXcluster system; use a percent
          sign (%) to match a single character in the script-
          name specification.

 10. 3.21 - /PRIORITY

       /PRIORITY=(DEFAULT=n, MINIMUM=n)
       /NOPRIORITY (default)

          The /PRIORITY qualifier specifies priorities for the
          defragment process. The minimum priority setting is
          used when the defragmentation process exceeds the
          value specified by either /CPU_LIMIT or /IO_LIMIT.

 10. 3.22 - /PROLOGUE

       /PROLOGUE={file-name}
       /NOPROLOGUE (default)

          The /PROLOGUE qualifier identifies a DCL command
          file which DFO executes just before the Defragment
          operation starts.

          Mounting or dismounting the disks cannot be done
          through the Command file specified.

 10. 3.23 - /RVN

       /RVN=n
       /RVN=0 (default)

          When you have a bound volume set, use this qualifier
          to identify a disk from the volume set or all disks
          in the volume set. The default of zero tells the Disk
          File Optimizer to defragment all disks in the bound
          volume set. Specify a relative volume number (RVN)
          to defragment a specific disk that belongs to a bound
          volume set.

 10. 3.24 - /SCRIPT

       /SCRIPT={script-name}
       /NOSCRIPT (default)

          The /SCRIPT qualifier assigns a new name to a
          script. If a duplicate script-name is selected,
          defragmentation software issues a duplicate script
          name error message and does not enter the new script
          into the database-no defragmentation takes place.

          A script name may be up to 64 characters in length
          and may contain any of the following characters:

          o  Any alphanumeric character

          o  Underscore ( _ )

          o  Hyphen ( - )

          o  Dollar sign ( $ )

          Observe the following rules when naming a script:

          o  Use any combination of uppercase and lowercase
             letters.

          o  Do not begin script names using the dollar sign.
             However, you can include the dollar sign within
             the script name. (The dollar sign is reserved for
             special use by HP.)

          o  Do not end a script name with a hyphen, since the
             hyphen is the DCL continuation character.

          The OpenVMS User's Manual contains more information
          on naming conventions.

 10. 3.25 - /TIME_LIMIT

       /TIME_LIMIT={delta-time}
       /NOTIME_LIMIT (default)

          The /TIME_LIMIT qualifier specifies the maximum
          elapsed time allowed for a given defragmentation
          operation. If the time limit is exceeded, the
          defragmentation process is aborted.

          Specify time as a delta time. Refer to the OpenVMS
          User's Manual for more information on specifying
          times.

          For linked scripts, the time limit of the first
          script applies to the whole set. Time limits
          specified with successor scripts apply to these
          scripts only.

          If the time limit is set unreasonably low, the
          defragmentation process may not accomplish useful
          defragmentation.

 10. 3.26 - /VOLUME

       /VOLUME={volume-name}
       /NOVOLUME (default)

          Identifies the volume where the files reside.

 10. 3.27 - /WRITE_CHECK

       /WRITE_CHECK
       /NOWRITE_CHECK (default)

          The /WRITE_CHECK qualifier requests that a read-
          after-write check be performed on all defragmented
          or placed files. This qualifier significantly extends
          the execution time of a defragmentation process.

 10.4 - Examples

      The following examples show how to modify an existing scripts
      using the common qualifiers:

    1.$ DEFRAGMENT MODIFY C/SCRIPT=A

      This command changes the name of script C to A.

    2.$ DEFRAGMENT MODIFY */MAIL_NOTIFICATION

      This command turns on mail notification for all scripts in the
      database.

    3.$ DEFRAGMENT MODIFY myscript/LOG=new_log/NOPREDECESSOR

      This command causes subsequent executions of myscript to
      generate a log file called NEW_LOG.LOG, located in the user's
      default directory. The NOPREDECESSOR qualifier disassociates
      myscript from its predecessor. However, any script for which
      myscript is a predecessor remains dependent upon the execution
      of myscript.

    4.$ DEFRAGMENT MODIFY *C/SCRIPT=*D

      This command changes the name of each script that ends in C to
      end in D. For instance, DAILYC becomes DAILYCD.

  11 - MONITOR

    The MONITOR subcommand displays the the progress of an ongoing
    defragmentation processes on a terminal.

    Format

      DEFRAGMENT MONITOR  { script-name|volume-name } [ /QUALIFIERS ]

 11.1 - Parameters

 script-name|volume-name

    The parameter for the MONITOR subcommand is either a script name
    or a volume name for Defrag PLUS. You can use wildcards in the
    script-name specification. Use an asterisk (*) to take action on
    all scripts on the VAXcluster system; use a percent sign (%) to
    match a single character in the script-name specification.

    If a volume name is supplied, then you must use the /VOLUME
    qualifier to tell Defrag PLUS the parameter is a volume name,
    rather than a script name.

 11.2 - Restrictions

    o  If a volume name is entered as a parameter, the /VOLUME
       qualifier must be used.

 11.3 - Qualifiers

 11. 3.1 - /CONTINUOUS

       /CONTINUOUS (default)
       /NOCONTINUOUS

          The /CONTINUOUS qualifier invokes a continuous
          monitor display. Entering Ctrl/C, Ctrl/Y, or Ctrl
          /Z terminates this display.

          Using /NOCONTINUOUS provides a snapshot display and
          then returns to the DCL prompt.

 11. 3.2 - /VOLUME

       /VOLUME (default)
       /NOVOLUME

          The /VOLUME qualifier indicates that a volume name
          instead of a script name is present on the command
          line. The /VOLUME qualifier must be used when a
          volume name is provided as a parameter to the MONITOR
          subcommand.

 11.4 - Examples

      The following are examples of invoking the monitor:

    1.$ DEFRAGMENT MONITOR MY_SCRIPT/NOVOLUME

      In this example, the monitor function displays ongoing run-time
      statistics for the defragmentation process associated with MY_
      SCRIPT. It also displays an approximate free-space map of the
      target volume. The display continues until interrupted with a
      Ctrl/C, Ctrl/Y, or Ctrl/Z because the /CONTINUOUS qualifier is
      present by default.

    2.$ DEFRAGMENT MONITOR DISK$ONE/NOCONTINUOUS

      In this example, the defragmentation process executing against
      DISK$ONE is monitored. Since the /NOCONTINUOUS qualifier was
      specified, the monitor function samples the defragmentation
      process statistics and the free space on DISK$ONE one time
      before exiting to the DCL prompt.

  12 - OFFLINE_VOLUME

    The DEFRAGMENT OFFLINE_VOLUME command defragments the INDEXF.SYS
    file on the offline volume given as a parameter to the command
    line according to the defragment command line qualifiers.

    Format

      DEFRAGMENT OFFLINE_VOLUME  { volume-name } [ /QUALIFIERS ]

                                 [ /QUALIFIERS ])

 12.1 - Parameters

 volume-name

    The volume-name is the name of the volume containing the
    INDEXF.SYS file to be defragmented.

 12.2 - Restrictions

    o  This command is only valid on a disk device that is not
       mounted. If the device is mounted, an error occurs and the
       process will abort. This command cannot work on the system
       disk because it is always mounted.

    o  For a bound volume set, this utility only works on the "ROOT"
       volume.

    o  For disk volumes in a shadow set (single member or otherwise),
       the following restrictions apply:

       o  Do not specify the virtual unit name to defragment (for
          example: DSAnnnn:).

       o  Specify only one physical device name (for example:
          $1$DUAnnnn:).

       o  Use the following procedure to defragment INDEXF.SYS in a
          shadow set:

          1. Dismount both members of the shadow set.

          2. Mount one of the physical disk volumes with
             /OVERRIDE=SHADOW and then dismount it before doing the
             defragmentation. If you do not do this, you will receive
             the following error:

             %SYSTEM-F-WRITLCK, write lock error

          3. Defragment the INDEXF.SYS on the disk volume.

          4. Mount the disk volume into the shadow set.

          5. Add the disk volume that was not defragmented into the
             shadow set. Mounting this disk volume causes a full copy
             operation.

       o  If you experience a power failure during the
          defragmentation of INDEXF.SYS, you may need to do the
          following:

          -  Repair alternate index file header and index file bitmap
             by doing a ANALYZE/DISK/REPAIR.

          -  Delete disk:[000000]DFG$DEFRAG_INDEXF.DAT.

 12.3 - Qualifiers

 12. 3.1 - /AFTER

       /AFTER={time}
       /AFTER={current_time} (default)
       /NOAFTER

          The /AFTER qualifier keeps the script from executing
          until after the specified time.

          You can specify time as either an absolute time or
          as a combination of absolute and delta times. For
          complete information on specifying time values, see
          the OpenVMS User's Manual.

          The /AFTER qualifier has three states. It can be
          specified with a valid time, it can be omitted from
          the command line, or it can be negated (/NOAFTER). If
          /AFTER is specified with a valid time, the script is
          scheduled to execute after that time. If the /AFTER
          qualifier is omitted, the defragmentation software
          processes the command as if the /AFTER qualifier
          were specified with the current time. If /NOAFTER
          is specified, no starting time is associated with
          the script being defined. The /NOAFTER qualifier
          allows you to define a script without scheduling it
          to execute. To subsequently start the script, use the
          START subcommand.

 12. 3.2 - /EPILOGUE

       /EPILOGUE={file-name}
       /NOEPILOGUE (default)

          The /EPILOGUE qualifier identifies a DCL command file
          which DFO executes upon completion of the DEFRAGMENT
          operation.

          Mounting or dismounting the disks cannot be done
          through the Command file specified.

 12. 3.3 - /INTERVAL

       /INTERVAL={delta-time}
       /NOINTERVAL (default)

          The /INTERVAL qualifier executes a script at
          regularly scheduled intervals. The /INTERVAL
          qualifier specifies the minimum time between two
          consecutive executions of a script.

          Specify time as a delta time. Refer to the OpenVMS
          User's Manual for more information on specifying
          times. If you do not specify a time with the
          /INTERVAL qualifier, a default value of 1 day is
          used. This value causes the associated script to run
          every 24 hours.

          If you specify the /AFTER qualifier with the
          /INTERVAL qualifier, the first defragmentation
          operation occurs at or after the time specified
          by the /AFTER qualifier; all subsequent operations
          execute at intervals set according to the /INTERVAL
          qualifier.

 12. 3.4 - /LOG

       /LOG={file-spec}
       /NOLOG (default)

          The /LOG qualifier causes the defragmentation
          process to create a file containing a list of all
          its operations.

 12. 3.5 - /MAIL_NOTIFICATION

       /MAIL_NOTIFICATION
       /NOMAIL_NOTIFICATION (default)

          The /MAIL_NOTIFICATION qualifier requests that
          brief status and termination messages regarding
          defragmentation processes be mailed to the mail
          distribution list provided in the file DFG$MAIL_
          ADDRESS.

 12. 3.6 - /NODE

       /NODE=(node-name[,...])
       /NONODE (default)

          The /NODE qualifier limits the scope of the
          DEFRAGMENT command to the node or set of nodes
          specified by /NODE=(node-name). By default,
          defragmentation processes may execute on any LMF
          licensed node in the system.

 12. 3.7 - /OPCOM_NOTIFICATION

       /OPCOM_NOTIFICATION (default)
       /NOOPCOM_NOTIFICATION

          The /OPCOM_NOTIFICATION qualifier requests that
          brief status and termination messages regarding
          defragmentation processes be sent to OPCOM.

 12. 3.8 - /PROLOGUE

       /PROLOGUE={file-name}
       /NOPROLOGUE (default)

          The /PROLOGUE qualifier identifies a DCL command
          file which DFO executes just before the Defragment
          operation starts.

          Mounting or dismounting the disks cannot be done
          through the Command file specified.

 12. 3.9 - /SCRIPT

       /SCRIPT={script-name}
       /NOSCRIPT (default)

          The /SCRIPT qualifier assigns a user-supplied name
          to a script. If a duplicate script-name is selected,
          defragmentation software issues a duplicate script
          name error message and does not enter the new script
          into the database-no defragmentation takes place.

          A script name may be up to 64 characters in length
          and may contain any of the following characters:

          o  Any alphanumeric character

          o  Underscore ( _ )

          o  Hyphen ( - )

          o  Dollar sign ( $ )

          Observe the following rules when naming a script:

          o  You may use any combination of uppercase and
             lowercase letters.

          o  You cannot begin script names using the dollar
             sign, but you can include the dollar sign within
             the script name. (The dollar sign is reserved for
             special use by HP.)

          o  You should not end a script name with a hyphen,
             since the hyphen is the DCL continuation
             character.

 12.4 - Examples

      The following examples illustrate how to use the OFFLINE_VOLUME
      subcommand and its qualifiers.

    1.$ DEFRAGMENT OFFLINE_VOLUME $1$DKB100:-
          /SCRIPT=DEFRAG_OFFLINE_USER1-
          /NOAFTER
      $ DISMOUNT/CLUSTER $1$DKB100:
      $ MOUNT/OVER=ID $1$DKB100:
      $ ANALYZE/DISK_STRUCTURE $1$DKB100:
      $ DISMOUNT $1$DKB100:
      $ DEFRAGMENT START DEFRAG_OFFLINE_USER1
      $ MOUNT/OVER=ID $1$DKB100:
      $ ANALYZE/DISK_STRUCTURE $1$DKB100:
      $ DISMOUNT $1$DKB100:
      $ MOUNT/CLUSTER $1$DKB100: USER1

      In this example, the following is performed:

      1. Create script to defragment INDEXF.SYS on volume

      2. Dismount volume from the cluster

      3. Mount volume privately to analyze disk structure

      4. Check volume for readability and validity of Files-11
         structure information

      5. Dismount volume to defragment INDEXF.SYS

      6. Start OFFLINE_VOLUME script

      7. Mount volume privately to analyze disk structure

      8. Check volume for readability and validity of Files-11
         structure information

      9. Dismount volume

     10. Mount volume into the cluster

  13 - REMOVE

    The REMOVE subcommand deletes the specified script or node from
    the defragmentation scheduling and parameter database.

    Format

      DEFRAGMENT REMOVE  { script-name[,...] | node-name[,...] }

                         [ /QUALIFIERS ]

 13.1 - Parameters

 script-name

    The script-name parameter specifies the script to remove from the
    defragmentation database. You can use wildcards in the script-
    name specification. Use an asterisk (*) to take action on all
    scripts on the VAXcluster system; use a percent sign (%) to match
    a single character in the script-name specification.

    This parameter is not allowed if the /ALL qualifier is used.

 node-name

    The node-name parameter specifies the node to remove from the
    defragmentation database.

 13.2 - Restrictions

    o  If the /ALL qualifier is used, then the script-name parameter
       cannot be used.

    o  If the node is a script, it cannot be removed.

    o  If the node has a scheduler or defragmentation process
       running, it cannot be removed.

 13.3 - Qualifiers

 13. 3.1 - /AFTER

       /AFTER=time
       /NOAFTER (default)

          The /AFTER qualifier does not delete the script
          until after the specified time. Specify time as a
          VMS absolute time or combination absolute and delta
          time. Refer to the OpenVMS User's Manual for more
          information on how to specify time.

 13. 3.2 - /ALL

       /ALL
       /NOALL (default)

          The /ALL qualifier indicates that all scripts are
          to be removed from the scheduling and parameter
          database.

          If /ALL is used, the script-name parameter is not
          allowed.

 13. 3.3 - /NODE

       /NODE

          The /NODE qualifier removes the specified node name
          from the scheduling and parameter database.

 13.4 - Examples

      The following example shows how to remove a script after a
      specified time:

    1.$ DEFRAGMENT REMOVE MY_SCRIPT/AFTER=16:30

      In this example, MY_SCRIPT is removed from the database. It is
      removed after 16:30 on the day this command is entered.

    2.$ DEFRAGMENT REMOVE MYNODE/NODE

      In this example, MYNODE is removed from the database.

  14 - SET

    The SET subcommand defines or changes the value of the
    defragmentation process limits.

    Format

      DEFRAGMENT SET  { (parameter=value[,...]) } [ /QUALIFIERS ]

 14.1 - Parameters

 keywords:

    o  CPU_LIMIT specifies the percent of CPU usage for any one
       defragmentation process. The CPU percent is the percent of
       a single CPU.

    o  IO_LIMIT specifies the maximum direct I/O rate (per second) of
       any one defragmentation process.

    o  PROCESS_LIMIT specifies the maximum number of defragmentation
       processes per node.

 14.2 - Restrictions

    o  None.

 14.3 - Qualifiers

 14. 3.1 - /NODE

       /NODE=(node-name[,...])
       /NONODE (default)

          The /NODE qualifier limits the scope of the SET
          subcommand. By default, a given parameter is set
          identically on all nodes in the scheduling database.
          To limit parameters to fewer nodes, specify the node
          names with the /NODE qualifier.

 14.4 - Examples

      The following examples show how to set limits using the SET
      subcommand and its qualifiers:

    1.$ DEFRAGMENT SET PROCESS_LIMIT=3, IO_LIMIT=14/NODE=NODE_1

      In this example, the maximum number of defragmentation
      processes that can occur on NODE_1 is 3. Further, a restriction
      of 14 direct I/Os per second is placed on each of these 3
      defragmentation processes.

    2.$ DEFRAGMENT SET CPU_LIMIT=50

      In this example, the maximum CPU resources allocated to any
      defragmentation process is set to 50 percent on all nodes in
      the system. If a defragmentation process exceeds this limit,
      its priority is decremented each minute (approximately) until
      it reaches the SYSGEN parameter, DEFPRI, minus 1.

  15 - SHOW

    The SHOW subcommand displays information about the fragmentation
    state of the given volume and information from the scheduling
    database.

    Format

      DEFRAGMENT SHOW  { script-name|volume-name } [ /QUALIFIERS ]

 15.1 - Parameters

 script-name|volume-name

    The parameter for the SHOW subcommand is either a script name
    or a volume name. Names can be omitted if the /ALL qualifier
    is used. If a script name is supplied or if the /PARAMETERS
    qualifier is specified, the SHOW command queries the scheduling
    database and displays this information. You can use wildcards in
    the script-name specification. Use an asterisk (*) to take action
    on all scripts on the VAXcluster system; use a percent sign (%)
    to match a single character in the script-name specification.

    If a volume name is supplied (/VOLUME required), the SHOW
    command displays information about the fragmentation state of
    the specified volume. A list of names can be provided, but the
    list cannot contain both script and volume names.

 15.2 - Restrictions

    o  If showing a script or volume, do not use the /ALL qualifier

    o  If showing a volume, then you must use the /VOLUME qualifier

 15.3 - Qualifiers

 15. 3.1 - /ALL

       /ALL
       /NOALL (default)

          The /ALL qualifier is used to show information from
          the scheduling database. It displays information
          about all scripts and parameters in the scheduling
          database. If /ALL is used, the script-name parameter
          is not allowed.

 15. 3.2 - /COMMAND_LINE

       /COMMAND_LINE
       /NOCOMMAND_LINE (default)

          The /COMMAND_LINE qualifier is used to show
          information from the scheduling database. It
          formats the output of the SHOW subcommand as a valid
          DEFRAGMENT command line. Thus, all the data in the
          scheduling database can be extracted into a file (
          /ALL/COMMAND_LINE/OUTPUT=file.ext).

 15. 3.3 - /DEVICE

       /DEVICE=(device_spec[,device_spec])...

          The /DEVICE qualifier selects only the named scripts
          on the specified devices.

 15. 3.4 - /FILE_LIST

       /FILE_LIST=(min_extents)
       /FILE_LIST=(VOL_MAP_WINDOW + 1) (default)

          The /FILE_LIST qualifier is used to show the
          fragmentation state of a volume. It lists all files
          on the volume that have min_extents or more extents
          (fragments). By default, the number of file window
          mapping pointers set for the volume (INITIALIZE
          {volume}/WINDOW=n) plus one is used. This value lists
          all files that require at least one window turn to
          completely map.

 15. 3.5 - /FREE_LIST

       /FREE_LIST
       /NOFREE_LIST (default)

          The /FREE_LIST qualifier is used to show the
          fragmentation state of the volume. It lists the
          location and size of all of the freespace extents
          on the volume.

 15. 3.6 - /HISTOGRAM

       /HISTOGRAM
       /NOHISTOGRAM (default)

          The /HISTOGRAM qualifier is used to show the
          fragmentation state of a volume. It generates two
          histograms. The first plots the number of files
          against the number of extents per file and provides
          information about how many files are fragmented and
          how badly they are fragmented. The second histogram
          plots the number of freespace extents (holes) against
          the size of these freespace extents. It provides
          information about how many freespace extents are on
          the volume and their sizes.

 15. 3.7 - /LOCATION

       /LOCATION=(file-spec[,...])
       /NOLOCATION

          The /LOCATION qualifier is used to show the
          fragmentation state of the volume. It prints the
          extents (fragments) associated with all specified
          files. If no files are specified, the /LOCATION
          qualifier appends location information to all files
          listed with the /FILE_LIST qualifier. The supplied
          file-spec may contain wildcards in place of the
          directory, file name, extension, or version fields.

 15. 3.8 - /NAMES

       /NAMES

          The /NAMES qualifier lists only the first line of
          the usual show output. The first line of the script
          includes the name of the script, whether the script
          is enabled or disabled, and the target device for the
          script.

 15. 3.9 - /NODE

       /NODE=(node-name[,...])
       /NONODE (default)

          The /NODE qualifier selects only those scripts and
          node names that are specified on the command line.

          When used with the /PARAMETERS qualifier, the /NODE
          qualifier displays CPU_LIMIT, IO_LIMIT, and PROCESS_
          LIMIT information for specified nodes only. If
          the /NODE qualifier is not used, the /PARAMETERS
          qualifier displays this information for all nodes in
          the scheduling database.

 15. 3.10 - /OUTPUT

       /OUTPUT={file-spec}
       /OUTPUT=SYS$OUTPUT (default)

          The /OUTPUT qualifier may be used to show the volume
          fragmentation state or to show information from the
          scheduling database. It directs the output of the
          SHOW subcommand to a file. By default, output is
          directed to SYS$OUTPUT.

 15. 3.11 - /PARAMETERS

       /PARAMETERS
       /NOPARAMETERS (default)

          The /PARAMETERS qualifier is used to show information
          from the scheduling database. It displays the CPU_
          LIMIT, IO_LIMIT, and PROCESS_LIMIT settings for all
          nodes in the scheduling database (unless specific
          nodes are designated with the /NODE qualifier). By
          default, these settings are not shown.

 15. 3.12 - /RUNNING

       /RUNNING

          The /RUNNING qualifier shows scripts that are
          currently running.

 15. 3.13 - /STATISTICS

       /STATISTICS (default)
       /NOSTATISTICS

          The /STATISTICS qualifier is used to show the volume
          fragmentation state. It provides a summary of the
          file and free space fragmentation for the volume.

 15. 3.14 - /VOLUME

       /VOLUME
       /NOVOLUME (default)

          The /VOLUME qualifier must be used to show the
          fragmentation state of a volume. It indicates that
          any parameter supplied on the command line is a
          volume name instead of a script name. The /VOLUME
          qualifier is incompatible with any of the qualifiers
          used to show database information except the /OUTPUT
          qualifier.

 15.4 - Examples

      The following are examples of the SHOW subcommand and its
      qualifiers:

    1.$ DEFRAGMENT SHOW/PARAMETERS

      In this example, the current values of CPU_LIMIT, IO_LIMIT
      and PROCESS_LIMIT for all nodes in the scheduling database are
      shown.

    2.$ DEFRAGMENT SHOW MY_SCRIPT/OUTPUT=OUTPUT.TXT

      In this example, information associated with MY_SCRIPT is
      displayed. No parameter information is displayed. Output is
      directed to a file called OUTPUT.TXT.

                                   NOTE

       If output is directed to a filename without extension, the
       file is given a default extension of .lis.

    3.     $ DEFRAGMENT SHOW MY_SCRIPT/COMMAND_LINE/PARAMETERS

      In this example, information associated with MY_SCRIPT is
      displayed. The current values of CPU_LIMIT, IO_LIMIT and
      PROCESS_LIMIT for all nodes in the scheduling database are also
      shown. The format for the information is a valid DEFRAGMENT
      command line. Output is directed to the user's SYS$OUTPUT
      device. If output is directed to a filename without extension,
      the file is given a default extension of .lis.

    4.$ DEFRAGMENT SHOW MY_VOLUME/OUTPUT=OUTPUT.TXT

      In this example, information associated with MY_VOLUME is
      displayed. Output is directed to a file called OUTPUT.TXT.

    5.$ DEFRAGMENT SHOW DISK$ONE/VOLUME/HISTOGRAM

      In this example, the volume fragmentation report includes the
      summary statistics (/STATISTICS is default) and histograms for
      both file fragmentation and freespace fragmentation. The report
      is sent to the SYS$OUTPUT device.

  16 - SPAWN

    The Disk File Optimizer SPAWN subcommand creates a subprocess and
    executes a DCL command in the subprocess, or transfers terminal
    control to the subprocess if no command is supplied.

    Format

      DEFRAGMENT SPAWN  [ command ]

 16.1 - Parameters

 command

    This is a DCL command string of less than 132 characters that
    is to be executed in the context of the created subprocess.
    After the command is executed, the subprocess terminates and
    control returns to the parent process. A command is optional. If
    no command is supplied, control passes to DCL.

 16.2 - Restrictions

    None.

 16.3 - Qualifiers

    None.

 16.4 - Examples

      The following are examples of the SPAWN command:

    1.$ DEFRAGMENT
      DFO> SPAWN
      $

      The SPAWN command creates a subprocess and transfers terminal
      control to the created subprocess.

    2.
      DFO> SPAWN SHOW DEFAULT
         DISK$1:[JONES]
      DFO>

      The SPAWN command creates a subprocess and executes the DCL
      command SHOW DEFAULT in the created subprocess. Control then
      returns to the Disk File Optimizer parent process.

  17 - START

    The START subcommand starts the specified script.

    Format

      DEFRAGMENT START  { script-name[,...] } [ /QUALIFIERS ]

 17.1 - Parameters

 script-name

    The script-name parameter is the name of the script(s) to be
    started. You can use wildcards in the script-name specification.
    Use an asterisk (*) to take action on all scripts on the
    VAXcluster system; use a percent sign (%) to match a single
    character in the script-name specification.

 17.2 - Restrictions

    None.

 17.3 - Qualifiers

 17. 3.1 - /AFTER

       /AFTER=time
       /NOAFTER (default)

          The /AFTER qualifier keeps the script from starting
          until after the specified time.

          You can specify time as either an absolute time or
          as a combination of absolute and delta times. For
          complete information on specifying time values, see
          the OpenVMS User's Manual.

 17.4 - Examples

      The following example shows how to start a script:

    1.$ DEFRAGMENT START MY_SCRIPT/AFTER=16:30

      In this example, MY_SCRIPT is started. The /AFTER qualifier
      stipulates that MY_SCRIPT should start after 16:30 of the
      day this command is submitted. If the script is periodic, the
      period is unchanged.

  18 - VOLUME

    The DEFRAGMENT VOLUME subcommand defragments the volume named
    on the command line according to the defragment command line
    qualifiers.

    Format

      DEFRAGMENT VOLUME   { volume-name } [ /QUALIFIERS ]

 18.1 - Parameters

 volume-name

    The volume-name parameter is the name of the volume to be
    defragmented.

 18.2 - Restrictions

    o  A script that has the /CONTINUOUS qualifier may not be named
       as the predecessor of another script.

    o  If you specify the /INTERVAL qualifier, the /PREDECESSOR
       qualifier is not allowed.

    o  If /LEVEL=5 is selected, the /LOG qualifier is required.

    o  Do not use /BRIEF and /FULL concurrently.

    o  Do not use /CONTINUOUS and /INTERVAL for a script.

 18.3 - Qualifiers

 18. 3.1 - /AFTER

       /AFTER={time}
       /AFTER={current_time} (default)
       /NOAFTER

          The /AFTER qualifier keeps the script from executing
          until after the specified time.

          You can specify time as either an absolute time or
          as a combination of absolute and delta times. For
          complete information on specifying time values, see
          the OpenVMS User's Manual.

          The /AFTER qualifier has three states. It can be
          specified with a valid time, it can be omitted from
          the command line, or it can be negated (/NOAFTER). If
          /AFTER is specified with a valid time, the script is
          scheduled to execute after that time. If the /AFTER
          qualifier is omitted, the defragmentation software
          processes the command as if the /AFTER qualifier
          were specified with the current time. If /NOAFTER
          is specified, no starting time is associated with
          the script being defined. The /NOAFTER qualifier
          allows you to define a script without scheduling it
          to execute. To subsequently start the script, use the
          START subcommand.

 18. 3.2 - /BRIEF

       /BRIEF (default)
       /NOBRIEF

          The /BRIEF qualifier has meaning only when the /LOG
          qualifier is also present. The /BRIEF qualifier
          requests a brief log of all actions taken by the
          defragmentation process. This log includes beginning
          and ending volume status information. The /BRIEF
          and /FULL qualifiers are mutually exclusive, and
          /NOBRIEF produces the same result as /FULL. The
          /BRIEF qualifier is the default.

 18. 3.3 - /CONSOLIDATE_FREESPACE

       /CONSOLIDATE_FREESPACE (default)
       /NOCONSOLIDATE_FREESPACE

          The /CONSOLIDATE_FREESPACE qualifier tells the Disk
          File Optimizer to use its free space consolidation
          algorithm.

 18. 3.4 - /CONTINUOUS

       /CONTINUOUS
       /NOCONTINUOUS (default)

          The /CONTINUOUS qualifier causes the script
          to execute repeatedly. After each successful
          defragmentation operation, the script becomes
          eligible for execution again. As long as any PROCESS_
          LIMITs (see the SET subcommand) are not violated,
          the script executes repeatedly. If all PROCESS_LIMITs
          have been reached, the script is queued until an
          outstanding defragmentation process completes, then
          the script is allowed to execute.

          By default, the defragmentation process associated
          with a script may execute on any appropriately
          licensed node in a cluster. Thus, successive
          defragmentation processes do not necessarily execute
          on the same node.

 18. 3.5 - /DORMANT

       /DORMANT=(file-spec[,...])
       /NODORMANT (default)

          The /DORMANT qualifier indicates files to be
          considered dormant when final file placement
          decisions are made. Dormant files are placed at the
          high end of the volume.

          If a file is indicated in both the DORMANT and
          FREQUENT lists, it is considered dormant. If a file
          is indicated in both the EXCLUDE and DORMANT lists,
          it is excluded.

                                      NOTE

             The amount of free space on the volume, the
             number of files currently being accessed, and
             other factors influence file placement. The
             Disk File Optimizer does not guarantee file
             placement, but makes every effort to place files
             as described.

 18. 3.6 - /EPILOGUE

       /EPILOGUE={file-name}
       /NOEPILOGUE (default)

          The /EPILOGUE qualifier identifies a DCL command file
          which DFO executes upon completion of the DEFRAGMENT
          operation.

          Mounting or dismounting the disks cannot be done
          through the Command file specified.

 18. 3.7 - /EXCLUDE

       /EXCLUDE=(file-spec[,...])
       /NOEXCLUDE (default)

          The /EXCLUDE qualifier specifies files to be excluded
          from processing. The defragmentation process ignores
          files matching the listed file specifications. Any
          file indicated in the EXCLUDE list and in either
          the FREQUENT or DORMANT lists is excluded from
          processing.

                                      NOTE

             The defragmentation process always excludes
             system files, open files, files excluded in an
             options file (/OPTIONS qualifier), and files
             excluded using the /IGNORE qualifier.

 18. 3.8 - /FREQUENT

       /FREQUENT=(file-spec[,...])
       /NOFREQUENT (default)

          The /FREQUENT qualifier indicates files to be
          considered frequently accessed when final file
          placement decisions are made. Frequent files are
          placed to optimize access speed.

          If a file is indicated in both the FREQUENT and
          DORMANT lists, it is considered dormant. If a file
          is indicated in both the FREQUENT and EXCLUDE lists,
          it is excluded.

                                      NOTE

             The amount of free space on the volume, the
             number of files currently being accessed, and
             other factors influence file placement. The
             Disk File Optimizer does not guarantee file
             placement, but makes every effort to place files
             as described.

 18. 3.9 - /FULL

       /FULL
       /NOFULL (default)

          The /FULL qualifier requests a full log of all
          actions taken by the defragmentation process. The
          /FULL qualifier has no meaning if the /LOG qualifier
          is absent. The /FULL and /BRIEF qualifiers are
          mutually exclusive, and /NOFULL provides the same
          functionality as /BRIEF.

 18. 3.10 - /HOTFILE_DATABASE

       /HOTFILE_DATABASE
       /NOHOTFILE_DATABASE (default)

          The /HOTFILE_DATABASE qualifier causes the
          defragmenter to query the appropriate hotfile
          database and append the list of hotfiles to the
          defragmenter's /FREQUENT file list.

 18. 3.11 - /IGNORE

       /IGNORE=(keyword[,...])
       /IGNORE=(PLACED) (default)
       /NOIGNORE

          The /IGNORE qualifier requests that the
          defragmentation process ignore certain types of files
          as specified by the following keywords:

          o  INDEXED-Ignores all RMS indexed files

          o  NOINDEXED-May defragment RMS indexed files

          o  PLACED-Ignores all files with explicit placement
             flags set in their headers

          o  NOPLACED-May defragment files with explicit
             placement flags

          Files indicated by the /IGNORE qualifier are added to
          the EXCLUDE list.

          The default value (/IGNORE=PLACED) indicates that
          files with explicit placement control should be
          ignored, and that RMS indexed files should be
          defragmented and placed in appropriate locations
          on the volume.

 18. 3.12 - /INHERIT

       /INHERIT={script-name}
       /NOINHERIT (default)

          The purpose of the /INHERIT qualifier is to make
          script creation easier. By inheriting most of the
          command data from a previously entered script and
          modifying only a few items (such as volume name), a
          completely new script can be created. The /INHERIT
          qualifier creates a database entry for a new script
          in the following way:

          o  Copies all fields from the specified script to the
             new script.

          o  Overwrites any qualifier or parameter values in
             the new script with those specified on the command
             line.

          o  Names the new script as appropriate. The user may
             specify a script name using the /SCRIPT={script-
             name} qualifier. Otherwise, the defragmentation
             software creates a unique script name. You can
             use wildcards in the script-name specification.
             Use an asterisk (*) to take action on all scripts
             on the VAXcluster system; use a percent sign (%)
             to match a single character in the script-name
             specification.

 18. 3.13 - /INTERVAL

       /INTERVAL={delta-time}
       /NOINTERVAL (default)

          The /NOINTERVAL qualifier executes a script at
          regularly scheduled intervals. The /INTERVAL
          qualifier specifies the minimum time between
          consecutive executions of a script.

          Specify time as a delta time. Refer to the OpenVMS
          User's Manual for more information on specifying
          times. If you do not specify a time with the
          /INTERVAL qualifier, the default value of 24 hours
          is used.

          If you specify the /AFTER qualifier with the
          /INTERVAL qualifier, the first defragmentation
          operation occurs at or after the time specified
          by the /AFTER qualifier; all subsequent operations
          execute at intervals set with the /INTERVAL
          qualifier.

 18. 3.14 - /LEVEL

       /LEVEL={n}
       /LEVEL=2 (default)

          The defragmentation process selects files for
          defragmentation (from among those not excluded) based
          on the /LEVEL qualifier. Once a file is selected as
          a candidate, the defragmentation process attempts
          to fully defragment that file (make it 100 percent
          contiguous). Specify the level number as an integer
          ranging from one to five:

          o  /LEVEL=1

             Any file that is not 100 percent contiguous, or
             that can be selected using levels two and three,
             is a candidate for defragmentation.

          o  /LEVEL=2 (default)

             Any file whose extents cannot be completely
             mapped by the mapping window, or that can be
             selected using level three, is a candidate for
             defragmentation. The default window value is seven
             and can be set for a given volume using:

             $ SET VOLUME {device-spec}/WINDOWS=[n]

          o  /LEVEL=3

             Any file with retrieval pointers in more than one
             file header is a candidate for defragmentation.

          o  /LEVEL=4

             The defragmentation process for level four
             processing performs only free space consolidation.
             This level is used with the /CONSOLIDATE_FREESPACE
             qualifier.

          o  /LEVEL=5

             This level requests a volume analysis only;
             no defragmentation occurs. The statistical
             results are available in the log file, which is
             required when /LEVEL=5 is selected (see the /LOG
             qualifier). If level 5 is selected, the /LEVEL=2
             candidate file specifications are listed in the
             full log file.

 18. 3.15 - /LOG

       /LOG={file-spec}
       /NOLOG (default)

          The /LOG qualifier causes the defragmentation process
          to create a file containing a list of all its
          operations. The information in the log file varies
          with the presence of the /FULL or /BRIEF qualifiers.
          The /FULL qualifier lists all files analyzed by the
          defragmentation process and reports their disposition
          during each phase of defragmentation. The /BRIEF
          qualifier lists only the statistics of each phase,
          such as number of files analyzed, and number of files
          defragmented.

 18. 3.16 - /MAIL_NOTIFICATION

       /MAIL_NOTIFICATION
       /NOMAIL_NOTIFICATION (default)

          The /MAIL_NOTIFICATION qualifier requests that
          brief status and termination messages regarding
          defragmentation processes be mailed to the mail
          distribution list provided in the file DFG$MAIL_
          ADDRESS.

 18. 3.17 - /NODE

       /NODE=(node-name[,...])
       /NONODE (default)

          The /NODE qualifier limits the scope of the
          DEFRAGMENT command to the node or set of nodes
          specified by /NODE=(node-name). By default,
          defragmentation processes may execute on any LMF
          licensed node in the system.

 18. 3.18 - /OPCOM_NOTIFICATION

       /OPCOM_NOTIFICATION (default)
       /NOOPCOM_NOTIFICATION

          The /OPCOM_NOTIFICATION qualifier requests that
          brief status and termination messages regarding
          defragmentation processes be sent to OPCOM.

 18. 3.19 - /OPTIONS

       /OPTIONS={file-spec}
       /NOOPTIONS (default)

          The /OPTIONS qualifier provides an alternate method
          for associating files with the /DORMANT, /EXCLUDE, or
          /FREQUENT qualifiers. If the list of files for any of
          these qualifiers is long, you can create a separate
          file for this information. Each record in the options
          file consists of a file name followed by one of the
          following keywords:

          o  /EXCLUDE-File to be excluded

          o  /FREQUENT-File to be considered frequently
             accessed

          o  /DORMANT-File to be considered dormant

          The following example shows the contents of an
          options file called MYOPTFILE.OPT. This file
          specifies that all files on the target device called
          FILE1.EXE are frequent files, all files in the
          [ARCHIVE] directory are to be excluded, and all files
          in the [OLDSTUFF] directory and its subdirectories
          are dormant.

              FILE1.EXE/FREQUENT
              [ARCHIVE]*.*;*/EXCLUDE
              [OLDSTUFF...]*.*;*/DORMANT

          Files indicated by the /EXCLUDE qualifier and by
          either the /DORMANT or /FREQUENT qualifier are
          excluded. Files indicated by the /DORMANT qualifier
          and by the /FREQUENT qualifier are considered
          dormant. This rule is applied equally across all
          files specified in the /OPTIONS file and on the
          command line.

 18. 3.20 - /PREDECESSOR

       /PREDECESSOR={script-name}
       /NOPREDECESSOR (default)

          The /PREDECESSOR qualifier links scripts. These
          scripts execute in sequence; one successfully
          completes before the next one begins.

          The predecessor script name must exist in the
          scheduling database or an error status message is
          returned. You can use wildcards in the script-name
          specification. Use an asterisk (*) to take action on
          all scripts on the VAXcluster system; use a percent
          sign (%) to match a single character in the script-
          name specification.

 18. 3.21 - /PRIORITY

       /PRIORITY=(DEFAULT=n, MINIMUM=n)
       /NOPRIORITY (default)

          The /PRIORITY qualifier specifies priorities for the
          defragment process. The minimum priority setting is
          used when the defragmentation process exceeds the
          value specified by either /CPU_LIMIT or /IO_LIMIT.

 18. 3.22 - /PROLOGUE

       /PROLOGUE={file-name}
       /NOPROLOGUE (default)

          The /PROLOGUE qualifier identifies a DCL command
          file which DFO executes just before the Defragment
          operation starts.

          Mounting or dismounting the disks cannot be done
          through the Command file specified.

 18. 3.23 - /RVN

       /RVN=n
       /RVN=0 (default)

          When you have a bound volume set, use this qualifier
          to identify a disk from the volume set or all disks
          in the volume set. The default of zero tells the Disk
          File Optimizer to defragment all disks in the bound
          volume set. Specify a relative volume number (RVN)
          to defragment a specific disk that belongs to a bound
          volume set.

 18. 3.24 - /SCRIPT

       /SCRIPT={script-name}
       /NOSCRIPT (default)

          The /SCRIPT qualifier assigns a user-supplied name
          to a script. If a duplicate script-name is selected,
          defragmentation software issues an error message and
          does not enter the new script into the database-no
          defragmentation takes place.

          A script name may be up to 64 characters in length
          and may contain any of the following characters:

          o  Any alphanumeric character

          o  Underscore ( _ )

          o  Hyphen ( - )

          o  Dollar sign ( $ )

          Observe the following rules when naming a script:

          o  Use any combination of uppercase and lowercase
             letters.

          o  Do not begin script names using the dollar sign,
             however you can include the dollar sign within
             the script name. (The dollar sign is reserved for
             special use by HP.)

          o  Do not end a script name with a hyphen, since the
             hyphen is the DCL continuation character.

          If you do not supply a script name using the /SCRIPT
          qualifier, the defragmentation software generates
          a unique script name. This internally generated
          name has the format DFG$SCRIPTX[X...], where X is
          a hexadecimal number that keeps the script names
          unique. Names beginning with DFG$ are reserved for
          use by the defragmentation software.

 18. 3.25 - /TIME_LIMIT

       /TIME_LIMIT={delta-time}
       /NOTIME_LIMIT (default)

          The /TIME_LIMIT qualifier specifies the maximum
          elapsed time allowed for a given defragmentation
          operation. If the time limit is exceeded, the
          defragmentation process is aborted.

          Specify time as a delta time. Refer to the OpenVMS
          User's Manual for more information on specifying
          times.

          For linked scripts, the time limit of the first
          script applies to the whole set. Time limits
          specified with successor scripts apply to these
          scripts only.

          If the time limit is set unreasonably low, the
          defragmentation process may not accomplish useful
          defragmentation.

 18. 3.26 - /WRITE_CHECK

       /WRITE_CHECK
       /NOWRITE_CHECK (default)

          The /WRITE_CHECK qualifier requests that a read-
          after-write check be performed on all defragmented
          or placed files. This qualifier significantly extends
          the execution time of a defragmentation process.

 18.4 - Examples

      The following are examples of the DEFRAGMENT VOLUME command:

    1.$ DEFRAGMENT VOLUME DISK$USER_1

      This command defragments DISK$USER_1 using default qualifiers.
      The defragmentation process executes only once. In a VAXcluster
      system, the defragment operation begins on a node selected at
      random from among those nodes in the scheduling database having
      fewer executing processes than the limit imposed by the SET
      PROCESS_LIMIT={value} subcommand. If all nodes are busy with
      a maximum number of defragment processes, the script does not
      execute until one of the outstanding defragmentation operations
      concludes.

      After the defragmentation process stops, the script is removed
      from the scheduling database.

    2.$ DEFRAGMENT VOLUME DISK$ONE/SCRIPT=MY_SCRIPT/IGNORE=(INDEXED,PLACED)-
             /INTERVAL=2-00:00/FREQUENT=*.EXE/LOG=MYLOG.LOG/FULL/DORMANT=*.ARCHIVE-
             /NODE=(N1, N2)

      This command does the following:

      o  Defragments DISK$ONE.

      o  Names the script MY_SCRIPT.

      o  Instructs the defragmentation process to ignore all RMS
         indexed files and files with explicit placement control
         information in their headers. (These files are added to the
         EXCLUDE list.)

      o  Instructs the scheduler to execute this script every two
         days.

      o  Instructs the defragmentation process that all .EXE files on
         the entire volume should be considered frequently accessed
         when final file placement decisions are made.

      o  Requests a log file, MYLOG.LOG, which is placed in the
         directory from which this command was entered.

      o  Requests a /FULL log file.

      o  Instructs the defragmentation process that all .ARCHIVE
         files on the entire volume should be considered dormant
         (rarely accessed) when final file placement decisions are
         made.

      o  Limits the nodes available for the defragmentation process
         to nodes N1 and N2.

    3.$ DEFRAGMENT VOLUME DISK$TWO/INHERIT=MY_SCRIPT/SCRIPT=FIRST_SCRIPT

      This command inherits the script defined in the previous
      example. Thus, it creates a new script that is the same as
      MY_SCRIPT, except for the following differences:

      o  The script name is FIRST_SCRIPT instead of MY_SCRIPT.

      o  The target volume is DISK$TWO instead of DISK$ONE.

      In this case, MYLOG.LOG is also inherited. Thus, one version
      of the log file contains data from MY_SCRIPT, and the other
      version contains data from FIRST_SCRIPT. To prevent log file
      inheritance, specify the /LOG qualifier.

    4.$ DEFRAGMENT VOLUME DISK$ONE/SCRIPT=SECOND_SCRIPT-
             /PREDECESSOR=FIRST_SCRIPT

      This commands links SECOND_SCRIPT to FIRST_SCRIPT using the
      /PREDECESSOR qualifier. SECOND_SCRIPT does not execute until
      FIRST_SCRIPT completes successfully. SECOND_SCRIPT uses default
      parameters. Note that this example uses the DEFRAGMENT VOLUME
      command from within the Disk File Optimizer utility.

    5.$ DEFRAGMENT VOLUME DISK$ONE/SCRIPT=AFTER_SCRIPT/AFTER="+00:05"

      This command creates the script AFTER_SCRIPT, and it will start
      executing in 5 minutes.

  19 - RELEASE_NOTES

    You can find the release notes for the defragmentation software
    in SYS$HELP:DFGvvu.RELEASE_NOTES, where vv is the major version
    number, and u is the update number.

    To list all the DEFRAGMENT release notes available, type:

            $ DIRECTORY SYS$HELP:DFG*.RELEASE_NOTES.

  20 - Logicals

 DFO Logical names are recognized by the prefix DFG$

    Table 1 Logical Names

                     Installation
    Logical
    Name             Variant    Purpose

    DFG$DATABASE     Defrag     Equates to the device:[dir]
                     PLUS       specification where the database
                                resides. Also located in this
                                directory are the scheduler log
                                files, which have a name of DFG$_
                                xxxx.LOG, where xxxx is the name of
                                the node on which the scheduler is
                                running.

    DFG$DISK         All        Provided to the EPILOGUE and PROLOGUE
                                command files. It translates to
                                the name of the disk on which DFO
                                currently operates.

    DFG$MAIL_        Defrag     Equates to a file name containing
    ADDRESS          PLUS       a mail distribution list of those
                                who should receive notification when
                                defragmentation processes complete.

    DFG$MESSAGE      All        Equates to
                                SYS$MESSAGE:DFG$MESSAGE.EXE, which
                                is the shareable image containing
                                all the defragmentation-specific
                                messages. This logical is used
                                only if you install the callable
                                interface.

    DFG$SCRIPT       All        Provided to the EPILOGUE and PROLOGUE
                                command files. It translates to the
                                name of the script associated with
                                the DFO process.

    DFG$STATE        All        Provided to the EPILOGUE and PROLOGUE
                                command files. As appropriate to
                                indicate the state of DFO to the
                                command procedure, it translates to
                                either of these strings

                                   PROLOGUE
                                   EPILOGUE

    DFG$STATUS       All        Provided to the EPILOGUE and PROLOGUE
                                command files. It translates to the
                                current status of the DFO process.
                                For the EPILOGUE command file, this
                                status is the final status of the DFO
                                process.

    DFG$ASTLM        All        These logicals affect the associated
    DFG$BIOLM                   process quota of any DFO process
    DFG$BYTLM                   running on the associated node.
    DFG$DIOLM
    DFG$ENQLM
    DFG$FILLM
    DFG$JTQUOTA
    DFG$PGFLQUOTA
    DFG$PRCLM
    DFG$TQELM
    DFG$WSDEFAULT
    DFG$WSEXTENT
    DFG$WSQUOTA

    DFG$TRANSFERSIZE All        The logical, DFG$TRANSFERSIZE, helps
                                you tune the Disk File Optimizer.
                                The definition of this logical allows
                                you to change the amount of data
                                that is transferred at one time. On
                                a volume that has files with large
                                extents, you could wait up to 20
                                minutes while the system transfers
                                these large extents before you could
                                access the file. By defining this
                                logical, you could access this file
                                in less than a minute. This logical
                                changes the impact that the Disk File
                                Optimizer has on applications that
                                are simultaneously accessing the same
                                files.

                                This logical is set to 10,000 blocks
                                by default. You can change it by
                                editing SYS$STARTUP:DFG$STARTUP.COM
                                and then executing the command
                                procedure.

 .

  21 - Messages

 Look for DFO error messages in the following alphabetical order.
 Most messages contain a facility code, a severity indicator, an
 identification field and the actual text of the message. Most
 messages have $FAO formatting control sequences due to which message
 text begins with an ! mark.

 21.1 - ABOFAIL1

    failed to abort !AD

    Explanation: DFG$DEFRAGMENT returned a failure status when
    it attempted to abort the specified script. This message is a
    summary message. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.2 - ABOFAIL2

    no script was aborted

    Explanation: DFG$DEFRAGMENT returned a failure status when it
    attempted to abort all scripts in the scheduling database. This
    message is a summary message. Associated messages provide more
    detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.3 - ABORTNOTDONE

    abort unsuccessful

    Explanation: An ABORT subcommand was unsuccessful. This is a
    summary message. This message may or may not indicate an error.
    Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.4 - ABOSEEN

    abort command already issued for !AD

    Explanation: An ABORT subcommand had been issued for this script
    but it had not yet completed when another ABORT subcommand for
    the same script was issued.

    User Action: Wait for the command to complete.

 21.5 - ACCESSERR

    access error on file !AD

    Explanation: A QIO IO$_ACCESS function could not be performed on
    the given file for reasons detailed in associated messages. This
    message occurs only in the log file or the /MAIL_NOTIFICATION
    messages.

    User Action: Refer to associated messages to determine a course
    of action.

 21.6 - ACLERR

    BUGCHECK - Map pointer copy would run into ACLs

    Explanation: The copy made of INDEXF.SYS would run into ACLs.

    User Action: Clean up disk and restart program.

 21.7 - ASSIGNERR

    channel-assign error for device !AD

    Explanation: A channel could not be assigned for the indicated
    device. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.8 - BITMAPCONERR

    $CONNECT error on file !AD:[000000]BITMAP.SYS

    Explanation: A $CONNECT RMS service was unsuccessful for the
    BITMAP.SYS file of the target device. The RMS error is provided
    in a subsequent message.

    User Action: Determine a course of action based on the RMS error
    reported.

 21.9 - BITMAPOPENERR

    $OPEN error on file !AD:[000000]BITMAP.SYS

    Explanation: A $OPEN RMS system service could not be performed
    on the BITMAP.SYS file of the target device. The RMS error is
    provided in a subsequent message.

    User Action: Determine a course of action based on the RMS error
    reported.

 21.10 - BITMAPREADERR

    $READ error on file !AD:[000000]BITMAP.SYS

    Explanation: A $READ RMS system service failed for the BITMAP.SYS
    file of the target device. The RMS error is provided in a
    subsequent message.

    User Action: Determine a course of action based on the RMS error
    reported.

 21.11 - CACHEFLUSHERR

    unable to flush extent cache for device !AD

    Explanation: An IO$_ACPCONTROL extent cache flush QIO returned a
    failure status to the defragmentation process. The root cause is
    included in associated messages.

    User Action: Refer to associated messages to determine a course
    of action.

 21.12 - CANCELNOTDONE

    cancel unsuccessful

    Explanation: A CANCEL subcommand was unsuccessful. This is a
    summary message. This message may or may not indicate an error.
    Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.13 - CANFAIL1

    failed to cancel !AD

    Explanation: DFG$DEFRAGMENT returned a failure status when it
    attempted to cancel the specified script. This message is a
    summary message. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.14 - CANFAIL2

    no script was canceled

    Explanation: DFG$DEFRAGMENT returned a failure status when it
    attempted to cancel all scripts in the scheduling database. This
    message is a summary message. Associated messages provide more
    detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.15 - CHECKSUMERR

    Error when copying map pointers for INDEXF.SYS

    Explanation: An error occurred when mapping the new INDEXF.SYS
    header pointers.

    User Action: Submit an SPR.

 21.16 - CLOSEIN

    error closing !AD as input

    Explanation: An RMS error was encountered when trying to close an
    input file, such as the options file. Associated messages provide
    more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.17 - CLOSEOUT

    error closing !AD as output

    Explanation: An RMS error was encountered when trying to close an
    output file. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.18 - CMDUNKNOWN

    unknown command; parsing error, please submit an SPR

    Explanation: This is an internal error.

    User Action: Submit an SPR.

 21.19 - CONNECTERR

    $CONNECT error on log file !AD

    Explanation: The RMS $CONNECT service failed for the log file
    (occurs in the defragmentation process). Associated messages
    provide the root cause.

    User Action: Refer to associated messages to determine a course
    of action.

 21.20 - CONSFAIL

    free-space consolidation failed for !AD

    Explanation: Free-space consolidation failed for the given disk

    User Action: None, unless indicated by other messages.

 21.21 - COPYRIGHT

    © Copyright 2003 Hewlett-Packard Development Company,L.P.

 21.22 - CPUOUTRNG

    !SL is an invalid CPU percentage; use 0-100

    Explanation: User specified a CPU percent utilization limit that
    was not within the 0-100 range.

    User Action: Specify valid CPU percentages from 0 to 100,
    inclusive.

 21.23 - CREATEERR

    error creating !AD

    Explanation: The $CREATE RMS service failed for the specified
    file. Associated messages provide the root cause.

    User Action: Refer to associated messages to determine a course
    of action.

 21.24 - CREPRCFAIL

    error creating detached defragmentation process

    Explanation: The scheduler could not create the detached
    defragmentation process. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.25 - CRESECFAIL

    error creating global section

    Explanation: The global section used for communications could
    not be created by the scheduler for reasons given in associated
    error messages. This error is caused by a failure status from the
    $CRMPSC system service, which could indicate insufficient system
    wide global section resources.

    User Action: Refer to associated messages to determine a course
    of action.

 21.26 - DBACCCONSTR

    constraint violation in relation !AD (operation !AD)

    Explanation: A constraint in the database was violated. The
    most common reason is an attempt to enter a duplicate record.
    Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.27 - DBACCDUP

    duplicate record in relation !AD (operation !AD)

    Explanation: An attempt was made to enter a duplicate record in
    the database. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.28 - DBACCERR

    database-access error; relation !AD, operation !AD, status !SL

    Explanation: The database could not be accessed. The cause of
    this problem may be an undefined logical, corrupt database, DFG
    software error, or RMS software error.

    User Action: Verify that all DFG logicals are defined. Refer
    to associated messages to determine if additional action is
    necessary.

 21.29 - DBACCERR2

    database-access error: !AD transaction

    Explanation: The database could not be accessed. The cause of
    this problem may be an undefined logical, corrupt database,
    DFG software error, or RMS software error. Associated messages
    provide more detail.

    User Action: Verify that all DFG logicals are defined. Refer
    to associated messages to determine if additional action is
    necessary.

 21.30 - DBACCW

    database-access warning: relation !AD, operation !AD, sqlcode !SL

    Explanation: The Rdb software returned a warning status to the
    scheduler. The problem may be that the database is corrupt, that
    the disk file optimizer software is in error, or that the Rdb
    software is in error.

    User Action: Try the operation again. If the error persists, re-
    create the database. If the error persists after re-creating the
    database, submit an SPR.

 21.31 - DBACCW2

    database-access warning: !AD transaction, sqlcode !SL

    Explanation: The Rdb software returned a warning status to the
    scheduler. The problem may be that the database is corrupt, that
    the disk file optimizer software has is in error, or that the Rdb
    software is in error.

    User Action: Try the operation again. If the error persists, re-
    create the database. If the error persists after re-creating the
    database, submit an SPR.

 21.32 - DBBUSY

    accessing the defragmentation database; please wait

    Explanation: Informational message that indicates the DCL
    interface is waiting for the database access/update to complete.

    User Action: None.

 21.33 - DBCANTREAD

    cannot read a needed record from relation !AD

    Explanation: The database could not be read. The cause of this
    problem may be an undefined logical, corrupt database, DFG
    software error, or Rdb software error. This problem can also
    be caused if the RMU Monitor process (RDMS_MONITOR) is not
    executing. Associated messages provide more detail.

    User Action: Verify that all DFG logicals are defined and ensure
    that RDMS_MONITOR is running. If RDMS_MONITOR is not running, it
    can be started by invoking @SYS$STARTUP:RMONSTART.COM. Refer
    to associated messages to determine if additional action is
    necessary.

 21.34 - DBCANTWRITE

    cannot write or update a record in relation !AD

    Explanation: The database could not be updated. The cause of
    this problem may be an undefined logical, corrupt database,
    DFG software error, or Rdb software error. This problem can
    also be caused if the RMU Monitor process (RDMS_MONITOR) is not
    executing. Associated messages provide more detail.

    User Action: Try the command again. If the error persists, re-
    create the database. If the error persists after re-creating the
    database, submit an SPR.

 21.35 - DBCLEAR

    clearing database

    Explanation: A database is being cleared.

    User Action: None.

 21.36 - DBCLEARED

    database cleared

    Explanation: A database has been cleared.

    User Action: None.

 21.37 - DBCREATE

    creating database

    Explanation: A database is being created.

    User Action: None.

 21.38 - DBCREATED

    database created

    Explanation: A database has been created.

    User Action: None.

 21.39 - DBINVXLNAM

    invalid translated name

    Explanation: This is an internal error.

    User Action: Submit an SPR.

 21.40 - DBNOREC

    no record found in relation !AD (operation !AD)

    Explanation: A database record could not be found. This error
    can occur if the database is corrupt, the disk file optimizer
    software is in error, or the Rdb software is in error.

    User Action: Submit an SPR.

 21.41 - DBROLLBACK

    database updates rolled back

    Explanation: All updates to the database have been rolled back.

    User Action: None

 21.42 - DBUPDATERR

    database update failed

    Explanation: This is a summary message indicating that database
    updates were unsuccessful. Associated messages provide more
    detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.43 - DEACCESSERR

    deaccess error on file !AD

    Explanation: The specified file could not be deaccessed by the
    defragmentation process (using the IO$_DEACCESS QIO). Associated
    messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.44 - DELERR

    cannot delete !AD, notification message

    Explanation: An attempt to spawn a subprocess to delete the mail
    message sent as a result of the /MAIL_NOTIFICATION qualifier
    failed. This error occurs in the scheduler code.

    User Action: Refer to associated messages to determine a course
    of action.

 21.45 - DFGNOSTART

    defragmentation process failed to start

    Explanation: This message occurs when a defragmentation process
    cannot be started. Associated messages indicate why. This message
    does not occur with Defrag PLUS.

    User Action: Refer to associated messages to determine a course
    of action.

 21.46 - DFGSTART

    started defragmentation process PID: !XL

    Explanation: This message indicates that a defragmentation
    process has been started. This message does not occur with Defrag
    PLUS.

    User Action: None.

 21.47 - DFGTMO

    defragmentation process timed out on startup

    Explanation: The defragmentation process did not map the global
    section created by the scheduler within a timeout period.

    User Action: Ensure a copy of DFG$ENGINE_MAIN exists in
    SYS$SYSTEM and try the command again. If the error persists,
    submit an SPR.

 21.48 - DIOOUTRNG

    !SL is an invalid direct I/O limit, use positive values

    Explanation: The user specified a negative number for a direct
    I/O limit.

    User Action: Specify positive values for the IO_LIMIT keyword
    parameter.

 21.49 - DIRVERERR

    directory file !AD is not .DIR;1

    Explanation: A file with the directory flag set in its file
    header is not version 1 or does not have the extension .DIR

    User Action: Rename or delete the file.

 21.50 - DISFAIL1

    failed to disable !AD

    Explanation: This is a summary message indicating DFG$DEFRAGMENT
    returned a failure status for a DISABLE command. This failure is
    related to a specific script supplied in the message. Associated
    messages provide the cause of the failure.

    User Action: Refer to associated messages to determine a course
    of action.

 21.51 - DISFAIL2

    no script was disabled

    Explanation: This is a summary message indicating the specified
    script was not disabled. Associated messages indicate the reason
    the disable operation failed.

    User Action: Refer to associated messages to determine a course
    of action.

 21.52 - DISKFULL

    disk !AD too full for defragmentation

    Explanation: This error occurs when the defragmentation process
    finds that a disk is too full for defragmentation. The process
    experiencing the error will terminate (if a single volume or a
    stripe set was defragmented) or continue with the next volume in
    the volume set.

    User Action: None.

 21.53 - DUPDEFRAGER

    duplicate concurrent defragmentation processes for device !AD

    Explanation: The defragmentation process detected a currently
    running defragmentation process on the target device. Concurrent
    defragmentation processes on the same target device are not
    allowed; thus, this process exits. This ensures that two
    defragmentation processes do not attempt to defragment the same
    disk at the same time.

    User Action: Ensure that no two defragmentation processes attempt
    to defragment the same device at the same time.

 21.54 - DUPSCHED

    duplicate concurrent scheduler on node !AD

    Explanation: The scheduler detected another currently running
    scheduler on the current node. Concurrent schedulers on the same
    node are not allowed.

    User Action: Ensure that no two schedulers execute on the same
    node at the same time.

 21.55 - DUPSCRPT

    duplicate script name: !AD

    Explanation: An attempt was made to define two scripts with the
    same name.

    User Action: Reissue the command using a unique script name for
    the /SCRIPT qualifier.

 21.56 - EMPDFG

    empty defragmentation item list

    Explanation: The defragmentation list was empty for a script
    definition call to DFG$DEFRAGMENT.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.57 - EMPDFGSCH

    empty defragmentation and scheduling item lists

    Explanation: Both the scheduler list and the defragmentation list
    were empty.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.58 - ENAFAIL1

    failed to enable !AD

    Explanation: This is a summary message indicating the specified
    script was not enabled. Associated messages indicate the reason
    the enable operation failed.

    User Action: Refer to associated messages to determine a course
    of action.

 21.59 - ENAFAIL2

    no script was enabled

    Explanation: This is a summary message indicating that no script
    could be enabled (the user specified /ALL on the command line).
    Associated messages indicate the reason the enable operation(s)
    failed.

    User Action: Refer to associated messages to determine a course
    of action.

 21.60 - ENGLIMEXC

    process limit exceeded; increase process limit to run

    Explanation: Starting another defragmentation process on
    this node would exceed the user-defined maximum number of
    defragmentation processes for this node.

    User Action: If the limit is acceptable, no action is required.
    Otherwise, change the limit using the SET subcommand.

 21.61 - ENGMAXTIM

    time limit exceeded; defragmentation process stopped

    Explanation: A defragmentation process was terminated because its
    time limit was exceeded. This is a limit imposed by the user with
    the /TIME_LIMIT qualifier.

    User Action: None or change the time limit.

 21.62 - ENQLOCKERR

    error while attempting to queue a process lock for device !AD

    Explanation: The defragmentation process received an unexpected
    failure status from the $ENQ system service while trying to get
    an exclusive lock on the target device. Associated messages
    provide more detail. This error does not occur for concurrent
    defragmentation processes.

    User Action: Refer to associated messages to determine a course
    of action.

 21.63 - EXTHDRERR

    unable to access extent header(s) for file !AD

    Explanation: The defragmentation process could not access the
    given file's extent header(s) through the IO$_ACCESS QIO.

    User Action: Refer to associated messages to determine a course
    of action.

 21.64 - FREEVMERR

    unable to free dynamic memory

    Explanation: The defragmentation process called the LIB$FREE_VM
    service incorrectly.

    User Action: Submit an SPR.

 21.65 - GETDVIERR

    error in getting device information from !AD

    Explanation: The defragmentation process received failure status
    from the GETDVI system service. Associated messages provide more
    detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.66 - GETVMERR

    unable to allocate dynamic memory

    Explanation: The defragmentation process received failure status
    from the LIB$GET_VM system service. Associated messages provide
    more detail.

    User Action: If the error is due to insufficient system dynamic
    memory, system resources are insufficient to defragment the
    volume. If this is not the case, submit an SPR.

 21.67 - GLBSECMAPERR

    unable to map global section

    Explanation: The defragmentation process could not map the system
    wide global section created by the scheduler. This error is
    very unlikely, but could be caused if the scheduler exits after
    creating the global section and the defragmentation process,
    but before the defragmentation process has a chance to map the
    global section. It will also occur if the user tries to run the
    DFG$ENGINE_MAIN program directly.

    User Action: None.

 21.68 - IDXFILEFULL

    INDEXF.SYS is completely full. You must delete some files

    Explanation: The index file or header is full. The program needs
    at least one free file header.

    User Action: Delete unneeded file(s).

 21.69 - IDXOPT

    Your index file is already optimal, no further work needed.

    Explanation: The index file is already optimal. No further work
    is needed.

    User Action: None. The program has completed.

 21.70 - IEDBDATA

    logically inconsistent data in relation !AD

    Explanation: The database contains inconsistent data. The root of
    the problem may be that the RMS database is corrupt, that the DFG
    software has an error.

    User Action: Submit an SPR. Include a dump of the scheduling
    database contents, if possible.

 21.71 - IELOGNAM1

    internal error; invalid supersede flag

    Explanation: This is an internal error.

    User Action: Submit an SPR.

 21.72 - IESCHFILNODTYP

    relation !AD: illegal file or node type (!SL)

    Explanation: This is an internal scheduler error.

    User Action: Submit an SPR.

 21.73 - IESCHFUNC

    illegal function code (!SL) in !AD

    Explanation: This is an internal scheduler error.

    User Action: Submit an SPR.

 21.74 - IESCHIMPOSS

    internal logic error in !AD

    Explanation: This is an internal scheduler error.

    User Action: Submit an SPR.

 21.75 - IESE1

    internal memory allocation calculation error; submit an SPR

    Explanation: A consistency check found the global section
    allocated was not large enough to hold the necessary data. This
    is an internal error.

    User Action: Submit an SPR.

 21.76 - IESRCINCONSIS

    internal error; inconsistent source !AD

    Explanation: This error occurs when the source for one module is
    not compatible with the source for another module.

    User Action: Submit an SPR.

 21.77 - IEVERNOD1

    internal error while verifying node

    Explanation: This is an internal error

    User Action: Submit an SPR.

 21.78 - IMEDALL

    all scripts have been !AD

    Explanation: Success message for any immediate command (ENABLE,
    DISABLE) where /ALL was specified.

    User Action: None.

 21.79 - IMEDSUCC

    script !AD has been !AD

    Explanation: Success message for any immediate command (ENABLE,
    DISABLE) where specific scripts were specified.

    User Action: None.

 21.80 - INTERNALERR

    internal software error number !UL

    Explanation: This is an internal error encountered in the
    defragmentation process code.

    User Action: Submit an SPR. Include the software error number.

 21.81 - INTERR

    internal error: !AD

    Explanation: This is an internal error.

    User Action: Submit an SPR. Include the internal error string.

 21.82 - INTERR2

    internal error: !AD !XL

    Explanation: This is an internal error.

    User Action: Submit an SPR. Include the error number and the
    associated string supplied in the error message.

 21.83 - INVDEV

    device unsuitable for defragmentation

    Explanation: Target device not suitable for defragmentation.

    User Action: Ensure that the target device for defragmentation is
    an ODS-2 volume (or stripe set or volume set). Further, it must
    be a local device available from the issuing node.

 21.84 - INVDEVCONT

    device not suitable for defragmentation, do you wish to continue
    (Y, [N])?

    Explanation: The user specified a device for a defragment
    operation that is currently unavailable or unsuitable for
    defragmentation. However, since the device may become available
    by the time the defragmentation operation begins, the user is
    allowed the option of continuing or aborting the command.

    User Action: If the device specified is correct, but is
    currently off line or, for some other reason, is unsuitable for
    defragmentation, enter Y in response to the prompt. Otherwise,
    enter N or press Return to abort the command.

 21.85 - INVDEVNAM

    !AD is an invalid device name

    Explanation: The supplied device name was invalid.

    User Action: Specify a valid device name.

 21.86 - INVDFGLST

    invalid defragmentation item list

    Explanation: The defragmentation list passed to DFG$DEFRAGMENT
    was invalid, because of one of the following:

    o  A call to DFG$DEFRAGMENT using a scheduler list that indicates
       the defragmentation list should be empty. For example, DFG$K_
       SHOW_SCRIPT must not have a defragmentation item list.

    o  Something was wrong with the semantics of the defragmentation
       item list, or a particular item descriptor was formatted
       improperly.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.87 - INVDSLST

    invalid defragmentation and scheduler item lists

    Explanation: Both the scheduler list and the defragmentation list
    passed to DFG$DEFRAGMENT were invalid.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.88 - INVFILNAM

    !AD is an invalid file specification

    Explanation: An invalid file name was given for either the log
    file or the options file. Associated messages describe why the
    file name is invalid.

    User Action: Based on the associated messages, specify a valid
    file name.

 21.89 - INVITEMCOMB

    invalid combination of DFG$K_INTERVAL and DFG$K_PREDECESSOR

    Explanation: The DFG$K_INTERVAL item descriptor is not allowed
    with the DFG$K_PREDECESSOR item descriptor in a call to
    DFG$DEFRAGMENT.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.90 - INVITM

    invalid item list; item !SL is in error

    Explanation: This message indicates the dfg_list or sch_
    list parameter to DFG$DEFRAGMENT was incorrectly formatted
    or logically invalid. It provides the item number that was
    incorrect. Associated messages indicate further errors.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.91 - INVITMLST

    invalid combination of items in item list

    Explanation: This message indicates the dfg_list or sch_list
    parameter to DFG$DEFRAGMENT was logically invalid. One of the
    lists contained item codes that were not compatible.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.92 - INVITMUKN

    an item list contained an unknown item code

    Explanation: This message indicates the dfg_list or sch_list
    parameter to DFG$DEFRAGMENT contained an item descriptor with
    an unknown item code. It may also indicate a faulty item_list_2
    returned from DFG$DEFRAGMENT as part of the SHOW subcommand.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.93 - INVLMFLIC

    insufficient license units to run DEFRAGMENT

    Explanation: The DFG software is not licensed to run on this
    node.

    User Action: Install the DFG license.

 21.94 - INVLOGNAM

    !AD is an invalid logical name

    Explanation: A logical name translation failed because the
    logical name was invalid. Associated messages provide more
    detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.95 - INVSCHLST

    invalid scheduler item list

    Explanation: The scheduler list passed to DFG$DEFRAGMENT was
    invalid.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.96 - INVSCRNAM

    !AD is an invalid script name

    Explanation: The user tried to name a script using characters
    that are not supported for script names.

    User Action: Reenter the script name using valid characters.

 21.97 - INVSTARTCMD

    script !AD already has a queue entry

    Explanation: The user entered a START subcommand for a script
    that was already started.

    User Action: None.

 21.98 - INVSTRDSC

    invalid string descriptor

    Explanation: An invalid string descriptor was pointed to from an
    item list passed to DFG$DEFRAGMENT.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.99 - INVSTRDSCNBR

    invalid string descriptor in item !SL of item list

    Explanation: An invalid string descriptor was pointed to from an
    item list passed to DFG$DEFRAGMENT. The item number of the item
    descriptor containing the offending string descriptor is supplied
    by this message.

    User Action: If the call to DFG$DEFRAGMENT was from HP supplied
    software, submit an SPR. Otherwise, correct the calling program.

 21.100 - L5NOLOG

    log file not specified, but defragmentation level is 5

    Explanation: Occurs if /LEVEL=5 is specified without the /LOG
    qualifier. Defragmentation statistics are unavailable without the
    /LOG qualifier; thus, it is required when /LEVEL=5 is specified.

    User Action: Specify /LOG={logfile} when using the /LEVEL=5
    qualifier.

 21.101 - LIMEXC

    !AD limit exceeded

    Explanation: A user-specified CPU_LIMIT, IO_LIMIT, or PROCESS_
    LIMIT has been exceeded.

    User Action: If the limit is correctly set, no action is
    required. If the limit is incorrect, set a new limit using the
    SET subcommand.

 21.102 - LSTBADVOL

    incorrect device name !AD specified on file list

    Explanation: A device name was specified with a file on the
    frequent, dormant, or exclude lists that does not match the
    target device name.

    User Action: Correct the device name or remove it altogether.

 21.103 - LVLOUTRNG

    !SL is an invalid defragmentation level; use 1-5

    Explanation: The defragmentation level specified by the user on
    the command line was not a number from 1 to 5, inclusive.

    User Action: Specify a valid defragmentation level.

 21.104 - MISSING_LOGICAL

    the logical name !AD is not defined

    Explanation: A required logical name is not defined.

    User Action: Define the indicated logical name and try the
    command again.

 21.105 - MISSNGVAL

    !AD qualifier requires a value in this context

    Explanation: A qualifier needed a value, such as a script name,
    but the user did not provide one.

    User Action: Provide the value requested.

 21.106 - MONBRKNDB

    monitor unable to access database for script information

    Explanation: This error occurs if the monitor cannot access the
    scheduling database. The most likely causes of this error are:
    the logical name DFG$DEFRAGMENT is not defined; the database does
    not exist.

    User Action: If this message persists and the other
    defragmentation software is working (scheduler, DCL interface,
    defragmentation processes), submit an SPR.

 21.107 - MONINVCOL

    too few columns in display, please resize

    Explanation: The display has too few columns to display
    meaningful information.

    User Action: If your terminal is a DECwindows DECterm, resize the
    window as appropriate. If your terminal is a VT100-style device,
    submit an SPR.

 21.108 - MONINVROW

    too few rows in display, please resize

    Explanation: The display has too few rows to display meaningful
    information.

    User Action: If your terminal is a DECwindows DECterm, resize the
    window as appropriate. If your terminal is a VT100-style device,
    submit an SPR.

 21.109 - MONNOVOL

    !AD is not currently being defragmented

    Explanation: An attempt was made to monitor a script that is not
    executing.

    User Action: Monitor only executing defragmentation processes.

 21.110 - MONRDERR

    error !SL while reading the monitor interface

    Explanation: This error occurs if a process cannot read data
    using the interface that exists between the monitor process, the
    scheduling process, and the defragmentation process. The process
    experiencing the error will continue, though not all data may be
    available for the monitor display.

    User Action: None.

 21.111 - MONUNEXP

    unexpected error from !AD

    Explanation: An error occurred in a call to the Screen Management
    facility (SMG). The SMG routine that returned the error is
    displayed. A subsequent error message contains the SMG error
    code.

    User Action: Refer to the subsequent error message to determine a
    course of action.

 21.112 - MONWRERR

    error !SL while writing the monitor interface

    Explanation: This error occurs if a process cannot write data
    using the interface that exists between the monitor process, the
    scheduling process, and the defragmentation process. The process
    experiencing the error will continue, though not all data may be
    available for the monitor display.

    User Action: None.

 21.113 - MOVFILINFO1

    Relative volume number !UL

    Explanation: This is issued to give more information to the
    maintainer about a movefile error (either MOVFILQIOERR or
    MOVFILSTSERR).

    User Action: Submit an SPR.

 21.114 - MOVFILQIOERR

    QIO error on movefile for volume !AD

    Explanation: This is an internal error; the movefile QIO was
    formatted incorrectly by the defragmentation process.

    User Action: Submit an SPR.

 21.115 - MOVFILSTSERR

    status error on movefile for volume !AD

    Explanation: The movefile QIO returned an error status to the
    defragmentation process. Subsequent messages provide the specific
    error encountered.

    User Action: Refer to subsequent messages to determine a course
    of action.

 21.116 - MULTSUCC

    multiple successors not allowed

    Explanation: The script named as predecessor already has a
    successor defined.

    User Action: Specify a different predecessor or none.

 21.117 - NODEIGNOR

    the /NODE qualifier was ignored

    Explanation: The /NODE qualifier was specified with show script,
    but no CPU, I/O, or process parameter was selected. Any node name
    is meaningless when applied to show script only. This message is
    informational.

    User Action: None.

 21.118 - NOINHER

    inherit script !AD not found

    Explanation: The script specified in the /INHERIT qualifier could
    not be found in the SCRIPTS relation.

    User Action: Reissue the command using a defined script name for
    the /INHERIT qualifier.

 21.119 - NOKILL

    failed attempt to stop a defragmentation process

    Explanation: An attempt (by the scheduler) to abort the
    defragmentation process failed. Associated messages provide more
    detail. It could simply be that the defragmentation process has
    completed or is suspended.

    User Action: Refer to associated messages to determine a course
    of action.

 21.120 - NOMEINTERFACE

    monitor interface not established

    Explanation: This error occurs if the defragmentation process
    cannot establish the monitor interface. In this case, the error
    appears in the defragmentation process log file. The error can
    also occur when executing the monitor function if the monitor
    interface is not yet established. The error can also appear in
    the scheduler log file if the interface is not established.

    User Action: If you are trying to run the monitor, try the
    command again as the defragmentation process may not yet have
    created the interface. If the error occurs in the defragmentation
    process or scheduler log files, determine a course of action
    based on any associated messages. If the error is due to
    insufficient ENQUE limit, increase the ENQUE limit of the user
    process running monitor or the scheduler process, whichever is
    appropriate.

 21.121 - NONODE

    !AD not found in configuration

    Explanation: A node name that was associated with a script was
    not present in the configuration. This error can also occur
    during scheduler initialization if both the SYSGEN parameter,
    SCSNODE, and the logical, SYS$NODE are undefined on the node
    where the scheduler is running. In the case of the scheduler, the
    node name reported in the message will be blank.

    User Action: If the error occurs in the scheduler log file,
    define either the logical name SYS$NODE or the SYSGEN parameter
    SCSNODE and restart the scheduler. If the error occurs when
    entering a command, ensure you have spelled the node name
    correctly and that the node exists on the local system.

 21.122 - NONOTIFY

    mail notification of defragmentation process completion failed

    Explanation: An attempt to send mail to the mail distribution
    list specified in DFG$MAIL_ADDRESS has failed.

    User Action: Verify that the logical DFG$MAIL_ADDRESS is defined.
    Refer to associated messages to determine if additional action is
    necessary.

 21.123 - NOPRED

    predecessor script !AD not found

    Explanation: The script specified in the /PREDECESSOR qualifier
    could not be found in the SCRIPTS relation.

    User Action: Check spelling of the script name used with the
    /PREDECESSOR qualifier. Use the name of a script that has already
    been defined (with the VOLUME subcommand) for the /PREDECESSOR
    qualifier.

 21.124 - NOPRIV

    insufficient privileges; you need BYPASS, CMKRNL, DETACH,
    EXQUOTA, NETMBX, SHARE, SYSGBL, SYSLCK, SYSPRV, TMPMBX, and WORLD

    Explanation: The user has insufficient privileges to run
    DEFRAGMENT.

    User Action: Set the BYPASS, CMKRNL, DETACH, EXQUOTA, NETMBX,
    SHARE, SYSGBL, SYSLCK, SYSPRV, TMPMBX, and WORLD privileges and
    try the command again.

 21.125 - NOQENTRY

    no queue entry for script !AD

    Explanation: A queue entry was not found for a script that was
    to be canceled, disabled, or enabled. (The database did not have
    a record that matched the user-supplied script name for one of
    these commands.)

    User Action: Check the spelling of the script name. Use
    only names that have previously been defined with the VOLUME
    subcommand.

 21.126 - NOSCHED

    scheduling operations may not have completed

    Explanation: One or more scheduling operations may not have
    completed. This is a summary message. Associated messages provide
    more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.127 - NOSCRIPT

    script name !AD is not defined in the database

    Explanation: The named script is not defined in the database.

    User Action: Check the spelling of the script name and try the
    command again.

 21.128 - NOSCRNAM

    script name !AD not found

    Explanation: A script name specified by the user was not in the
    scheduling database.

    User Action: Check the spelling of the script name and try the
    command again.

 21.129 - NOSHODAT

    error retrieving show data from the scheduling database

    Explanation: There was an error retrieving show data from the
    scheduling database.

    User Action: Refer to associated messages to determine a course
    of action.

 21.130 - NOTACCVIO

    cannot access notification data in !AD

    Explanation: This is an internal error. It occurs if one of
    the internal user notification routines is called with an
    inaccessible parameter.

    User Action: Submit an SPR.

 21.131 - NOTBADDATA

    invalid data found in !AD

    Explanation: This is an internal error. It occurs if one of the
    internal user notification routines is called with invalid data.

    User Action: Submit an SPR.

 21.132 - NOTCLOSERR

    error closing temporary notification file

    Explanation: An error occurred while closing the temporary
    notification file.

    User Action: Refer to associated messages to determine a course
    of action.

 21.133 - NOTDISK

    this device is not a disk, recheck the device name

    Explanation: The device for which you requested defragmenting is
    not a disk.

    User Action: Check the device name and try the command again.

 21.134 - NOTEXEC

    script !AD not executing

    Explanation: An attempt was made to abort a script that was not
    executing.

    User Action: None.

 21.135 - NOTEXTEND

    error extending the scratch file needed for defragmenting
    INDEXF.SYS

    Explanation: The temporary scratch file needed to defragment
    INDEXF.SYS could not be created. Its creation would have caused a
    multi-header entry or there was not enough space on the volume.

    User Action: Before defragmenting INDEXF.SYS, be sure to
    defragment the volume and consolidate free space. Also, make
    sure that the largest free space on the volume is larger than
    INDEXF.SYS. To check the largest free space and extents of
    INDEXF.SYS, execute the following command:

        $ DEFRAGMENT SHOW disk:/VOLUME/LOCATION=[000000]INDEXF.SYS

 21.136 - NOTFILWRERR

    error writing to temporary notification file

    Explanation: The notification message could not be written.

    User Action: Refer to associated messages to determine a course
    of action.

 21.137 - NOTLOCDEV

    !AD is not local to !AD

    Explanation: The user has specified a target device that is
    not local to the node that is trying to run the defragmentation
    process.

    User Action: Nonlocal devices (such as DFS mounted devices)
    cannot be defragmented.

 21.138 - NOTODSDEV

    !AD is not an ODS-2 mounted device

    Explanation: The user has specified a device for defragmentation
    that is not a mounted ODS-2 format volume.

    User Action: Specify an ODS-2 format volume.

 21.139 - NOTRAN

    error translating !AD

    Explanation: There was an error translating the supplied logical
    name.

    User Action: Define the indicated logical using the /EXECUTIVE_
    MODE and /SYSTEM qualifiers.

 21.140 - NOTSTOPPED

    defragmentation process, ID=!XL, was not stopped

    Explanation: An attempt to stop a defragmentation process failed.
    Associated messages provide more detail. The most likely cause
    of this message is that the defragmentation process is no longer
    running.

    User Action: None.

 21.141 - NOVOLUME

    no volume name specified for VOLUME subcommand

    Explanation: DFG$DATABASE received a dfg_list item list that did
    not contain a volume name item descriptor.

    User Action: If this error occurs with HP supplied software,
    submit an SPR. Otherwise, correct the calling program.

 21.142 - NULLENGINE

    a defragmentation process cannot be started for script !AD

    Explanation: An attempt to start a defragmentation process
    failed. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.143 - OPENIN

    error opening !AD as input

    Explanation: The specified file could not be opened for input.
    Associated messages indicate the reason.

    User Action: Refer to associated messages to determine a course
    of action.

 21.144 - OPENMAILERR

    cannot open mail file for /MAIL_NOTIFICATION

    Explanation: The mail file cannot be opened by the scheduler
    when attempting to notify users by way of the /MAIL_NOTIFICATION
    qualifier. Associated messages indicate the reason.

    User Action: Refer to associated messages to determine a course
    of action.

 21.145 - OPENOUT

    error opening !AD as output

    Explanation: The specified file could not be opened for output.
    Associated messages indicate the reason.

    User Action: Refer to associated messages to determine a course
    of action.

 21.146 - OPTBADVOL

    invalid device specified on line !SL, options file !AD

    Explanation: A volume was specified with a file name in the
    options file and the volume was not the target defragmentation
    volume.

    User Action: Correct the invalid line in the options file.
    Specify no device name, or specify the target device name.

 21.147 - OPTFILERR

    options file error

    Explanation: The options file contained errors. This is a summary
    message. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.148 - OPTHASFNF

    file not found on line !SL, options file !AD

    Explanation: A file specified as /EXCLUDE, /FREQUENT, or /DORMANT
    in the options file was not found.

    User Action: No action is necessary. To eliminate this message,
    however, you should remove the line in the options file that is
    reported in this message. Since the file given on this line is no
    longer on the target device, this line has no effect.

 21.149 - OPTINVQUAL

    invalid qualifier on line !SL, options file !AD

    Explanation: A classification for a file was given that was not
    one of: /FREQUENT, /DORMANT, /EXCLUDE.

    User Action: Check spelling and ensure that only classifications
    of /FREQUENT, /DORMANT, or /EXCLUDE are used for files listed in
    the options file.

 21.150 - OPTMULCLA

    multiple classifications on line !SL, options file !AD

    Explanation: A file was classified with multiple classifications
    (that is, file.ext/FREQ/DORM). This error prevents the
    defragmentation process from being started.

    User Action: Specify only one file classification per line in the
    options file.

 21.151 - OPTNOTCLA

    file not classified on line !SL, options file !AD

    Explanation: A file was in the options file, but was not
    classified as /FREQUENT, /DORMANT, or /EXCLUDE.

    User Action: Make sure the file on the line specified in the
    options file has one of the above-listed classifications.

 21.152 - OPTRMSERR

    RMS error on line !SL, options file !AD

    Explanation: An unanticipated error was returned from the $PARSE
    or $SEARCH RMS routines.

    User Action: Refer to the specified line in the options file.
    Also check associated messages for more information.

 21.153 - PARSEFAIL

    error parsing !AD

    Explanation: The RMS $PARSE service failed for the specified
    file.

    User Action: Refer to associated messages to determine a course
    of action.

 21.154 - PRCOUTRNG

    !SL is an invalid process limit; specify positive values

    Explanation: The process limit was negative.

    User Action: Specify only positive values for the PROCESS_LIMIT
    keyword parameter to the SET subcommand.

 21.155 - PREDNOTUSRNAME

    the predecessor for script !AD is not a user-provided name

    Explanation: The predecessor for a script was not a user-provided
    name. This message can occur during the SHOW subcommand when
    the /COMMAND_LINE qualifier is present. Because script names
    beginning with DFG$ are reserved for the DEFRAGMENT software,
    they are never listed when the /COMMAND_LINE qualifier is used.
    This warning message indicates the script whose predecessor was
    not listed.

    User Action: If the output of the SHOW subcommand was directed
    to a file, edit the file and name the script to be used as a
    predecessor using the /SCRIPT qualifier. Then, modify the script
    listed in this message so the /PREDECESSOR qualifier indicates
    the script name used.

 21.156 - PROCABORTED

    defragmentation process aborted

    Explanation: The defragmentation process has aborted. It could
    be that the total defragmentation time has been exceeded and the
    scheduler has stopped the defragmentation software. Thus, this
    message does not necessarily indicate failure.

    User Action: Refer to associated messages to determine a course
    of action.

 21.157 - PROCESS_START

    defragmentation process start

    Explanation: This message is generated by the defragmentation
    process after it has completed initialization.

    User Action: None.

 21.158 - PROCESS_STOP

    defragmentation process normal completion

    Explanation: This message is generated by the defragmentation
    process after the process has successfully completed.

    User Action: None.

 21.159 - QUEDALL

    !AD request for all scripts has been successfully queued

    Explanation: Any of the queued commands where /ALL was specified
    were successful.

    User Action: None

 21.160 - QUEDNONAM

    !AD request for unnamed script has been successfully queued

    Explanation: A defragmentation request was successfully
    processed; the user did not supply a script name.

    User Action: None

 21.161 - QUEDSUCC

    !AD request for script !AD has been successfully queued

    Explanation: A defragmentation process was successfully queued
    and had a user-specified script name.

    User Action: None

 21.162 - REMFAIL1

    failed to remove !AD from the database

    Explanation: This is a summary message indicating the specified
    script was not removed. Associated messages indicate the reason
    the remove operation failed.

    User Action: Refer to associated messages to determine a course
    of action.

 21.163 - REMFAIL2

    no script was removed from the database

    Explanation: This is a summary message indicating that no script
    was removed from the scheduling database when the user had
    specified the /ALL qualifier.

    User Action: Refer to associated messages to determine a course
    of action.

 21.164 - REMOVENOTDONE

    remove unsuccessful

    Explanation: A REMOVE subcommand was unsuccessful. This is a
    summary message. This message may or may not indicate an error.
    Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.165 - REMOVSEEN

    remove command for !AD already issued

    Explanation: A REMOVE subcommand had been issued for this script,
    but it had not yet completed when another REMOVE subcommand for
    the same script was issued.

    User Action: None.

 21.166 - RESAREA

    Map pointer copy would extend into a reserved area

    Explanation: The copy of INDEXF.SYS map pointers would run into a
    reserved area.

    User Action: Submit an SPR.

 21.167 - RMSERR

    RMS operation !AD failed (file !AD)

    Explanation: The specified RMS operation failed.

    User Action: Refer to associated messages to determine a course
    of action.

 21.168 - SCHEDERR

    scheduler cannot complete scheduling tasks

    Explanation: This is a summary message indicating that the
    scheduler did not complete all its scheduling tasks.

    User Action: Refer to associated messages to determine a course
    of action.

 21.169 - SCHEXIT

    scheduler exited at user request

    Explanation: The scheduler exited normally. This occurs if
    the user executes the DFG$STOP_SCHEDULER.COM procedure, runs
    the SYS$SYSTEM:DFG$STOP_SCHEDULER.EXE image, or executes the
    DFG$SHUTDOWN.COM procedure.

    User Action: None.

 21.170 - SCHSTART

    !AD started on !AD !%D

    Explanation: A scheduler started. This message appears at the
    beginning of every scheduler log.

    User Action: None.

 21.171 - SCRDIS

    script !AD is already disabled

    Explanation: An attempt was made to disable a script that was
    already disabled.

    User Action: None.

 21.172 - SCRENA

    script !AD is already enabled

    Explanation: An attempt was made to enable a script that was
    already enabled.

    User Action: None.

 21.173 - SEARCHLOOP

    loop in $SEARCH: same file returned twice

    Explanation: RMS's $SEARCH function did not return files in
    alphabetical order. This may be caused by a corrupt directory
    file or by an alias that points to a deleted file.

    User Action: Investigate the directory structure of the disk.

 21.174 - SENDMAILERR

    mail notification failed

    Explanation: This is a summary message that occurs when the
    scheduler does not send the mail notification message requested
    by the user with /MAIL_NOTIFICATION. Associated messages provide
    more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.175 - SETFAIL

    failed to set any specified parameters

    Explanation: DFG$DEFRAGMENT returned a failure status for a SET
    command.

    User Action: Refer to associated messages to determine a course
    of action.

 21.176 - SETNODFAIL

    a SET subcommand failed for node !AD

    Explanation: A DEFRAGMENT SET CPU, I/O, or PROCESS command failed
    for the indicated node.

    User Action: Refer to associated messages to determine a course
    of action.

 21.177 - SETSUCC

    specified parameters successfully set

    Explanation: The database was successfully updated with the new
    CPU_LIMIT, IO_LIMIT, and PROCESS_LIMIT values.

    User Action: None.

 21.178 - SHDWSETERR

    device is a member of a shadow set; specify the shadow set name

    Explanation: The user attempted to defragment a member of a
    shadow set. Attempting to defragment members of a shadow set
    is not supported.

    User Action: Defragment the entire shadow set by specifying the
    shadow set name (DUSXXX) on the DEFRAGMENT command line.

 21.179 - SHODATMIS

    !AD missing from show data

    Explanation: This is an internal error.

    User Action: Submit an SPR.

 21.180 - SHOSCRFAIL

    a show script command failed

    Explanation: A SHOW SCRIPT command did not complete successfully.
    Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.181 - STAFAIL

    failed to start !AD

    Explanation: DFG$DEFRAGMENT returned a failure status for a
    START subcommand. This is a summary message and probably does
    not indicate any real error. Most likely, the script was already
    started. Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.182 - STARTNOTDONE

    start command unsuccessful

    Explanation: A START subcommand was unsuccessful. This is a
    summary message. This message may or may not indicate an error.
    Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.183 - STARTSEEN

    start command for !AD already issued

    Explanation: A START subcommand had been issued for this script
    but it had not yet completed when another START subcommand for
    the same script was issued.

    User Action: None.

 21.184 - SYSSRVERR

    call to system service !AD failed

    Explanation: A system service call failed.

    User Action: Refer to associated messages to determine a course
    of action.

 21.185 - TIMEINV

    invalid time string !AD from !AD

    Explanation: The syntax of the time string supplied in the
    message was invalid or out of range. The offending routine is
    also listed in the message.

    User Action: Submit an SPR containing the information in this
    message.

 21.186 - UNRECOVERR

    unrecoverable error

    Explanation: The defragmentation process encountered an
    unrecoverable error; no further processing occurred.

    User Action: Refer to associated messages to determine a course
    of action.

 21.187 - USERABORT

    command aborted by user

    Explanation: The user decided not to continue after encountering
    the INVDEVCONT message. This is a summary message.

    User Action: None.

 21.188 - USER_ERR

    user error

    Explanation: The user made an error. Associated messages provide
    more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.189 - USRKILLENG

    an ABORT command terminated the defragmentation process

    Explanation: Because of a user-issued ABORT command, a
    defragmentation process terminated.

    User Action: None.

 21.190 - VIRMEMERR

    device is a member of a constituent set; specify the set name

    Explanation: The user attempted to defragment a virtual member of
    a disk set, such as a stripeset member.

    User Action: Defragment the entire set by specifying the set name
    on the DEFRAGMENT command line.

 21.191 - VOLFAIL1

    volume command failed; script !AD was not entered into the
    database

    Explanation: The specified script was not entered into the
    database. Some portion of command validation failed. The exact
    nature of the error is provided in associated messages.

    User Action: Refer to associated messages to determine a course
    of action.

 21.192 - VOLFAIL2

    volume command failed; unnamed script was not entered into the
    database

    Explanation: The command was not entered into the database. Some
    portion of command validation failed. The exact nature of the
    error is provided in associated messages.

    User Action: Refer to associated messages to determine a course
    of action.

 21.193 - VOLSETERR

    device is a member of a volume set;specify the volume set name

    Explanation: The user attempted to defragment a member of a
    volume set. Attempting to defragment members of a volume set
    is not supported.

    User Action: Defragment the entire volume set by specifying the
    volume set name on the DEFRAGMENT command line.

 21.194 - VOLUMELOCKERR

    volume lock error for device !AD

    Explanation: Error trying to allocation-lock the volume. This
    error may only occur in the defragmentation process code. This
    prevents file structure changes for a short time while the
    defragmentation process reads a fresh copy of BITMAP.SYS.

    User Action: Refer to associated messages to determine a course
    of action.

 21.195 - VOLUMENOTDONE

    volume command unsuccessful

    Explanation: A VOLUME subcommand was unsuccessful. This is a
    summary message. This message may or may not indicate an error.
    Associated messages provide more detail.

    User Action: Refer to associated messages to determine a course
    of action.

 21.196 - VOLUNLOCKERR

    volume unlock error for device !AD

    Explanation: The target device could not be allocation-unlocked
    by the defragmentation process.

    User Action: Refer to associated messages to determine a course
    of action.

 21.197 - VPAEND

    !SL hotfile records added to the /FREQUENT list.

    Explanation: This message indicates the VPA database query has
    completed. It also indicates the total number of hotfile records
    found that were related to the target device.

    User Action: None.
  Close     Help