VMS Help  —  DEFRAGMENT
    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 levels 2 or 5
    (ODS-2, ODS-5) formatted volume including single volumes,
    bound volume sets, stripe sets or shadow sets.

    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
    VMScluster 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 keeps the script from being
          aborted 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 VMS DCL Concepts Manual.

2.3.2    /ALL

       /ALL
       /NOALL (default)

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

2.4  –  Examples

    The following examples show how the ABORT command functions.

    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 your 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 passes. 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 examples show how you can use 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
    VMScluster 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  –  Example

    The following example shows how to use 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 VMScluster
    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 indicates that all scripts in the
          scheduling and parameter database should be disabled.

5.4  –  Example

    The following example shows how to disable a script.

    1.

    $ DEFRAGMENT DISABLE MY_SCRIPT

    In this example, script 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 VMScluster
    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 indicates that all disabled
          scripts in the scheduling and parameter database
          should be enabled.

6.4  –  Examples

    The following examples show how to use 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 the user from the Disk File
    Optimizer utility.

    Format

      DEFRAGMENT EXIT

7.1  –  Parameters

    None.

7.2  –  Restrictions

    None.

7.3  –  Qualifiers

    None.

7.4  –  Example

    The following example shows how to use the EXIT command.

    1.

    DFO> EXIT
    $

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

8  –  FILE

    The DEFRAGMENT FILE command defragments the files given as a
    parameter 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 can 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 VMS DCL Concepts 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 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 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. Dormant files are placed on the
          volume to allow placing other files in optimum disk
          locations. In general, they are placed further away
          from the ODS-2 data structures than /FREQUENT files
          and files not classified in any manner.

          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. Thus,
             the Disk File Optimizer does not guarantee
             file placement, but makes every effort to place
             files as described.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

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
          FILE operation.

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.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

                                      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. 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. Thus,
             the Disk File Optimizer does not guarantee
             file placement, but makes every effort to place
             files as described.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

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
          defragmenter's /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 VMScluster 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 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 VMS DCL
          Concepts Manual for more information on specifying
          times. If you do not specify a time with the
          /INTERVAL qualifier, a default value of one 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.

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 (default)

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

          o  /LEVEL=2

             Any file whose extents cannot be completely mapped
             by the mapping window, or that can be selected
             using levels three or four, 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, or that can be selected using level
             four, is a candidate for defragmentation.

          o  /LEVEL=4

             The defragmentation process for level 4 processing
             performs only free space consolidation. This level
             is used in conjunction 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 five 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 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.

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 mail
          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 quite large, you can create
          a separate file that contains 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 VMScluster 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 volume operation.

8.3.21    /PROLOGUE

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

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

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 can 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 Digital Equipment Corporation.)

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

          The VMS DCL Concepts Manual contains more information
          on naming conventions.

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 VMS DCL
          Concepts 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 illustrate how to use the common
    qualifiers.

    1.

    $ DEFRAGMENT FILE *.C

    This command defragments all files with a .C extension on the
    user's current default device. That is, the device portion of the
    directory specification returned from a DCL SHOW DEFAULT command.
    The RMS default string is [000000...]*.*;*.

    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 *.C/VOLUME=SYS$SYSDEVICE:

    This command is the same as the previous one, except that the RMS
    default string is now 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 *.RDB/INHERIT=X
    $_/SCRIPT=Y/VOLUME=SYS$SYSTEM

    This command creates a script called Y that defragments all RDB
    files on SYS$SYSTEM. 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 VMScluster
    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 VMS DCL Concepts 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 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.

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 links the script with
          itself. Thus, the script repeatedly executes. 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 on the
          volume to allow placing other files in optimum disk
          locations. In general, they are placed further away
          from the ODS-2 data structures than frequent files
          and files not classified in any manner.

          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. Thus,
             the Disk File Optimizer does not guarantee
             file placement, but makes every effort to place
             files as described.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

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
          FILE operation.

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.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

                                      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 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. Thus,
             the Disk File Optimizer does not guarantee
             file placement, but makes every effort to place
             files as described.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

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 VMS DCL
          Concepts 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
             can be selected using levels two through four, 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 levels three or four, 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, or that can be selected using level
             four, is a candidate for defragmentation.

          o  /LEVEL=4

             The defragmentation process for level 4 processing
             performs only free space consolidation. This level
             is used in conjunction 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 five 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 quite large, you can create
          a separate file that contains 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 VMScluster 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 volume operation.

10.3.22    /PROLOGUE

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

          The /PROLOGUE qualifier identifies a DCL command file
          which DFO executes just before the DEFRAGMENT FILE or
          DEFRAGMENT VOLUME operation starts.

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 Digital Equipment Corporation.)

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

          The VMS DCL Concepts 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 VMS DCL
          Concepts 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 you can modify an existing script
    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 */SCRIPT=*

    This command renames all scripts to themselves.

    5.

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

    6.

    $ DEFRAGMENT MODIFY *C/SCRIPT=*D/PRED=*X

    This command shows the potential pitfalls with using multiple
    wildcards in a DEFRAGMENT command.

    Consider the following scenario: Suppose you have four scripts
    (ABC, ATLASX, ABCX, and DAILYC) and you enter this command.

    The Disk File Optimizer first finds all scripts whose names
    end in C (ABC and DAILYC). Then, according to what is written
    on the command line, we would expect it to change their names to
    end in D. Thus, ABC would become ABCD, and DAILYC would become
    DAILYCD.

    After renaming the files, we would expect the script ABCD to be
    modified such that it has a predecessor of ABCX, and DAILYCD to
    have a predecessor of DAILYCX. However, since there is no script
    named DAILYCX in the database, the command fails.

    Since this was entered on one command line, none of these changes
    actually occur.

11  –  MONITOR

    The MONITOR subcommand invokes the monitor function to illustrate
    the progress of ongoing defragmentation processes.

    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 VMScluster 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 indicates the monitor process
          should provide a snapshot display and then exit 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 examples show how to invoke 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 that is to have the
    INDEXF.SYS file 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 will occur and
       the process will abort.

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

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 VMS DCL Concepts 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
          VOLUME operation.

12.3.3    /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 VMS DCL
          Concepts 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. 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.

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 FILE
          operation starts.

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 can 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 Digital Equipment Corporation.)

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

          The VMS DCL Concepts Manual contains more information
          on naming conventions.

13  –  REMOVE

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

    Format

      DEFRAGMENT REMOVE  { script-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 VMScluster 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.

13.2  –  Restrictions

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

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 VMS DCL Concepts 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.4  –  Example

    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.

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 three. Further, a restriction
    of 14 direct I/Os per second is placed on each of these three
    defragmentation processes.

    2.

    $ DEFRAGMENT SET CPU_LIMIT=50

    In this example, the maximum CPU percentage 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 that specified by the /PRIORITY qualifier or three..

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, or it 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 VMScluster 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. If a list of names is provided, 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 it is a volume, then you must use the /VOLUME qualifier

15.3  –  Qualifiers

15.3.1    /ALL

       /ALL
       /NOALL (default)

          The /ALL qualifier is used when showing 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 when showing
          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 those scripts
          that match the script name provided on the command
          line and that target any devices named with this
          qualifier.

15.3.4    /FILE_LIST

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

          The /FILE_LIST qualifier is used when showing 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 when showing 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 when showing 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 when showing 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
          that match the script name provided on the command
          line and that match any of the node specifications
          provided with this qualifier.

          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 when showing
          the volume fragmentation state or when showing
          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 when showing
          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
       /NOSTATISTICS (default)

          The /STATISTICS qualifier is used when showing 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 examples show how to SHOW limits using 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.

    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.

    4.

    $ 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 command 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. When
    the command completes execution, 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 examples show how to SPAWN processes from within
    the Disk File Optimizer utility.

    1.

    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 scripts to be
    started. You can use wildcards in the script-name specification.
    Use an asterisk (*) to take action on all scripts on the
    VMScluster 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 VMS DCL Concepts Manual.

17.4  –  Example

    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 command defragments the volume given as a
    parameter 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 VMS DCL Concepts 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 links the script with
          itself. Thus, the script repeatedly executes. 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 on the
          volume to allow placing other files in optimum disk
          locations. In general, they are placed further away
          from the ODS-2 data structures than /FREQUENT files
          and files not classified in any manner.

          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. Thus,
             the Disk File Optimizer does not guarantee
             file placement, but makes every effort to place
             files as described.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

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
          VOLUME operation.

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.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

                                      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. Thus,
             the Disk File Optimizer does not guarantee
             file placement, but makes every effort to place
             files as described.

          The file-spec field allows wildcard characters.
          You can specify wildcard characters in place of
          the directory name, file name, file type, or file
          version number field. The default file-spec for all
          wildcard operations is DISK:[000000...]*.*;*. Thus,
          specifying *.TMP;* selects all *.TMP;* files on the
          entire volume.

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 VMScluster system. Use a percent sign (%)
             to match a single character in the script-name
             specification.

18.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 VMS DCL
          Concepts 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.

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 1 to 5:

          o  /LEVEL=1

             Any file that is not 100 percent contiguous, or
             can be selected using levels 2-4, 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 levels 3 or 4, is a candidate for
             defragmentation. The default window value is 7 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, or that can be selected using level
             4, is a candidate for defragmentation.

          o  /LEVEL=4

             The defragmentation process for level 4 processing
             performs only free space consolidation. This level
             is used in conjunction 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 quite large, you can create
          a separate file that contains 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.

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 VMScluster 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 volume operation.

18.3.22    /PROLOGUE

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

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

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 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 can 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 Digital Equipment Corporation.)

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

          The VMS DCL Concepts Manual contains more information
          on naming conventions.

          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 VMS DCL
          Concepts 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 examples show different ways to defragment a volume
    and illustrate how to use the common qualifiers.

    1.

    $ DEFRAGMENT VOLUME DISK$USER_1

    This command defragments DISK$USER_1 using default qualifiers.
    The defragmentation process executes once and does not repeat.
    In a VMScluster 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 definition made in example 2.
    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.

    DFO> DEFRAGMENT VOLUME DISK$ONE /SCRIPT=SECOND_SCRIPT
    DFO>_ /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 command supplies the DEFRAGMENT VOLUME
    options from within the Disk File Optimizer utility.

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.
Close Help