1 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 level two (ODS-2) formatted volume including single volumes, bound volume sets, stripe sets or shadow sets. The file defragmentation utility is also compatible with ODS-5 formatted device on OpenVMS Alpha 7.2-1 and above. Format DEFRAGMENT [ /INTERFACE ] 2 Qualifiers /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 ] 3 Parameters script-name The script-name parameter is the name of the script to be aborted. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. 3 Restrictions o You cannot use the script-name parameter with the /ALL qualifier. 3 Qualifiers /AFTER /AFTER={time} /NOAFTER (default) The /AFTER qualifier aborts the script after the specified time. You can specify time as either an absolute time or as a combination of absolute and delta times. For complete information on specifying time values, see the OpenVMS User's Manual. /ALL /ALL /NOALL (default) The /ALL qualifier aborts all currently executing scripts across the system. This qualifier is equivalent to using an asterisk (*) for the script- name parameter. 3 Examples The following are examples of the ABORT command: 1.$ DEFRAGMENT ABORT MY_SCRIPT/AFTER=16:30 This command aborts MY_SCRIPT after 16:30 on the day this command is submitted. 2.$ DEFRAGMENT ABORT/ALL This command immediately aborts all currently executing scripts in the entire system. 2 ATTACH The ATTACH subcommand transfers control from the current process (which then hibernates) to the specified process. Format DEFRAGMENT ATTACH { process-name } [ /QUALIFIERS ] 3 Parameters process-name The process-name specifies the name of a process to which control transfers. The process must already exist, be part of your current job, and share the same input stream as your current process. However, the process cannot be your current process or a subprocess created with the /NOWAIT qualifier. Process names can contain from 1 to 15 alphanumeric characters. If a connection to the specified process cannot be made, an error message is displayed. 3 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 Qualifiers /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 Examples The following are examples of the ATTACH command: 1.$ DEFRAGMENT ATTACH JONES_2 This ATTACH command transfers the terminal's control to the subprocess named JONES_2. 2.$ DEFRAGMENT ATTACH /IDENTIFICATION=2A401A1B This ATTACH command switches control from the current process to the process whose PID is 2A401A1B. 2 CANCEL The CANCEL subcommand skips the next scheduled execution of the scripts specified in the command line. Format DEFRAGMENT CANCEL { script-name } [ /QUALIFIERS ] 3 Parameters script-name The script-name parameter is the name of the scripts to be canceled. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. 3 Restrictions o The script-name parameter is not allowed if the /ALL qualifier is used. 3 Qualifiers /ALL /ALL /NOALL (default) The /ALL qualifier cancels the next scheduled execution of all scripts in the scheduling and parameter database. 3 Examples The following is an example of the CANCEL command: 1.$ DEFRAGMENT CANCEL MY_SCRIPT, YOUR_SCRIPT In this example, the next scheduled execution of MY_SCRIPT and YOUR_SCRIPT are canceled. Afterwards, both scripts resume their normal schedule. 2 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 ] 3 Parameters script-name The script-name parameter specifies the scripts to be disabled. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. 3 Restrictions o The script-name parameter is not allowed if the /ALL qualifier is used. 3 Qualifiers /ALL /ALL /NOALL (default) The /ALL qualifier disables all scripts in the scheduling and parameter database. 3 Examples The following example shows how to disable a script: 1.$ DEFRAGMENT DISABLE MY_SCRIPT In this example, MY_SCRIPT is disabled. 2 ENABLE The ENABLE subcommand reactivates scripts that have been disabled. Format DEFRAGMENT ENABLE { script-name } [ /QUALIFIERS ] 3 Parameters script-name The script-name specifies the name of the scripts to be enabled. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. 3 Restrictions o The script-name parameter is not allowed if the /ALL qualifier is used. 3 Qualifiers /ALL /ALL /NOALL (default) The /ALL qualifier enables all disabled scripts in the scheduling and parameter database. 3 Examples The following are examples of the ENABLE command: 1.$ DEFRAGMENT ENABLE/ALL In this example, all previously deactivated scripts are enabled. The enabled script executes according to its previously set schedule. Enabled predecessor or successor scripts resume executing according to their link dependencies. 2.$ DEFRAGMENT ENABLE MY_SCRIPT In this example, MY_SCRIPT is enabled. MY_SCRIPT starts executing according to the parameters and qualifiers assigned to it. 2 EXIT The EXIT subcommand exits from the Disk File Optimizer utility and returns the user to the system prompt. Format DEFRAGMENT EXIT 3 Parameters None. 3 Restrictions None. 3 Qualifiers None. 3 Examples The following ia an example of the EXIT command: 1.DFO> EXIT $ This command exits from the Disk File Optimizer utility and returns the user to the DCL prompt. 2 FILE The DEFRAGMENT FILE command defragments the files specified on the command line according to the DEFRAGMENT command line qualifiers. Use this command to defragment a small number of files. To defragment a large number of files, use the DEFRAGMENT VOLUME command. Format DEFRAGMENT FILE { file-spec[,...] } [ /QUALIFIERS ] 3 Parameters file-spec[,...] The file-spec parameter identifies the file or files to be defragmented. You may use wildcards for the file specification. 3 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. 3 Qualifiers /AFTER /AFTER={time} /AFTER={current_time} (default) /NOAFTER The /AFTER qualifier keeps the script from executing until after the specified time. You can specify time as either an absolute time or as a combination of absolute and delta times. For complete information on specifying time values, see the OpenVMS User's Manual. The /AFTER qualifier has three states. It can be specified with a valid time, it can be omitted from the command line, or it can be negated (/NOAFTER). If /AFTER is specified with a valid time, the script is scheduled to execute after that time. If the /AFTER qualifier is omitted, the defragmentation software processes the command as if the /AFTER qualifier were specified with the current time. If /NOAFTER is specified, no starting time is associated with the script being defined. The /NOAFTER qualifier allows you to define a script without scheduling it to execute. To subsequently start the script, use the START subcommand. /BRIEF /BRIEF (default) /NOBRIEF The /BRIEF qualifier is used only with the /LOG qualifier. The /BRIEF qualifier requests a brief log of all actions taken by the defragmentation process. This log includes beginning and ending file status information. The /BRIEF and /FULL qualifiers are mutually exclusive, and /NOBRIEF produces the same result as /FULL. The /BRIEF qualifier is the default. /CONSOLIDATE_FREESPACE /CONSOLIDATE_FREESPACE /NOCONSOLIDATE_FREESPACE (default) The /CONSOLIDATE_FREESPACE qualifier tells the Disk File Optimizer to use its free space consolidation algorithm. /DORMANT /DORMANT=(file-spec[,...]) /NODORMANT (default) The /DORMANT qualifier indicates files to be considered dormant when final file placement decisions are made. In order for the file to be placed dormant, it must be the file specified in the command line. Dormant files are placed at the high end of the volume. If a file is indicated in both the DORMANT and FREQUENT lists, it is considered dormant. If a file is indicated in both the EXCLUDE and DORMANT lists, it is excluded. NOTE The amount of free space on the volume, the number of files currently being accessed, and other factors influence file placement. The Disk File Optimizer does not guarantee file placement, but makes every effort to place files as described. /EPILOGUE /EPILOGUE={file-name} /NOEPILOGUE (default) The /EPILOGUE qualifier identifies a DCL command file which DFO executes upon completion of the DEFRAGMENT operation. Mounting or dismounting the disks cannot be done through the Command file specified. /EXCLUDE /EXCLUDE=(file-spec[,...]) /NOEXCLUDE (default) The /EXCLUDE qualifier specifies files to be excluded from processing. The defragmentation process ignores files matching the listed file specifications. Any file indicated in the EXCLUDE list and in either the FREQUENT or DORMANT lists is excluded from processing. NOTE The defragmentation process always excludes system files, open files, files excluded in an options file (/OPTIONS qualifier), and files excluded using the /IGNORE qualifier. /FREQUENT /FREQUENT=(file-spec[,...]) /NOFREQUENT (default) The /FREQUENT qualifier indicates files to be considered frequently accessed when final file placement decisions are made. In order for the file to be placed frequent, it must be the file specified in the command line. Frequent files are placed toward the center of the volume. If a file is indicated in both the FREQUENT and DORMANT lists, it is considered dormant. If a file is indicated in both the FREQUENT and EXCLUDE lists, it is excluded. NOTE The amount of free space on the volume, the number of files currently being accessed, and other factors influence file placement. The Disk File Optimizer does not guarantee file placement, but makes every effort to place files as described. /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. /HOTFILE_DATABASE /HOTFILE_DATABASE /NOHOTFILE_DATABASE (default) The /HOTFILE_DATABASE qualifier causes the defragmenter to query the appropriate hotfile database and append the list of hotfiles to the /FREQUENT file list. /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. /INHERIT /INHERIT={script-name} /NOINHERIT (default) The purpose of the /INHERIT qualifier is to make script creation easier. By inheriting most of the command data from a previously entered script and modifying only a few items (such as volume name), a completely new script can be created. The /INHERIT qualifier creates a database entry for a new script in the following way: o Copies all fields from the specified script to the new script. o Overwrites any qualifier or parameter values in the new script with those specified on the command line. o Names the new script as appropriate. The user may specify a script name using the /SCRIPT={script- name} qualifier. Otherwise, the defragmentation software creates a unique script name. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. /INTERVAL /INTERVAL={delta-time} /NOINTERVAL (default) The /INTERVAL qualifier executes a script at regularly scheduled intervals. The /INTERVAL qualifier specifies the minimum time between two consecutive executions of a script. Specify time as a delta time. Refer to the OpenVMS User's Manual for more information on specifying times. If you do not specify a time with the /INTERVAL qualifier, a default value of 24 hours is used. This value causes the associated script to run every 24 hours. If you specify the /AFTER qualifier with the /INTERVAL qualifier, the first defragmentation operation occurs at or after the time specified by the /AFTER qualifier; all subsequent operations execute at intervals set according to the /INTERVAL qualifier. /LEVEL /LEVEL={n} /LEVEL=1 (default) The defragmentation process selects files for defragmentation (from among those not excluded) based on the /LEVEL qualifier. Once a file is selected as a candidate, the defragmentation process attempts to fully defragment that file (make it 100 percent contiguous). Specify the level number as an integer ranging from one to five: o /LEVEL=1 Any file that is not 100 percent contiguous, or that can be selected using levels two and three, is a candidate for defragmentation. o /LEVEL=2 (default) Any file whose extents cannot be completely mapped by the mapping window, or that can be selected using level three, is a candidate for defragmentation. The default window value is seven and can be set for a given volume using: $ SET VOLUME {device-spec}/WINDOWS=[n] o /LEVEL=3 Any file with retrieval pointers in more than one file header is a candidate for defragmentation. o /LEVEL=4 The defragmentation process for level four processing performs only free space consolidation. This level is used with the /CONSOLIDATE_FREESPACE qualifier. o /LEVEL=5 This level requests a volume analysis only; no defragmentation occurs. The statistical results are available in the log file, which is required when /LEVEL=5 is selected (see the /LOG qualifier). If level 5 is selected, the /LEVEL=2 candidate file specifications are listed in the full log file. /LOG /LOG={file-spec} /NOLOG (default) The /LOG qualifier causes the defragmentation process to create a file containing a list of all its operations. The information in the log file varies with the presence of the /FULL or /BRIEF qualifiers. The /FULL qualifier lists all files analyzed by the defragmentation process and reports their status during each phase of defragmentation. The /BRIEF qualifier lists only the statistics of each phase, such as number of files analyzed and number of files defragmented. /MAIL_NOTIFICATION /MAIL_NOTIFICATION /NOMAIL_NOTIFICATION (default) The /MAIL_NOTIFICATION qualifier requests that brief status and termination messages regarding defragmentation processes be mailed to the distribution list provided in the file DFG$MAIL_ ADDRESS. /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. /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. /OPTIONS /OPTIONS={file-spec} /NOOPTIONS (default) The /OPTIONS qualifier provides an alternate method for associating files with the /DORMANT, /EXCLUDE, or /FREQUENT qualifiers. If the list of files for any of these qualifiers is long, you can create a separate file for this information. Each record in the options file consists of a file name followed by one of the following keywords: o /EXCLUDE-File to be excluded o /FREQUENT-File to be considered frequently accessed o /DORMANT-File to be considered dormant The following example shows the contents of an options file called MYOPTFILE.OPT. This file specifies that all files on the target device called FILE1.EXE are frequent files, all files in the [ARCHIVE] directory are to be excluded, and all files in the [OLDSTUFF] directory and its subdirectories are dormant. FILE1.EXE/FREQUENT [ARCHIVE]*.*;*/EXCLUDE [OLDSTUFF...]*.*;*/DORMANT Files indicated by the /EXCLUDE qualifier and by either the /DORMANT or /FREQUENT qualifier are excluded. Files indicated by the /DORMANT qualifier and by the /FREQUENT qualifier are considered dormant. This rule is applied equally across all files specified in the /OPTIONS file, as well as those associated with these qualifiers on the command line. /PREDECESSOR /PREDECESSOR={script-name} /NOPREDECESSOR (default) The /PREDECESSOR qualifier links scripts. These scripts execute in sequence; one successfully completes before the next one begins. The predecessor script name must exist in the scheduling database or an error status message is returned. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script- name specification. /PRIORITY /PRIORITY=(DEFAULT=n, MINIMUM=n) /NOPRIORITY (default) The /PRIORITY qualifier specifies priorities for the defragment process. The minimum priority setting is used when the defragmentation process exceeds the value specified by either /CPU_LIMIT or /IO_LIMIT. /PROLOGUE /PROLOGUE={file-name} /NOPROLOGUE (default) The /PROLOGUE qualifier identifies a DCL command file which DFO executes just before the Defragment operation starts. Mounting or dismounting the disks cannot be done through the Command file specified. /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. /SCRIPT /SCRIPT={script-name} /NOSCRIPT (default) The /SCRIPT qualifier assigns a user-supplied name to a script. If a duplicate script-name is selected, defragmentation software issues a duplicate script name error message and does not enter the new script into the database-no defragmentation takes place. A script name may be up to 64 characters in length and may contain any of the following characters: o Any alphanumeric character o Underscore ( _ ) o Hyphen ( - ) o Dollar sign ( $ ) Observe the following rules when naming a script: o You may use any combination of uppercase and lowercase letters. o DO not begin script names using the dollar sign. However, you can include the dollar sign within the script name. (The dollar sign is reserved for special use by HP.) o Do not end a script name with a hyphen, since the hyphen is the DCL continuation character. /TIME_LIMIT /TIME_LIMIT={delta-time} /NOTIME_LIMIT (default) The /TIME_LIMIT qualifier specifies the maximum elapsed time allowed for a given defragmentation operation. If the time limit is exceeded, the defragmentation process is aborted. Specify time as a delta time. Refer to the OpenVMS User's Manual for more information on specifying times. For linked scripts, the time limit of the first script applies to the whole set. Time limits specified with successor scripts apply to these scripts only. If the time limit is set unreasonably low, the defragmentation process may not accomplish useful defragmentation. /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. 3 Examples The following examples show different ways to defragment a file or group of files and how to use the common qualifiers: 1.$ DEFRAGMENT FILE *.C;* This command defragments all files with a .C extension in the user's current default directory. To determine the device and directory in which the files are located, issue the SHOW DEFAULT command. 2.DFO> DEFRAGMENT FILE *.C;* This command defragments all files with a .C extension on the user's current default device. The only difference between this command and the previous example is that this command is entered from within the Disk File Optimizer utility instead of from the DCL prompt. 3.$ DEFRAGMENT FILE SYS$SYSDEVICE:[000000...]*.C This command is the same as the previous one, except that the RMS default string is now explicitly identified as SYS$SYSDEVICE:[000000...]*.C;*. 4.$ DEFRAGMENT FILE SYS$LOGIN:LOGIN.COM;2/EXCLUDE=*.OLD;* This command defragments the user's LOGIN.COM file and excludes all files with a .OLD extension. 5.$ DEFRAGMENT FILE/INHERIT=OTHER_FILE_SCRIPT.NOAFTER This commands creates a file script identical to the OTHER_ FILE_SCRIPT and allows the Disk File Optimizer to name it (DFG$XXX). 6.$ DEFRAGMENT FILE SYS$SYSTEM:[000000...]*.RDB/INHERIT=X/SCRIPT=Y This command creates a script called Y . Other script characteristics, such as log file, are inherited from script X. 2 HELP The HELP subcommand invokes VMS Help for the Disk File Optimizer utility. Format DEFRAGMENT HELP 3 Parameters None. 3 Restrictions None. 3 Qualifiers None. 3 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. 2 MODIFY The MODIFY subcommand allows you to change the qualifiers associated with a particular script. Format DEFRAGMENT MODIFY { script-name } [ /QUALIFIERS ] 3 Parameters script-name The script-name parameter identifies the script to modify. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. 3 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. 3 Qualifiers /AFTER /AFTER={time} /AFTER={current_time} (default) /NOAFTER The /AFTER qualifier keeps the script from executing until after the specified time. You can specify time as either an absolute time or as a combination of absolute and delta times. For complete information on specifying time values, see the OpenVMS User's Manual. The /AFTER qualifier has three states. It can be specified with a valid time, it can be omitted from the command line, or it can be negated (/NOAFTER). If /AFTER is specified with a valid time, the script is scheduled to execute after that time. If the /AFTER qualifier is omitted, the defragmentation software processes the command as if the /AFTER qualifier were specified with the current time. If /NOAFTER is specified, no starting time is associated with the script being defined. The /NOAFTER qualifier allows you to define a script without scheduling it to execute. To subsequently start the script, use the START subcommand. /BRIEF /BRIEF (default) /NOBRIEF The /BRIEF qualifier may only be used when the /LOG qualifier is also present. The /BRIEF qualifier requests a brief log of all actions taken by the defragmentation process. This log includes beginning and ending volume status information. The /BRIEF and /FULL qualifiers are mutually exclusive, and /NOBRIEF produces the same result as /FULL. The /BRIEF qualifier is the default. /CONSOLIDATE_FREESPACE /CONSOLIDATE_FREESPACE /NOCONSOLIDATE_FREESPACE (default) The /CONSOLIDATE_FREESPACE qualifier tells the Disk File Optimizer to use its free space consolidation algorithm. /CONTINUOUS /CONTINUOUS /NOCONTINUOUS (default) The /CONTINUOUS qualifier causes the script to execute repeatedly. After each successful defragmentation operation, the script becomes eligible for execution again. As long as any PROCESS_ LIMITs (see the SET subcommand) are not violated, the script executes repeatedly. If all PROCESS_LIMITs have been reached, the script is queued until an outstanding defragmentation process completes, then the script is allowed to execute. By default, the defragmentation process associated with a script may execute on any appropriately licensed node in a cluster. Thus, successive defragmentation processes do not necessarily execute on the same node. /DORMANT /DORMANT=(file-spec[,...]) /NODORMANT (default) The /DORMANT qualifier indicates files to be considered dormant when final file placement decisions are made. Dormant files are placed at the high end of the volume. If a file is indicated in both the DORMANT and FREQUENT lists, it is considered dormant. If a file is indicated in both the EXCLUDE and DORMANT lists, it is excluded. NOTE The amount of free space on the volume, the number of files currently being accessed, and other factors influence file placement. The Disk File Optimizer does not guarantee file placement, but makes every effort to place files as described. /EPILOGUE /EPILOGUE={file-name} /NOEPILOGUE (default) The /EPILOGUE qualifier identifies a DCL command file which DFO executes upon completion of the DEFRAGMENT operation. Mounting or dismounting the disks cannot be done through the Command file specified. /EXCLUDE /EXCLUDE=(file-spec[,...]) /NOEXCLUDE (default) The /EXCLUDE qualifier specifies files to be excluded from processing. The defragmentation process ignores files matching the listed file specifications. Any file indicated in the EXCLUDE list and in either the FREQUENT or DORMANT lists is excluded from processing. NOTE The defragmentation process always excludes system files, open files, files excluded in an options file (/OPTIONS qualifier), and files excluded using the /IGNORE qualifier. /FILES /FILES=(file-spec[,...]) The /FILES qualifier modifies the list of files to be defragmented. /FREQUENT /FREQUENT=(file-spec[,...]) /NOFREQUENT (default) The /FREQUENT qualifier indicates files to be considered frequently accessed when final file placement decisions are made. Frequent files are placed toward the center of the volume. If a file is indicated in both the FREQUENT and DORMANT lists, it is considered dormant. If a file is indicated in both the FREQUENT and EXCLUDE lists, it is excluded. NOTE The amount of free space on the volume, the number of files currently being accessed, and other factors influence file placement. The Disk File Optimizer does not guarantee file placement, but makes every effort to place files as described. /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. /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. /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. /INTERVAL /INTERVAL={delta-time} /NOINTERVAL (default) Causes a script to execute at regularly scheduled intervals. The /INTERVAL qualifier specifies the minimum time between two consecutive executions of a script. Specify time as a delta time. Refer to the OpenVMS User's Manual for more information on specifying times. If you do not specify a time with the /INTERVAL qualifier, a default value of 1 day is used. This value causes the associated script to run every 24 hours. If you specify the /AFTER qualifier with the /INTERVAL qualifier, the first defragmentation operation occurs at or after the time specified by the /AFTER qualifier; all subsequent operations execute at intervals set according to the /INTERVAL qualifier. /LEVEL /LEVEL={n} /LEVEL=2 (default) The defragmentation process selects files for defragmentation (from among those not excluded) based on the /LEVEL qualifier. Once a file is selected as a candidate, the defragmentation process attempts to fully defragment that file (make it 100 percent contiguous). Specify the level number as an integer ranging from one to five: o /LEVEL=1 Any file that is not 100 percent contiguous, or that can be selected using levels two and three, is a candidate for defragmentation. o /LEVEL=2 (default) Any file whose extents cannot be completely mapped by the mapping window, or that can be selected using level three, is a candidate for defragmentation. The default window value is seven and can be set for a given volume using: $ SET VOLUME {device-spec}/WINDOWS=[n] o /LEVEL=3 Any file with retrieval pointers in more than one file header is a candidate for defragmentation. o /LEVEL=4 The defragmentation process for level four processing performs only free space consolidation. This level is used with the /CONSOLIDATE_FREESPACE qualifier. o /LEVEL=5 This level requests a volume analysis only; no defragmentation occurs. The statistical results are available in the log file, which is required when /LEVEL=5 is selected (see the /LOG qualifier). If level 5 is selected, the /LEVEL=2 candidate file specifications are listed in the full log file. /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. /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. /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. /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. /OPTIONS /OPTIONS={file-spec} /NOOPTIONS (default) The /OPTIONS qualifier provides an alternate method for associating files with the /DORMANT, /EXCLUDE, or /FREQUENT qualifiers. If the list of files for any of these qualifiers is long, you can create a separate file for this information. Each record in the options file consists of a file name followed by one of the following keywords: o /EXCLUDE-File to be excluded o /FREQUENT-File to be considered frequently accessed o /DORMANT-File to be considered dormant The following example shows the contents of an options file called MYOPTFILE.OPT. This file specifies that all files on the target device called FILE1.EXE are frequent files, all files in the [ARCHIVE] directory are to be excluded, and all files in the [OLDSTUFF] directory and its subdirectories are dormant. FILE1.EXE/FREQUENT [ARCHIVE]*.*;*/EXCLUDE [OLDSTUFF...]*.*;*/DORMANT Files indicated by the /EXCLUDE qualifier and by either the /DORMANT or /FREQUENT qualifier are excluded. Files indicated by the /DORMANT qualifier and by the /FREQUENT qualifier are considered dormant. This rule is applied equally across all files specified in the /OPTIONS file, as well as those associated with these qualifiers on the command line. /PREDECESSOR /PREDECESSOR={script-name} /NOPREDECESSOR (default) The /PREDECESSOR qualifier identifies the name of the script that precedes the execution of this script in a linked set of scripts. These scripts execute in sequence; one successfully completes before the next one begins. The predecessor script name must exist in the scheduling database or an error status message is returned. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script- name specification. /PRIORITY /PRIORITY=(DEFAULT=n, MINIMUM=n) /NOPRIORITY (default) The /PRIORITY qualifier specifies priorities for the defragment process. The minimum priority setting is used when the defragmentation process exceeds the value specified by either /CPU_LIMIT or /IO_LIMIT. /PROLOGUE /PROLOGUE={file-name} /NOPROLOGUE (default) The /PROLOGUE qualifier identifies a DCL command file which DFO executes just before the Defragment operation starts. Mounting or dismounting the disks cannot be done through the Command file specified. /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. /SCRIPT /SCRIPT={script-name} /NOSCRIPT (default) The /SCRIPT qualifier assigns a new name to a script. If a duplicate script-name is selected, defragmentation software issues a duplicate script name error message and does not enter the new script into the database-no defragmentation takes place. A script name may be up to 64 characters in length and may contain any of the following characters: o Any alphanumeric character o Underscore ( _ ) o Hyphen ( - ) o Dollar sign ( $ ) Observe the following rules when naming a script: o Use any combination of uppercase and lowercase letters. o Do not begin script names using the dollar sign. However, you can include the dollar sign within the script name. (The dollar sign is reserved for special use by HP.) o Do not end a script name with a hyphen, since the hyphen is the DCL continuation character. The OpenVMS User's Manual contains more information on naming conventions. /TIME_LIMIT /TIME_LIMIT={delta-time} /NOTIME_LIMIT (default) The /TIME_LIMIT qualifier specifies the maximum elapsed time allowed for a given defragmentation operation. If the time limit is exceeded, the defragmentation process is aborted. Specify time as a delta time. Refer to the OpenVMS User's Manual for more information on specifying times. For linked scripts, the time limit of the first script applies to the whole set. Time limits specified with successor scripts apply to these scripts only. If the time limit is set unreasonably low, the defragmentation process may not accomplish useful defragmentation. /VOLUME /VOLUME={volume-name} /NOVOLUME (default) Identifies the volume where the files reside. /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. 3 Examples The following examples show how to modify an existing scripts using the common qualifiers: 1.$ DEFRAGMENT MODIFY C/SCRIPT=A This command changes the name of script C to A. 2.$ DEFRAGMENT MODIFY */MAIL_NOTIFICATION This command turns on mail notification for all scripts in the database. 3.$ DEFRAGMENT MODIFY myscript/LOG=new_log/NOPREDECESSOR This command causes subsequent executions of myscript to generate a log file called NEW_LOG.LOG, located in the user's default directory. The NOPREDECESSOR qualifier disassociates myscript from its predecessor. However, any script for which myscript is a predecessor remains dependent upon the execution of myscript. 4.$ DEFRAGMENT MODIFY *C/SCRIPT=*D This command changes the name of each script that ends in C to end in D. For instance, DAILYC becomes DAILYCD. 2 MONITOR The MONITOR subcommand displays the the progress of an ongoing defragmentation processes on a terminal. Format DEFRAGMENT MONITOR { script-name|volume-name } [ /QUALIFIERS ] 3 Parameters script-name|volume-name The parameter for the MONITOR subcommand is either a script name or a volume name for Defrag PLUS. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. If a volume name is supplied, then you must use the /VOLUME qualifier to tell Defrag PLUS the parameter is a volume name, rather than a script name. 3 Restrictions o If a volume name is entered as a parameter, the /VOLUME qualifier must be used. 3 Qualifiers /CONTINUOUS /CONTINUOUS (default) /NOCONTINUOUS The /CONTINUOUS qualifier invokes a continuous monitor display. Entering Ctrl/C, Ctrl/Y, or Ctrl /Z terminates this display. Using /NOCONTINUOUS provides a snapshot display and then returns to the DCL prompt. /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. 3 Examples The following are examples of invoking the monitor: 1.$ DEFRAGMENT MONITOR MY_SCRIPT/NOVOLUME In this example, the monitor function displays ongoing run-time statistics for the defragmentation process associated with MY_ SCRIPT. It also displays an approximate free-space map of the target volume. The display continues until interrupted with a Ctrl/C, Ctrl/Y, or Ctrl/Z because the /CONTINUOUS qualifier is present by default. 2.$ DEFRAGMENT MONITOR DISK$ONE/NOCONTINUOUS In this example, the defragmentation process executing against DISK$ONE is monitored. Since the /NOCONTINUOUS qualifier was specified, the monitor function samples the defragmentation process statistics and the free space on DISK$ONE one time before exiting to the DCL prompt. 2 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 ]) 3 Parameters volume-name The volume-name is the name of the volume containing the INDEXF.SYS file to be defragmented. 3 Restrictions o This command is only valid on a disk device that is not mounted. If the device is mounted, an error occurs and the process will abort. This command cannot work on the system disk because it is always mounted. o For a bound volume set, this utility only works on the "ROOT" volume. o For disk volumes in a shadow set (single member or otherwise), the following restrictions apply: o Do not specify the virtual unit name to defragment (for example: DSAnnnn:). o Specify only one physical device name (for example: $1$DUAnnnn:). o Use the following procedure to defragment INDEXF.SYS in a shadow set: 1. Dismount both members of the shadow set. 2. Mount one of the physical disk volumes with /OVERRIDE=SHADOW and then dismount it before doing the defragmentation. If you do not do this, you will receive the following error: %SYSTEM-F-WRITLCK, write lock error 3. Defragment the INDEXF.SYS on the disk volume. 4. Mount the disk volume into the shadow set. 5. Add the disk volume that was not defragmented into the shadow set. Mounting this disk volume causes a full copy operation. o If you experience a power failure during the defragmentation of INDEXF.SYS, you may need to do the following: - Repair alternate index file header and index file bitmap by doing a ANALYZE/DISK/REPAIR. - Delete disk:[000000]DFG$DEFRAG_INDEXF.DAT. 3 Qualifiers /AFTER /AFTER={time} /AFTER={current_time} (default) /NOAFTER The /AFTER qualifier keeps the script from executing until after the specified time. You can specify time as either an absolute time or as a combination of absolute and delta times. For complete information on specifying time values, see the OpenVMS User's Manual. The /AFTER qualifier has three states. It can be specified with a valid time, it can be omitted from the command line, or it can be negated (/NOAFTER). If /AFTER is specified with a valid time, the script is scheduled to execute after that time. If the /AFTER qualifier is omitted, the defragmentation software processes the command as if the /AFTER qualifier were specified with the current time. If /NOAFTER is specified, no starting time is associated with the script being defined. The /NOAFTER qualifier allows you to define a script without scheduling it to execute. To subsequently start the script, use the START subcommand. /EPILOGUE /EPILOGUE={file-name} /NOEPILOGUE (default) The /EPILOGUE qualifier identifies a DCL command file which DFO executes upon completion of the DEFRAGMENT operation. Mounting or dismounting the disks cannot be done through the Command file specified. /INTERVAL /INTERVAL={delta-time} /NOINTERVAL (default) The /INTERVAL qualifier executes a script at regularly scheduled intervals. The /INTERVAL qualifier specifies the minimum time between two consecutive executions of a script. Specify time as a delta time. Refer to the OpenVMS User's Manual for more information on specifying times. If you do not specify a time with the /INTERVAL qualifier, a default value of 1 day is used. This value causes the associated script to run every 24 hours. If you specify the /AFTER qualifier with the /INTERVAL qualifier, the first defragmentation operation occurs at or after the time specified by the /AFTER qualifier; all subsequent operations execute at intervals set according to the /INTERVAL qualifier. /LOG /LOG={file-spec} /NOLOG (default) The /LOG qualifier causes the defragmentation process to create a file containing a list of all its operations. /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. /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. /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. /PROLOGUE /PROLOGUE={file-name} /NOPROLOGUE (default) The /PROLOGUE qualifier identifies a DCL command file which DFO executes just before the Defragment operation starts. Mounting or dismounting the disks cannot be done through the Command file specified. /SCRIPT /SCRIPT={script-name} /NOSCRIPT (default) The /SCRIPT qualifier assigns a user-supplied name to a script. If a duplicate script-name is selected, defragmentation software issues a duplicate script name error message and does not enter the new script into the database-no defragmentation takes place. A script name may be up to 64 characters in length and may contain any of the following characters: o Any alphanumeric character o Underscore ( _ ) o Hyphen ( - ) o Dollar sign ( $ ) Observe the following rules when naming a script: o You may use any combination of uppercase and lowercase letters. o You cannot begin script names using the dollar sign, but you can include the dollar sign within the script name. (The dollar sign is reserved for special use by HP.) o You should not end a script name with a hyphen, since the hyphen is the DCL continuation character. 3 Examples The following examples illustrate how to use the OFFLINE_VOLUME subcommand and its qualifiers. 1.$ DEFRAGMENT OFFLINE_VOLUME $1$DKB100:- /SCRIPT=DEFRAG_OFFLINE_USER1- /NOAFTER $ DISMOUNT/CLUSTER $1$DKB100: $ MOUNT/OVER=ID $1$DKB100: $ ANALYZE/DISK_STRUCTURE $1$DKB100: $ DISMOUNT $1$DKB100: $ DEFRAGMENT START DEFRAG_OFFLINE_USER1 $ MOUNT/OVER=ID $1$DKB100: $ ANALYZE/DISK_STRUCTURE $1$DKB100: $ DISMOUNT $1$DKB100: $ MOUNT/CLUSTER $1$DKB100: USER1 In this example, the following is performed: 1. Create script to defragment INDEXF.SYS on volume 2. Dismount volume from the cluster 3. Mount volume privately to analyze disk structure 4. Check volume for readability and validity of Files-11 structure information 5. Dismount volume to defragment INDEXF.SYS 6. Start OFFLINE_VOLUME script 7. Mount volume privately to analyze disk structure 8. Check volume for readability and validity of Files-11 structure information 9. Dismount volume 10. Mount volume into the cluster 2 REMOVE The REMOVE subcommand deletes the specified script or node from the defragmentation scheduling and parameter database. Format DEFRAGMENT REMOVE { script-name[,...] | node-name[,...] } [ /QUALIFIERS ] 3 Parameters script-name The script-name parameter specifies the script to remove from the defragmentation database. You can use wildcards in the script- name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. This parameter is not allowed if the /ALL qualifier is used. node-name The node-name parameter specifies the node to remove from the defragmentation database. 3 Restrictions o If the /ALL qualifier is used, then the script-name parameter cannot be used. o If the node is a script, it cannot be removed. o If the node has a scheduler or defragmentation process running, it cannot be removed. 3 Qualifiers /AFTER /AFTER=time /NOAFTER (default) The /AFTER qualifier does not delete the script until after the specified time. Specify time as a VMS absolute time or combination absolute and delta time. Refer to the OpenVMS User's Manual for more information on how to specify time. /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. /NODE /NODE The /NODE qualifier removes the specified node name from the scheduling and parameter database. 3 Examples The following example shows how to remove a script after a specified time: 1.$ DEFRAGMENT REMOVE MY_SCRIPT/AFTER=16:30 In this example, MY_SCRIPT is removed from the database. It is removed after 16:30 on the day this command is entered. 2.$ DEFRAGMENT REMOVE MYNODE/NODE In this example, MYNODE is removed from the database. 2 SET The SET subcommand defines or changes the value of the defragmentation process limits. Format DEFRAGMENT SET { (parameter=value[,...]) } [ /QUALIFIERS ] 3 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. 3 Restrictions o None. 3 Qualifiers /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. 3 Examples The following examples show how to set limits using the SET subcommand and its qualifiers: 1.$ DEFRAGMENT SET PROCESS_LIMIT=3, IO_LIMIT=14/NODE=NODE_1 In this example, the maximum number of defragmentation processes that can occur on NODE_1 is 3. Further, a restriction of 14 direct I/Os per second is placed on each of these 3 defragmentation processes. 2.$ DEFRAGMENT SET CPU_LIMIT=50 In this example, the maximum CPU resources allocated to any defragmentation process is set to 50 percent on all nodes in the system. If a defragmentation process exceeds this limit, its priority is decremented each minute (approximately) until it reaches the SYSGEN parameter, DEFPRI, minus 1. 2 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 ] 3 Parameters script-name|volume-name The parameter for the SHOW subcommand is either a script name or a volume name. Names can be omitted if the /ALL qualifier is used. If a script name is supplied or if the /PARAMETERS qualifier is specified, the SHOW command queries the scheduling database and displays this information. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. If a volume name is supplied (/VOLUME required), the SHOW command displays information about the fragmentation state of the specified volume. A list of names can be provided, but the list cannot contain both script and volume names. 3 Restrictions o If showing a script or volume, do not use the /ALL qualifier o If showing a volume, then you must use the /VOLUME qualifier 3 Qualifiers /ALL /ALL /NOALL (default) The /ALL qualifier is used to show information from the scheduling database. It displays information about all scripts and parameters in the scheduling database. If /ALL is used, the script-name parameter is not allowed. /COMMAND_LINE /COMMAND_LINE /NOCOMMAND_LINE (default) The /COMMAND_LINE qualifier is used to show information from the scheduling database. It formats the output of the SHOW subcommand as a valid DEFRAGMENT command line. Thus, all the data in the scheduling database can be extracted into a file ( /ALL/COMMAND_LINE/OUTPUT=file.ext). /DEVICE /DEVICE=(device_spec[,device_spec])... The /DEVICE qualifier selects only the named scripts on the specified devices. /FILE_LIST /FILE_LIST=(min_extents) /FILE_LIST=(VOL_MAP_WINDOW + 1) (default) The /FILE_LIST qualifier is used to show the fragmentation state of a volume. It lists all files on the volume that have min_extents or more extents (fragments). By default, the number of file window mapping pointers set for the volume (INITIALIZE {volume}/WINDOW=n) plus one is used. This value lists all files that require at least one window turn to completely map. /FREE_LIST /FREE_LIST /NOFREE_LIST (default) The /FREE_LIST qualifier is used to show the fragmentation state of the volume. It lists the location and size of all of the freespace extents on the volume. /HISTOGRAM /HISTOGRAM /NOHISTOGRAM (default) The /HISTOGRAM qualifier is used to show the fragmentation state of a volume. It generates two histograms. The first plots the number of files against the number of extents per file and provides information about how many files are fragmented and how badly they are fragmented. The second histogram plots the number of freespace extents (holes) against the size of these freespace extents. It provides information about how many freespace extents are on the volume and their sizes. /LOCATION /LOCATION=(file-spec[,...]) /NOLOCATION The /LOCATION qualifier is used to show the fragmentation state of the volume. It prints the extents (fragments) associated with all specified files. If no files are specified, the /LOCATION qualifier appends location information to all files listed with the /FILE_LIST qualifier. The supplied file-spec may contain wildcards in place of the directory, file name, extension, or version fields. /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. /NODE /NODE=(node-name[,...]) /NONODE (default) The /NODE qualifier selects only those scripts and node names that are specified on the command line. When used with the /PARAMETERS qualifier, the /NODE qualifier displays CPU_LIMIT, IO_LIMIT, and PROCESS_ LIMIT information for specified nodes only. If the /NODE qualifier is not used, the /PARAMETERS qualifier displays this information for all nodes in the scheduling database. /OUTPUT /OUTPUT={file-spec} /OUTPUT=SYS$OUTPUT (default) The /OUTPUT qualifier may be used to show the volume fragmentation state or to show information from the scheduling database. It directs the output of the SHOW subcommand to a file. By default, output is directed to SYS$OUTPUT. /PARAMETERS /PARAMETERS /NOPARAMETERS (default) The /PARAMETERS qualifier is used to show information from the scheduling database. It displays the CPU_ LIMIT, IO_LIMIT, and PROCESS_LIMIT settings for all nodes in the scheduling database (unless specific nodes are designated with the /NODE qualifier). By default, these settings are not shown. /RUNNING /RUNNING The /RUNNING qualifier shows scripts that are currently running. /STATISTICS /STATISTICS (default) /NOSTATISTICS The /STATISTICS qualifier is used to show the volume fragmentation state. It provides a summary of the file and free space fragmentation for the volume. /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. 3 Examples The following are examples of the SHOW subcommand and its qualifiers: 1.$ DEFRAGMENT SHOW/PARAMETERS In this example, the current values of CPU_LIMIT, IO_LIMIT and PROCESS_LIMIT for all nodes in the scheduling database are shown. 2.$ DEFRAGMENT SHOW MY_SCRIPT/OUTPUT=OUTPUT.TXT In this example, information associated with MY_SCRIPT is displayed. No parameter information is displayed. Output is directed to a file called OUTPUT.TXT. NOTE If output is directed to a filename without extension, the file is given a default extension of .lis. 3. $ DEFRAGMENT SHOW MY_SCRIPT/COMMAND_LINE/PARAMETERS In this example, information associated with MY_SCRIPT is displayed. The current values of CPU_LIMIT, IO_LIMIT and PROCESS_LIMIT for all nodes in the scheduling database are also shown. The format for the information is a valid DEFRAGMENT command line. Output is directed to the user's SYS$OUTPUT device. If output is directed to a filename without extension, the file is given a default extension of .lis. 4.$ DEFRAGMENT SHOW MY_VOLUME/OUTPUT=OUTPUT.TXT In this example, information associated with MY_VOLUME is displayed. Output is directed to a file called OUTPUT.TXT. 5.$ DEFRAGMENT SHOW DISK$ONE/VOLUME/HISTOGRAM In this example, the volume fragmentation report includes the summary statistics (/STATISTICS is default) and histograms for both file fragmentation and freespace fragmentation. The report is sent to the SYS$OUTPUT device. 2 SPAWN The Disk File Optimizer SPAWN subcommand creates a subprocess and executes a DCL command in the subprocess, or transfers terminal control to the subprocess if no command is supplied. Format DEFRAGMENT SPAWN [ command ] 3 Parameters command This is a DCL command string of less than 132 characters that is to be executed in the context of the created subprocess. After the command is executed, the subprocess terminates and control returns to the parent process. A command is optional. If no command is supplied, control passes to DCL. 3 Restrictions None. 3 Qualifiers None. 3 Examples The following are examples of the SPAWN command: 1.$ DEFRAGMENT DFO> SPAWN $ The SPAWN command creates a subprocess and transfers terminal control to the created subprocess. 2. DFO> SPAWN SHOW DEFAULT DISK$1:[JONES] DFO> The SPAWN command creates a subprocess and executes the DCL command SHOW DEFAULT in the created subprocess. Control then returns to the Disk File Optimizer parent process. 2 START The START subcommand starts the specified script. Format DEFRAGMENT START { script-name[,...] } [ /QUALIFIERS ] 3 Parameters script-name The script-name parameter is the name of the script(s) to be started. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. 3 Restrictions None. 3 Qualifiers /AFTER /AFTER=time /NOAFTER (default) The /AFTER qualifier keeps the script from starting until after the specified time. You can specify time as either an absolute time or as a combination of absolute and delta times. For complete information on specifying time values, see the OpenVMS User's Manual. 3 Examples The following example shows how to start a script: 1.$ DEFRAGMENT START MY_SCRIPT/AFTER=16:30 In this example, MY_SCRIPT is started. The /AFTER qualifier stipulates that MY_SCRIPT should start after 16:30 of the day this command is submitted. If the script is periodic, the period is unchanged. 2 VOLUME The DEFRAGMENT VOLUME subcommand defragments the volume named on the command line according to the defragment command line qualifiers. Format DEFRAGMENT VOLUME { volume-name } [ /QUALIFIERS ] 3 Parameters volume-name The volume-name parameter is the name of the volume to be defragmented. 3 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. 3 Qualifiers /AFTER /AFTER={time} /AFTER={current_time} (default) /NOAFTER The /AFTER qualifier keeps the script from executing until after the specified time. You can specify time as either an absolute time or as a combination of absolute and delta times. For complete information on specifying time values, see the OpenVMS User's Manual. The /AFTER qualifier has three states. It can be specified with a valid time, it can be omitted from the command line, or it can be negated (/NOAFTER). If /AFTER is specified with a valid time, the script is scheduled to execute after that time. If the /AFTER qualifier is omitted, the defragmentation software processes the command as if the /AFTER qualifier were specified with the current time. If /NOAFTER is specified, no starting time is associated with the script being defined. The /NOAFTER qualifier allows you to define a script without scheduling it to execute. To subsequently start the script, use the START subcommand. /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. /CONSOLIDATE_FREESPACE /CONSOLIDATE_FREESPACE (default) /NOCONSOLIDATE_FREESPACE The /CONSOLIDATE_FREESPACE qualifier tells the Disk File Optimizer to use its free space consolidation algorithm. /CONTINUOUS /CONTINUOUS /NOCONTINUOUS (default) The /CONTINUOUS qualifier causes the script to execute repeatedly. After each successful defragmentation operation, the script becomes eligible for execution again. As long as any PROCESS_ LIMITs (see the SET subcommand) are not violated, the script executes repeatedly. If all PROCESS_LIMITs have been reached, the script is queued until an outstanding defragmentation process completes, then the script is allowed to execute. By default, the defragmentation process associated with a script may execute on any appropriately licensed node in a cluster. Thus, successive defragmentation processes do not necessarily execute on the same node. /DORMANT /DORMANT=(file-spec[,...]) /NODORMANT (default) The /DORMANT qualifier indicates files to be considered dormant when final file placement decisions are made. Dormant files are placed at the high end of the volume. If a file is indicated in both the DORMANT and FREQUENT lists, it is considered dormant. If a file is indicated in both the EXCLUDE and DORMANT lists, it is excluded. NOTE The amount of free space on the volume, the number of files currently being accessed, and other factors influence file placement. The Disk File Optimizer does not guarantee file placement, but makes every effort to place files as described. /EPILOGUE /EPILOGUE={file-name} /NOEPILOGUE (default) The /EPILOGUE qualifier identifies a DCL command file which DFO executes upon completion of the DEFRAGMENT operation. Mounting or dismounting the disks cannot be done through the Command file specified. /EXCLUDE /EXCLUDE=(file-spec[,...]) /NOEXCLUDE (default) The /EXCLUDE qualifier specifies files to be excluded from processing. The defragmentation process ignores files matching the listed file specifications. Any file indicated in the EXCLUDE list and in either the FREQUENT or DORMANT lists is excluded from processing. NOTE The defragmentation process always excludes system files, open files, files excluded in an options file (/OPTIONS qualifier), and files excluded using the /IGNORE qualifier. /FREQUENT /FREQUENT=(file-spec[,...]) /NOFREQUENT (default) The /FREQUENT qualifier indicates files to be considered frequently accessed when final file placement decisions are made. Frequent files are placed to optimize access speed. If a file is indicated in both the FREQUENT and DORMANT lists, it is considered dormant. If a file is indicated in both the FREQUENT and EXCLUDE lists, it is excluded. NOTE The amount of free space on the volume, the number of files currently being accessed, and other factors influence file placement. The Disk File Optimizer does not guarantee file placement, but makes every effort to place files as described. /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. /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. /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. /INHERIT /INHERIT={script-name} /NOINHERIT (default) The purpose of the /INHERIT qualifier is to make script creation easier. By inheriting most of the command data from a previously entered script and modifying only a few items (such as volume name), a completely new script can be created. The /INHERIT qualifier creates a database entry for a new script in the following way: o Copies all fields from the specified script to the new script. o Overwrites any qualifier or parameter values in the new script with those specified on the command line. o Names the new script as appropriate. The user may specify a script name using the /SCRIPT={script- name} qualifier. Otherwise, the defragmentation software creates a unique script name. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script-name specification. /INTERVAL /INTERVAL={delta-time} /NOINTERVAL (default) The /NOINTERVAL qualifier executes a script at regularly scheduled intervals. The /INTERVAL qualifier specifies the minimum time between consecutive executions of a script. Specify time as a delta time. Refer to the OpenVMS User's Manual for more information on specifying times. If you do not specify a time with the /INTERVAL qualifier, the default value of 24 hours is used. If you specify the /AFTER qualifier with the /INTERVAL qualifier, the first defragmentation operation occurs at or after the time specified by the /AFTER qualifier; all subsequent operations execute at intervals set with the /INTERVAL qualifier. /LEVEL /LEVEL={n} /LEVEL=2 (default) The defragmentation process selects files for defragmentation (from among those not excluded) based on the /LEVEL qualifier. Once a file is selected as a candidate, the defragmentation process attempts to fully defragment that file (make it 100 percent contiguous). Specify the level number as an integer ranging from one to five: o /LEVEL=1 Any file that is not 100 percent contiguous, or that can be selected using levels two and three, is a candidate for defragmentation. o /LEVEL=2 (default) Any file whose extents cannot be completely mapped by the mapping window, or that can be selected using level three, is a candidate for defragmentation. The default window value is seven and can be set for a given volume using: $ SET VOLUME {device-spec}/WINDOWS=[n] o /LEVEL=3 Any file with retrieval pointers in more than one file header is a candidate for defragmentation. o /LEVEL=4 The defragmentation process for level four processing performs only free space consolidation. This level is used with the /CONSOLIDATE_FREESPACE qualifier. o /LEVEL=5 This level requests a volume analysis only; no defragmentation occurs. The statistical results are available in the log file, which is required when /LEVEL=5 is selected (see the /LOG qualifier). If level 5 is selected, the /LEVEL=2 candidate file specifications are listed in the full log file. /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. /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. /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. /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. /OPTIONS /OPTIONS={file-spec} /NOOPTIONS (default) The /OPTIONS qualifier provides an alternate method for associating files with the /DORMANT, /EXCLUDE, or /FREQUENT qualifiers. If the list of files for any of these qualifiers is long, you can create a separate file for this information. Each record in the options file consists of a file name followed by one of the following keywords: o /EXCLUDE-File to be excluded o /FREQUENT-File to be considered frequently accessed o /DORMANT-File to be considered dormant The following example shows the contents of an options file called MYOPTFILE.OPT. This file specifies that all files on the target device called FILE1.EXE are frequent files, all files in the [ARCHIVE] directory are to be excluded, and all files in the [OLDSTUFF] directory and its subdirectories are dormant. FILE1.EXE/FREQUENT [ARCHIVE]*.*;*/EXCLUDE [OLDSTUFF...]*.*;*/DORMANT Files indicated by the /EXCLUDE qualifier and by either the /DORMANT or /FREQUENT qualifier are excluded. Files indicated by the /DORMANT qualifier and by the /FREQUENT qualifier are considered dormant. This rule is applied equally across all files specified in the /OPTIONS file and on the command line. /PREDECESSOR /PREDECESSOR={script-name} /NOPREDECESSOR (default) The /PREDECESSOR qualifier links scripts. These scripts execute in sequence; one successfully completes before the next one begins. The predecessor script name must exist in the scheduling database or an error status message is returned. You can use wildcards in the script-name specification. Use an asterisk (*) to take action on all scripts on the VAXcluster system; use a percent sign (%) to match a single character in the script- name specification. /PRIORITY /PRIORITY=(DEFAULT=n, MINIMUM=n) /NOPRIORITY (default) The /PRIORITY qualifier specifies priorities for the defragment process. The minimum priority setting is used when the defragmentation process exceeds the value specified by either /CPU_LIMIT or /IO_LIMIT. /PROLOGUE /PROLOGUE={file-name} /NOPROLOGUE (default) The /PROLOGUE qualifier identifies a DCL command file which DFO executes just before the Defragment operation starts. Mounting or dismounting the disks cannot be done through the Command file specified. /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. /SCRIPT /SCRIPT={script-name} /NOSCRIPT (default) The /SCRIPT qualifier assigns a user-supplied name to a script. If a duplicate script-name is selected, defragmentation software issues an error message and does not enter the new script into the database-no defragmentation takes place. A script name may be up to 64 characters in length and may contain any of the following characters: o Any alphanumeric character o Underscore ( _ ) o Hyphen ( - ) o Dollar sign ( $ ) Observe the following rules when naming a script: o Use any combination of uppercase and lowercase letters. o Do not begin script names using the dollar sign, however you can include the dollar sign within the script name. (The dollar sign is reserved for special use by HP.) o Do not end a script name with a hyphen, since the hyphen is the DCL continuation character. If you do not supply a script name using the /SCRIPT qualifier, the defragmentation software generates a unique script name. This internally generated name has the format DFG$SCRIPTX[X...], where X is a hexadecimal number that keeps the script names unique. Names beginning with DFG$ are reserved for use by the defragmentation software. /TIME_LIMIT /TIME_LIMIT={delta-time} /NOTIME_LIMIT (default) The /TIME_LIMIT qualifier specifies the maximum elapsed time allowed for a given defragmentation operation. If the time limit is exceeded, the defragmentation process is aborted. Specify time as a delta time. Refer to the OpenVMS User's Manual for more information on specifying times. For linked scripts, the time limit of the first script applies to the whole set. Time limits specified with successor scripts apply to these scripts only. If the time limit is set unreasonably low, the defragmentation process may not accomplish useful defragmentation. /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. 3 Examples The following are examples of the DEFRAGMENT VOLUME command: 1.$ DEFRAGMENT VOLUME DISK$USER_1 This command defragments DISK$USER_1 using default qualifiers. The defragmentation process executes only once. In a VAXcluster system, the defragment operation begins on a node selected at random from among those nodes in the scheduling database having fewer executing processes than the limit imposed by the SET PROCESS_LIMIT={value} subcommand. If all nodes are busy with a maximum number of defragment processes, the script does not execute until one of the outstanding defragmentation operations concludes. After the defragmentation process stops, the script is removed from the scheduling database. 2.$ DEFRAGMENT VOLUME DISK$ONE/SCRIPT=MY_SCRIPT/IGNORE=(INDEXED,PLACED)- /INTERVAL=2-00:00/FREQUENT=*.EXE/LOG=MYLOG.LOG/FULL/DORMANT=*.ARCHIVE- /NODE=(N1, N2) This command does the following: o Defragments DISK$ONE. o Names the script MY_SCRIPT. o Instructs the defragmentation process to ignore all RMS indexed files and files with explicit placement control information in their headers. (These files are added to the EXCLUDE list.) o Instructs the scheduler to execute this script every two days. o Instructs the defragmentation process that all .EXE files on the entire volume should be considered frequently accessed when final file placement decisions are made. o Requests a log file, MYLOG.LOG, which is placed in the directory from which this command was entered. o Requests a /FULL log file. o Instructs the defragmentation process that all .ARCHIVE files on the entire volume should be considered dormant (rarely accessed) when final file placement decisions are made. o Limits the nodes available for the defragmentation process to nodes N1 and N2. 3.$ DEFRAGMENT VOLUME DISK$TWO/INHERIT=MY_SCRIPT/SCRIPT=FIRST_SCRIPT This command inherits the script defined in the previous example. Thus, it creates a new script that is the same as MY_SCRIPT, except for the following differences: o The script name is FIRST_SCRIPT instead of MY_SCRIPT. o The target volume is DISK$TWO instead of DISK$ONE. In this case, MYLOG.LOG is also inherited. Thus, one version of the log file contains data from MY_SCRIPT, and the other version contains data from FIRST_SCRIPT. To prevent log file inheritance, specify the /LOG qualifier. 4.$ DEFRAGMENT VOLUME DISK$ONE/SCRIPT=SECOND_SCRIPT- /PREDECESSOR=FIRST_SCRIPT This commands links SECOND_SCRIPT to FIRST_SCRIPT using the /PREDECESSOR qualifier. SECOND_SCRIPT does not execute until FIRST_SCRIPT completes successfully. SECOND_SCRIPT uses default parameters. Note that this example uses the DEFRAGMENT VOLUME command from within the Disk File Optimizer utility. 5.$ DEFRAGMENT VOLUME DISK$ONE/SCRIPT=AFTER_SCRIPT/AFTER="+00:05" This command creates the script AFTER_SCRIPT, and it will start executing in 5 minutes. 2 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. 2 Logicals DFO Logical names are recognized by the prefix DFG$ Table 1 Logical Names Installation Logical Name Variant Purpose DFG$DATABASE Defrag Equates to the device:[dir] PLUS specification where the database resides. Also located in this directory are the scheduler log files, which have a name of DFG$_ xxxx.LOG, where xxxx is the name of the node on which the scheduler is running. DFG$DISK All Provided to the EPILOGUE and PROLOGUE command files. It translates to the name of the disk on which DFO currently operates. DFG$MAIL_ Defrag Equates to a file name containing ADDRESS PLUS a mail distribution list of those who should receive notification when defragmentation processes complete. DFG$MESSAGE All Equates to SYS$MESSAGE:DFG$MESSAGE.EXE, which is the shareable image containing all the defragmentation-specific messages. This logical is used only if you install the callable interface. DFG$SCRIPT All Provided to the EPILOGUE and PROLOGUE command files. It translates to the name of the script associated with the DFO process. DFG$STATE All Provided to the EPILOGUE and PROLOGUE command files. As appropriate to indicate the state of DFO to the command procedure, it translates to either of these strings PROLOGUE EPILOGUE DFG$STATUS All Provided to the EPILOGUE and PROLOGUE command files. It translates to the current status of the DFO process. For the EPILOGUE command file, this status is the final status of the DFO process. DFG$ASTLM All These logicals affect the associated DFG$BIOLM process quota of any DFO process DFG$BYTLM running on the associated node. DFG$DIOLM DFG$ENQLM DFG$FILLM DFG$JTQUOTA DFG$PGFLQUOTA DFG$PRCLM DFG$TQELM DFG$WSDEFAULT DFG$WSEXTENT DFG$WSQUOTA DFG$TRANSFERSIZE All The logical, DFG$TRANSFERSIZE, helps you tune the Disk File Optimizer. The definition of this logical allows you to change the amount of data that is transferred at one time. On a volume that has files with large extents, you could wait up to 20 minutes while the system transfers these large extents before you could access the file. By defining this logical, you could access this file in less than a minute. This logical changes the impact that the Disk File Optimizer has on applications that are simultaneously accessing the same files. This logical is set to 10,000 blocks by default. You can change it by editing SYS$STARTUP:DFG$STARTUP.COM and then executing the command procedure. . 2 Messages Look for DFO error messages in the following alphabetical order. Most messages contain a facility code, a severity indicator, an identification field and the actual text of the message. Most messages have $FAO formatting control sequences due to which message text begins with an ! mark. 3 ABOFAIL1 failed to abort !AD Explanation: DFG$DEFRAGMENT returned a failure status when it attempted to abort the specified script. This message is a summary message. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 ABOFAIL2 no script was aborted Explanation: DFG$DEFRAGMENT returned a failure status when it attempted to abort all scripts in the scheduling database. This message is a summary message. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 ABORTNOTDONE abort unsuccessful Explanation: An ABORT subcommand was unsuccessful. This is a summary message. This message may or may not indicate an error. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 ABOSEEN abort command already issued for !AD Explanation: An ABORT subcommand had been issued for this script but it had not yet completed when another ABORT subcommand for the same script was issued. User Action: Wait for the command to complete. 3 ACCESSERR access error on file !AD Explanation: A QIO IO$_ACCESS function could not be performed on the given file for reasons detailed in associated messages. This message occurs only in the log file or the /MAIL_NOTIFICATION messages. User Action: Refer to associated messages to determine a course of action. 3 ACLERR BUGCHECK - Map pointer copy would run into ACLs Explanation: The copy made of INDEXF.SYS would run into ACLs. User Action: Clean up disk and restart program. 3 ASSIGNERR channel-assign error for device !AD Explanation: A channel could not be assigned for the indicated device. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 BITMAPCONERR $CONNECT error on file !AD:[000000]BITMAP.SYS Explanation: A $CONNECT RMS service was unsuccessful for the BITMAP.SYS file of the target device. The RMS error is provided in a subsequent message. User Action: Determine a course of action based on the RMS error reported. 3 BITMAPOPENERR $OPEN error on file !AD:[000000]BITMAP.SYS Explanation: A $OPEN RMS system service could not be performed on the BITMAP.SYS file of the target device. The RMS error is provided in a subsequent message. User Action: Determine a course of action based on the RMS error reported. 3 BITMAPREADERR $READ error on file !AD:[000000]BITMAP.SYS Explanation: A $READ RMS system service failed for the BITMAP.SYS file of the target device. The RMS error is provided in a subsequent message. User Action: Determine a course of action based on the RMS error reported. 3 CACHEFLUSHERR unable to flush extent cache for device !AD Explanation: An IO$_ACPCONTROL extent cache flush QIO returned a failure status to the defragmentation process. The root cause is included in associated messages. User Action: Refer to associated messages to determine a course of action. 3 CANCELNOTDONE cancel unsuccessful Explanation: A CANCEL subcommand was unsuccessful. This is a summary message. This message may or may not indicate an error. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 CANFAIL1 failed to cancel !AD Explanation: DFG$DEFRAGMENT returned a failure status when it attempted to cancel the specified script. This message is a summary message. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 CANFAIL2 no script was canceled Explanation: DFG$DEFRAGMENT returned a failure status when it attempted to cancel all scripts in the scheduling database. This message is a summary message. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 CHECKSUMERR Error when copying map pointers for INDEXF.SYS Explanation: An error occurred when mapping the new INDEXF.SYS header pointers. User Action: Submit an SPR. 3 CLOSEIN error closing !AD as input Explanation: An RMS error was encountered when trying to close an input file, such as the options file. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 CLOSEOUT error closing !AD as output Explanation: An RMS error was encountered when trying to close an output file. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 CMDUNKNOWN unknown command; parsing error, please submit an SPR Explanation: This is an internal error. User Action: Submit an SPR. 3 CONNECTERR $CONNECT error on log file !AD Explanation: The RMS $CONNECT service failed for the log file (occurs in the defragmentation process). Associated messages provide the root cause. User Action: Refer to associated messages to determine a course of action. 3 CONSFAIL free-space consolidation failed for !AD Explanation: Free-space consolidation failed for the given disk User Action: None, unless indicated by other messages. 3 COPYRIGHT © Copyright 2003 Hewlett-Packard Development Company,L.P. 3 CPUOUTRNG !SL is an invalid CPU percentage; use 0-100 Explanation: User specified a CPU percent utilization limit that was not within the 0-100 range. User Action: Specify valid CPU percentages from 0 to 100, inclusive. 3 CREATEERR error creating !AD Explanation: The $CREATE RMS service failed for the specified file. Associated messages provide the root cause. User Action: Refer to associated messages to determine a course of action. 3 CREPRCFAIL error creating detached defragmentation process Explanation: The scheduler could not create the detached defragmentation process. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 CRESECFAIL error creating global section Explanation: The global section used for communications could not be created by the scheduler for reasons given in associated error messages. This error is caused by a failure status from the $CRMPSC system service, which could indicate insufficient system wide global section resources. User Action: Refer to associated messages to determine a course of action. 3 DBACCCONSTR constraint violation in relation !AD (operation !AD) Explanation: A constraint in the database was violated. The most common reason is an attempt to enter a duplicate record. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 DBACCDUP duplicate record in relation !AD (operation !AD) Explanation: An attempt was made to enter a duplicate record in the database. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 DBACCERR database-access error; relation !AD, operation !AD, status !SL Explanation: The database could not be accessed. The cause of this problem may be an undefined logical, corrupt database, DFG software error, or RMS software error. User Action: Verify that all DFG logicals are defined. Refer to associated messages to determine if additional action is necessary. 3 DBACCERR2 database-access error: !AD transaction Explanation: The database could not be accessed. The cause of this problem may be an undefined logical, corrupt database, DFG software error, or RMS software error. Associated messages provide more detail. User Action: Verify that all DFG logicals are defined. Refer to associated messages to determine if additional action is necessary. 3 DBACCW database-access warning: relation !AD, operation !AD, sqlcode !SL Explanation: The Rdb software returned a warning status to the scheduler. The problem may be that the database is corrupt, that the disk file optimizer software is in error, or that the Rdb software is in error. User Action: Try the operation again. If the error persists, re- create the database. If the error persists after re-creating the database, submit an SPR. 3 DBACCW2 database-access warning: !AD transaction, sqlcode !SL Explanation: The Rdb software returned a warning status to the scheduler. The problem may be that the database is corrupt, that the disk file optimizer software has is in error, or that the Rdb software is in error. User Action: Try the operation again. If the error persists, re- create the database. If the error persists after re-creating the database, submit an SPR. 3 DBBUSY accessing the defragmentation database; please wait Explanation: Informational message that indicates the DCL interface is waiting for the database access/update to complete. User Action: None. 3 DBCANTREAD cannot read a needed record from relation !AD Explanation: The database could not be read. The cause of this problem may be an undefined logical, corrupt database, DFG software error, or Rdb software error. This problem can also be caused if the RMU Monitor process (RDMS_MONITOR) is not executing. Associated messages provide more detail. User Action: Verify that all DFG logicals are defined and ensure that RDMS_MONITOR is running. If RDMS_MONITOR is not running, it can be started by invoking @SYS$STARTUP:RMONSTART.COM. Refer to associated messages to determine if additional action is necessary. 3 DBCANTWRITE cannot write or update a record in relation !AD Explanation: The database could not be updated. The cause of this problem may be an undefined logical, corrupt database, DFG software error, or Rdb software error. This problem can also be caused if the RMU Monitor process (RDMS_MONITOR) is not executing. Associated messages provide more detail. User Action: Try the command again. If the error persists, re- create the database. If the error persists after re-creating the database, submit an SPR. 3 DBCLEAR clearing database Explanation: A database is being cleared. User Action: None. 3 DBCLEARED database cleared Explanation: A database has been cleared. User Action: None. 3 DBCREATE creating database Explanation: A database is being created. User Action: None. 3 DBCREATED database created Explanation: A database has been created. User Action: None. 3 DBINVXLNAM invalid translated name Explanation: This is an internal error. User Action: Submit an SPR. 3 DBNOREC no record found in relation !AD (operation !AD) Explanation: A database record could not be found. This error can occur if the database is corrupt, the disk file optimizer software is in error, or the Rdb software is in error. User Action: Submit an SPR. 3 DBROLLBACK database updates rolled back Explanation: All updates to the database have been rolled back. User Action: None 3 DBUPDATERR database update failed Explanation: This is a summary message indicating that database updates were unsuccessful. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 DEACCESSERR deaccess error on file !AD Explanation: The specified file could not be deaccessed by the defragmentation process (using the IO$_DEACCESS QIO). Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 DELERR cannot delete !AD, notification message Explanation: An attempt to spawn a subprocess to delete the mail message sent as a result of the /MAIL_NOTIFICATION qualifier failed. This error occurs in the scheduler code. User Action: Refer to associated messages to determine a course of action. 3 DFGNOSTART defragmentation process failed to start Explanation: This message occurs when a defragmentation process cannot be started. Associated messages indicate why. This message does not occur with Defrag PLUS. User Action: Refer to associated messages to determine a course of action. 3 DFGSTART started defragmentation process PID: !XL Explanation: This message indicates that a defragmentation process has been started. This message does not occur with Defrag PLUS. User Action: None. 3 DFGTMO defragmentation process timed out on startup Explanation: The defragmentation process did not map the global section created by the scheduler within a timeout period. User Action: Ensure a copy of DFG$ENGINE_MAIN exists in SYS$SYSTEM and try the command again. If the error persists, submit an SPR. 3 DIOOUTRNG !SL is an invalid direct I/O limit, use positive values Explanation: The user specified a negative number for a direct I/O limit. User Action: Specify positive values for the IO_LIMIT keyword parameter. 3 DIRVERERR directory file !AD is not .DIR;1 Explanation: A file with the directory flag set in its file header is not version 1 or does not have the extension .DIR User Action: Rename or delete the file. 3 DISFAIL1 failed to disable !AD Explanation: This is a summary message indicating DFG$DEFRAGMENT returned a failure status for a DISABLE command. This failure is related to a specific script supplied in the message. Associated messages provide the cause of the failure. User Action: Refer to associated messages to determine a course of action. 3 DISFAIL2 no script was disabled Explanation: This is a summary message indicating the specified script was not disabled. Associated messages indicate the reason the disable operation failed. User Action: Refer to associated messages to determine a course of action. 3 DISKFULL disk !AD too full for defragmentation Explanation: This error occurs when the defragmentation process finds that a disk is too full for defragmentation. The process experiencing the error will terminate (if a single volume or a stripe set was defragmented) or continue with the next volume in the volume set. User Action: None. 3 DUPDEFRAGER duplicate concurrent defragmentation processes for device !AD Explanation: The defragmentation process detected a currently running defragmentation process on the target device. Concurrent defragmentation processes on the same target device are not allowed; thus, this process exits. This ensures that two defragmentation processes do not attempt to defragment the same disk at the same time. User Action: Ensure that no two defragmentation processes attempt to defragment the same device at the same time. 3 DUPSCHED duplicate concurrent scheduler on node !AD Explanation: The scheduler detected another currently running scheduler on the current node. Concurrent schedulers on the same node are not allowed. User Action: Ensure that no two schedulers execute on the same node at the same time. 3 DUPSCRPT duplicate script name: !AD Explanation: An attempt was made to define two scripts with the same name. User Action: Reissue the command using a unique script name for the /SCRIPT qualifier. 3 EMPDFG empty defragmentation item list Explanation: The defragmentation list was empty for a script definition call to DFG$DEFRAGMENT. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 EMPDFGSCH empty defragmentation and scheduling item lists Explanation: Both the scheduler list and the defragmentation list were empty. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 ENAFAIL1 failed to enable !AD Explanation: This is a summary message indicating the specified script was not enabled. Associated messages indicate the reason the enable operation failed. User Action: Refer to associated messages to determine a course of action. 3 ENAFAIL2 no script was enabled Explanation: This is a summary message indicating that no script could be enabled (the user specified /ALL on the command line). Associated messages indicate the reason the enable operation(s) failed. User Action: Refer to associated messages to determine a course of action. 3 ENGLIMEXC process limit exceeded; increase process limit to run Explanation: Starting another defragmentation process on this node would exceed the user-defined maximum number of defragmentation processes for this node. User Action: If the limit is acceptable, no action is required. Otherwise, change the limit using the SET subcommand. 3 ENGMAXTIM time limit exceeded; defragmentation process stopped Explanation: A defragmentation process was terminated because its time limit was exceeded. This is a limit imposed by the user with the /TIME_LIMIT qualifier. User Action: None or change the time limit. 3 ENQLOCKERR error while attempting to queue a process lock for device !AD Explanation: The defragmentation process received an unexpected failure status from the $ENQ system service while trying to get an exclusive lock on the target device. Associated messages provide more detail. This error does not occur for concurrent defragmentation processes. User Action: Refer to associated messages to determine a course of action. 3 EXTHDRERR unable to access extent header(s) for file !AD Explanation: The defragmentation process could not access the given file's extent header(s) through the IO$_ACCESS QIO. User Action: Refer to associated messages to determine a course of action. 3 FREEVMERR unable to free dynamic memory Explanation: The defragmentation process called the LIB$FREE_VM service incorrectly. User Action: Submit an SPR. 3 GETDVIERR error in getting device information from !AD Explanation: The defragmentation process received failure status from the GETDVI system service. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 GETVMERR unable to allocate dynamic memory Explanation: The defragmentation process received failure status from the LIB$GET_VM system service. Associated messages provide more detail. User Action: If the error is due to insufficient system dynamic memory, system resources are insufficient to defragment the volume. If this is not the case, submit an SPR. 3 GLBSECMAPERR unable to map global section Explanation: The defragmentation process could not map the system wide global section created by the scheduler. This error is very unlikely, but could be caused if the scheduler exits after creating the global section and the defragmentation process, but before the defragmentation process has a chance to map the global section. It will also occur if the user tries to run the DFG$ENGINE_MAIN program directly. User Action: None. 3 IDXFILEFULL INDEXF.SYS is completely full. You must delete some files Explanation: The index file or header is full. The program needs at least one free file header. User Action: Delete unneeded file(s). 3 IDXOPT Your index file is already optimal, no further work needed. Explanation: The index file is already optimal. No further work is needed. User Action: None. The program has completed. 3 IEDBDATA logically inconsistent data in relation !AD Explanation: The database contains inconsistent data. The root of the problem may be that the RMS database is corrupt, that the DFG software has an error. User Action: Submit an SPR. Include a dump of the scheduling database contents, if possible. 3 IELOGNAM1 internal error; invalid supersede flag Explanation: This is an internal error. User Action: Submit an SPR. 3 IESCHFILNODTYP relation !AD: illegal file or node type (!SL) Explanation: This is an internal scheduler error. User Action: Submit an SPR. 3 IESCHFUNC illegal function code (!SL) in !AD Explanation: This is an internal scheduler error. User Action: Submit an SPR. 3 IESCHIMPOSS internal logic error in !AD Explanation: This is an internal scheduler error. User Action: Submit an SPR. 3 IESE1 internal memory allocation calculation error; submit an SPR Explanation: A consistency check found the global section allocated was not large enough to hold the necessary data. This is an internal error. User Action: Submit an SPR. 3 IESRCINCONSIS internal error; inconsistent source !AD Explanation: This error occurs when the source for one module is not compatible with the source for another module. User Action: Submit an SPR. 3 IEVERNOD1 internal error while verifying node Explanation: This is an internal error User Action: Submit an SPR. 3 IMEDALL all scripts have been !AD Explanation: Success message for any immediate command (ENABLE, DISABLE) where /ALL was specified. User Action: None. 3 IMEDSUCC script !AD has been !AD Explanation: Success message for any immediate command (ENABLE, DISABLE) where specific scripts were specified. User Action: None. 3 INTERNALERR internal software error number !UL Explanation: This is an internal error encountered in the defragmentation process code. User Action: Submit an SPR. Include the software error number. 3 INTERR internal error: !AD Explanation: This is an internal error. User Action: Submit an SPR. Include the internal error string. 3 INTERR2 internal error: !AD !XL Explanation: This is an internal error. User Action: Submit an SPR. Include the error number and the associated string supplied in the error message. 3 INVDEV device unsuitable for defragmentation Explanation: Target device not suitable for defragmentation. User Action: Ensure that the target device for defragmentation is an ODS-2 volume (or stripe set or volume set). Further, it must be a local device available from the issuing node. 3 INVDEVCONT device not suitable for defragmentation, do you wish to continue (Y, [N])? Explanation: The user specified a device for a defragment operation that is currently unavailable or unsuitable for defragmentation. However, since the device may become available by the time the defragmentation operation begins, the user is allowed the option of continuing or aborting the command. User Action: If the device specified is correct, but is currently off line or, for some other reason, is unsuitable for defragmentation, enter Y in response to the prompt. Otherwise, enter N or press Return to abort the command. 3 INVDEVNAM !AD is an invalid device name Explanation: The supplied device name was invalid. User Action: Specify a valid device name. 3 INVDFGLST invalid defragmentation item list Explanation: The defragmentation list passed to DFG$DEFRAGMENT was invalid, because of one of the following: o A call to DFG$DEFRAGMENT using a scheduler list that indicates the defragmentation list should be empty. For example, DFG$K_ SHOW_SCRIPT must not have a defragmentation item list. o Something was wrong with the semantics of the defragmentation item list, or a particular item descriptor was formatted improperly. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 INVDSLST invalid defragmentation and scheduler item lists Explanation: Both the scheduler list and the defragmentation list passed to DFG$DEFRAGMENT were invalid. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 INVFILNAM !AD is an invalid file specification Explanation: An invalid file name was given for either the log file or the options file. Associated messages describe why the file name is invalid. User Action: Based on the associated messages, specify a valid file name. 3 INVITEMCOMB invalid combination of DFG$K_INTERVAL and DFG$K_PREDECESSOR Explanation: The DFG$K_INTERVAL item descriptor is not allowed with the DFG$K_PREDECESSOR item descriptor in a call to DFG$DEFRAGMENT. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 INVITM invalid item list; item !SL is in error Explanation: This message indicates the dfg_list or sch_ list parameter to DFG$DEFRAGMENT was incorrectly formatted or logically invalid. It provides the item number that was incorrect. Associated messages indicate further errors. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 INVITMLST invalid combination of items in item list Explanation: This message indicates the dfg_list or sch_list parameter to DFG$DEFRAGMENT was logically invalid. One of the lists contained item codes that were not compatible. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 INVITMUKN an item list contained an unknown item code Explanation: This message indicates the dfg_list or sch_list parameter to DFG$DEFRAGMENT contained an item descriptor with an unknown item code. It may also indicate a faulty item_list_2 returned from DFG$DEFRAGMENT as part of the SHOW subcommand. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 INVLMFLIC insufficient license units to run DEFRAGMENT Explanation: The DFG software is not licensed to run on this node. User Action: Install the DFG license. 3 INVLOGNAM !AD is an invalid logical name Explanation: A logical name translation failed because the logical name was invalid. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 INVSCHLST invalid scheduler item list Explanation: The scheduler list passed to DFG$DEFRAGMENT was invalid. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 INVSCRNAM !AD is an invalid script name Explanation: The user tried to name a script using characters that are not supported for script names. User Action: Reenter the script name using valid characters. 3 INVSTARTCMD script !AD already has a queue entry Explanation: The user entered a START subcommand for a script that was already started. User Action: None. 3 INVSTRDSC invalid string descriptor Explanation: An invalid string descriptor was pointed to from an item list passed to DFG$DEFRAGMENT. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 INVSTRDSCNBR invalid string descriptor in item !SL of item list Explanation: An invalid string descriptor was pointed to from an item list passed to DFG$DEFRAGMENT. The item number of the item descriptor containing the offending string descriptor is supplied by this message. User Action: If the call to DFG$DEFRAGMENT was from HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 L5NOLOG log file not specified, but defragmentation level is 5 Explanation: Occurs if /LEVEL=5 is specified without the /LOG qualifier. Defragmentation statistics are unavailable without the /LOG qualifier; thus, it is required when /LEVEL=5 is specified. User Action: Specify /LOG={logfile} when using the /LEVEL=5 qualifier. 3 LIMEXC !AD limit exceeded Explanation: A user-specified CPU_LIMIT, IO_LIMIT, or PROCESS_ LIMIT has been exceeded. User Action: If the limit is correctly set, no action is required. If the limit is incorrect, set a new limit using the SET subcommand. 3 LSTBADVOL incorrect device name !AD specified on file list Explanation: A device name was specified with a file on the frequent, dormant, or exclude lists that does not match the target device name. User Action: Correct the device name or remove it altogether. 3 LVLOUTRNG !SL is an invalid defragmentation level; use 1-5 Explanation: The defragmentation level specified by the user on the command line was not a number from 1 to 5, inclusive. User Action: Specify a valid defragmentation level. 3 MISSING_LOGICAL the logical name !AD is not defined Explanation: A required logical name is not defined. User Action: Define the indicated logical name and try the command again. 3 MISSNGVAL !AD qualifier requires a value in this context Explanation: A qualifier needed a value, such as a script name, but the user did not provide one. User Action: Provide the value requested. 3 MONBRKNDB monitor unable to access database for script information Explanation: This error occurs if the monitor cannot access the scheduling database. The most likely causes of this error are: the logical name DFG$DEFRAGMENT is not defined; the database does not exist. User Action: If this message persists and the other defragmentation software is working (scheduler, DCL interface, defragmentation processes), submit an SPR. 3 MONINVCOL too few columns in display, please resize Explanation: The display has too few columns to display meaningful information. User Action: If your terminal is a DECwindows DECterm, resize the window as appropriate. If your terminal is a VT100-style device, submit an SPR. 3 MONINVROW too few rows in display, please resize Explanation: The display has too few rows to display meaningful information. User Action: If your terminal is a DECwindows DECterm, resize the window as appropriate. If your terminal is a VT100-style device, submit an SPR. 3 MONNOVOL !AD is not currently being defragmented Explanation: An attempt was made to monitor a script that is not executing. User Action: Monitor only executing defragmentation processes. 3 MONRDERR error !SL while reading the monitor interface Explanation: This error occurs if a process cannot read data using the interface that exists between the monitor process, the scheduling process, and the defragmentation process. The process experiencing the error will continue, though not all data may be available for the monitor display. User Action: None. 3 MONUNEXP unexpected error from !AD Explanation: An error occurred in a call to the Screen Management facility (SMG). The SMG routine that returned the error is displayed. A subsequent error message contains the SMG error code. User Action: Refer to the subsequent error message to determine a course of action. 3 MONWRERR error !SL while writing the monitor interface Explanation: This error occurs if a process cannot write data using the interface that exists between the monitor process, the scheduling process, and the defragmentation process. The process experiencing the error will continue, though not all data may be available for the monitor display. User Action: None. 3 MOVFILINFO1 Relative volume number !UL Explanation: This is issued to give more information to the maintainer about a movefile error (either MOVFILQIOERR or MOVFILSTSERR). User Action: Submit an SPR. 3 MOVFILQIOERR QIO error on movefile for volume !AD Explanation: This is an internal error; the movefile QIO was formatted incorrectly by the defragmentation process. User Action: Submit an SPR. 3 MOVFILSTSERR status error on movefile for volume !AD Explanation: The movefile QIO returned an error status to the defragmentation process. Subsequent messages provide the specific error encountered. User Action: Refer to subsequent messages to determine a course of action. 3 MULTSUCC multiple successors not allowed Explanation: The script named as predecessor already has a successor defined. User Action: Specify a different predecessor or none. 3 NODEIGNOR the /NODE qualifier was ignored Explanation: The /NODE qualifier was specified with show script, but no CPU, I/O, or process parameter was selected. Any node name is meaningless when applied to show script only. This message is informational. User Action: None. 3 NOINHER inherit script !AD not found Explanation: The script specified in the /INHERIT qualifier could not be found in the SCRIPTS relation. User Action: Reissue the command using a defined script name for the /INHERIT qualifier. 3 NOKILL failed attempt to stop a defragmentation process Explanation: An attempt (by the scheduler) to abort the defragmentation process failed. Associated messages provide more detail. It could simply be that the defragmentation process has completed or is suspended. User Action: Refer to associated messages to determine a course of action. 3 NOMEINTERFACE monitor interface not established Explanation: This error occurs if the defragmentation process cannot establish the monitor interface. In this case, the error appears in the defragmentation process log file. The error can also occur when executing the monitor function if the monitor interface is not yet established. The error can also appear in the scheduler log file if the interface is not established. User Action: If you are trying to run the monitor, try the command again as the defragmentation process may not yet have created the interface. If the error occurs in the defragmentation process or scheduler log files, determine a course of action based on any associated messages. If the error is due to insufficient ENQUE limit, increase the ENQUE limit of the user process running monitor or the scheduler process, whichever is appropriate. 3 NONODE !AD not found in configuration Explanation: A node name that was associated with a script was not present in the configuration. This error can also occur during scheduler initialization if both the SYSGEN parameter, SCSNODE, and the logical, SYS$NODE are undefined on the node where the scheduler is running. In the case of the scheduler, the node name reported in the message will be blank. User Action: If the error occurs in the scheduler log file, define either the logical name SYS$NODE or the SYSGEN parameter SCSNODE and restart the scheduler. If the error occurs when entering a command, ensure you have spelled the node name correctly and that the node exists on the local system. 3 NONOTIFY mail notification of defragmentation process completion failed Explanation: An attempt to send mail to the mail distribution list specified in DFG$MAIL_ADDRESS has failed. User Action: Verify that the logical DFG$MAIL_ADDRESS is defined. Refer to associated messages to determine if additional action is necessary. 3 NOPRED predecessor script !AD not found Explanation: The script specified in the /PREDECESSOR qualifier could not be found in the SCRIPTS relation. User Action: Check spelling of the script name used with the /PREDECESSOR qualifier. Use the name of a script that has already been defined (with the VOLUME subcommand) for the /PREDECESSOR qualifier. 3 NOPRIV insufficient privileges; you need BYPASS, CMKRNL, DETACH, EXQUOTA, NETMBX, SHARE, SYSGBL, SYSLCK, SYSPRV, TMPMBX, and WORLD Explanation: The user has insufficient privileges to run DEFRAGMENT. User Action: Set the BYPASS, CMKRNL, DETACH, EXQUOTA, NETMBX, SHARE, SYSGBL, SYSLCK, SYSPRV, TMPMBX, and WORLD privileges and try the command again. 3 NOQENTRY no queue entry for script !AD Explanation: A queue entry was not found for a script that was to be canceled, disabled, or enabled. (The database did not have a record that matched the user-supplied script name for one of these commands.) User Action: Check the spelling of the script name. Use only names that have previously been defined with the VOLUME subcommand. 3 NOSCHED scheduling operations may not have completed Explanation: One or more scheduling operations may not have completed. This is a summary message. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 NOSCRIPT script name !AD is not defined in the database Explanation: The named script is not defined in the database. User Action: Check the spelling of the script name and try the command again. 3 NOSCRNAM script name !AD not found Explanation: A script name specified by the user was not in the scheduling database. User Action: Check the spelling of the script name and try the command again. 3 NOSHODAT error retrieving show data from the scheduling database Explanation: There was an error retrieving show data from the scheduling database. User Action: Refer to associated messages to determine a course of action. 3 NOTACCVIO cannot access notification data in !AD Explanation: This is an internal error. It occurs if one of the internal user notification routines is called with an inaccessible parameter. User Action: Submit an SPR. 3 NOTBADDATA invalid data found in !AD Explanation: This is an internal error. It occurs if one of the internal user notification routines is called with invalid data. User Action: Submit an SPR. 3 NOTCLOSERR error closing temporary notification file Explanation: An error occurred while closing the temporary notification file. User Action: Refer to associated messages to determine a course of action. 3 NOTDISK this device is not a disk, recheck the device name Explanation: The device for which you requested defragmenting is not a disk. User Action: Check the device name and try the command again. 3 NOTEXEC script !AD not executing Explanation: An attempt was made to abort a script that was not executing. User Action: None. 3 NOTEXTEND error extending the scratch file needed for defragmenting INDEXF.SYS Explanation: The temporary scratch file needed to defragment INDEXF.SYS could not be created. Its creation would have caused a multi-header entry or there was not enough space on the volume. User Action: Before defragmenting INDEXF.SYS, be sure to defragment the volume and consolidate free space. Also, make sure that the largest free space on the volume is larger than INDEXF.SYS. To check the largest free space and extents of INDEXF.SYS, execute the following command: $ DEFRAGMENT SHOW disk:/VOLUME/LOCATION=[000000]INDEXF.SYS 3 NOTFILWRERR error writing to temporary notification file Explanation: The notification message could not be written. User Action: Refer to associated messages to determine a course of action. 3 NOTLOCDEV !AD is not local to !AD Explanation: The user has specified a target device that is not local to the node that is trying to run the defragmentation process. User Action: Nonlocal devices (such as DFS mounted devices) cannot be defragmented. 3 NOTODSDEV !AD is not an ODS-2 mounted device Explanation: The user has specified a device for defragmentation that is not a mounted ODS-2 format volume. User Action: Specify an ODS-2 format volume. 3 NOTRAN error translating !AD Explanation: There was an error translating the supplied logical name. User Action: Define the indicated logical using the /EXECUTIVE_ MODE and /SYSTEM qualifiers. 3 NOTSTOPPED defragmentation process, ID=!XL, was not stopped Explanation: An attempt to stop a defragmentation process failed. Associated messages provide more detail. The most likely cause of this message is that the defragmentation process is no longer running. User Action: None. 3 NOVOLUME no volume name specified for VOLUME subcommand Explanation: DFG$DATABASE received a dfg_list item list that did not contain a volume name item descriptor. User Action: If this error occurs with HP supplied software, submit an SPR. Otherwise, correct the calling program. 3 NULLENGINE a defragmentation process cannot be started for script !AD Explanation: An attempt to start a defragmentation process failed. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 OPENIN error opening !AD as input Explanation: The specified file could not be opened for input. Associated messages indicate the reason. User Action: Refer to associated messages to determine a course of action. 3 OPENMAILERR cannot open mail file for /MAIL_NOTIFICATION Explanation: The mail file cannot be opened by the scheduler when attempting to notify users by way of the /MAIL_NOTIFICATION qualifier. Associated messages indicate the reason. User Action: Refer to associated messages to determine a course of action. 3 OPENOUT error opening !AD as output Explanation: The specified file could not be opened for output. Associated messages indicate the reason. User Action: Refer to associated messages to determine a course of action. 3 OPTBADVOL invalid device specified on line !SL, options file !AD Explanation: A volume was specified with a file name in the options file and the volume was not the target defragmentation volume. User Action: Correct the invalid line in the options file. Specify no device name, or specify the target device name. 3 OPTFILERR options file error Explanation: The options file contained errors. This is a summary message. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 OPTHASFNF file not found on line !SL, options file !AD Explanation: A file specified as /EXCLUDE, /FREQUENT, or /DORMANT in the options file was not found. User Action: No action is necessary. To eliminate this message, however, you should remove the line in the options file that is reported in this message. Since the file given on this line is no longer on the target device, this line has no effect. 3 OPTINVQUAL invalid qualifier on line !SL, options file !AD Explanation: A classification for a file was given that was not one of: /FREQUENT, /DORMANT, /EXCLUDE. User Action: Check spelling and ensure that only classifications of /FREQUENT, /DORMANT, or /EXCLUDE are used for files listed in the options file. 3 OPTMULCLA multiple classifications on line !SL, options file !AD Explanation: A file was classified with multiple classifications (that is, file.ext/FREQ/DORM). This error prevents the defragmentation process from being started. User Action: Specify only one file classification per line in the options file. 3 OPTNOTCLA file not classified on line !SL, options file !AD Explanation: A file was in the options file, but was not classified as /FREQUENT, /DORMANT, or /EXCLUDE. User Action: Make sure the file on the line specified in the options file has one of the above-listed classifications. 3 OPTRMSERR RMS error on line !SL, options file !AD Explanation: An unanticipated error was returned from the $PARSE or $SEARCH RMS routines. User Action: Refer to the specified line in the options file. Also check associated messages for more information. 3 PARSEFAIL error parsing !AD Explanation: The RMS $PARSE service failed for the specified file. User Action: Refer to associated messages to determine a course of action. 3 PRCOUTRNG !SL is an invalid process limit; specify positive values Explanation: The process limit was negative. User Action: Specify only positive values for the PROCESS_LIMIT keyword parameter to the SET subcommand. 3 PREDNOTUSRNAME the predecessor for script !AD is not a user-provided name Explanation: The predecessor for a script was not a user-provided name. This message can occur during the SHOW subcommand when the /COMMAND_LINE qualifier is present. Because script names beginning with DFG$ are reserved for the DEFRAGMENT software, they are never listed when the /COMMAND_LINE qualifier is used. This warning message indicates the script whose predecessor was not listed. User Action: If the output of the SHOW subcommand was directed to a file, edit the file and name the script to be used as a predecessor using the /SCRIPT qualifier. Then, modify the script listed in this message so the /PREDECESSOR qualifier indicates the script name used. 3 PROCABORTED defragmentation process aborted Explanation: The defragmentation process has aborted. It could be that the total defragmentation time has been exceeded and the scheduler has stopped the defragmentation software. Thus, this message does not necessarily indicate failure. User Action: Refer to associated messages to determine a course of action. 3 PROCESS_START defragmentation process start Explanation: This message is generated by the defragmentation process after it has completed initialization. User Action: None. 3 PROCESS_STOP defragmentation process normal completion Explanation: This message is generated by the defragmentation process after the process has successfully completed. User Action: None. 3 QUEDALL !AD request for all scripts has been successfully queued Explanation: Any of the queued commands where /ALL was specified were successful. User Action: None 3 QUEDNONAM !AD request for unnamed script has been successfully queued Explanation: A defragmentation request was successfully processed; the user did not supply a script name. User Action: None 3 QUEDSUCC !AD request for script !AD has been successfully queued Explanation: A defragmentation process was successfully queued and had a user-specified script name. User Action: None 3 REMFAIL1 failed to remove !AD from the database Explanation: This is a summary message indicating the specified script was not removed. Associated messages indicate the reason the remove operation failed. User Action: Refer to associated messages to determine a course of action. 3 REMFAIL2 no script was removed from the database Explanation: This is a summary message indicating that no script was removed from the scheduling database when the user had specified the /ALL qualifier. User Action: Refer to associated messages to determine a course of action. 3 REMOVENOTDONE remove unsuccessful Explanation: A REMOVE subcommand was unsuccessful. This is a summary message. This message may or may not indicate an error. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 REMOVSEEN remove command for !AD already issued Explanation: A REMOVE subcommand had been issued for this script, but it had not yet completed when another REMOVE subcommand for the same script was issued. User Action: None. 3 RESAREA Map pointer copy would extend into a reserved area Explanation: The copy of INDEXF.SYS map pointers would run into a reserved area. User Action: Submit an SPR. 3 RMSERR RMS operation !AD failed (file !AD) Explanation: The specified RMS operation failed. User Action: Refer to associated messages to determine a course of action. 3 SCHEDERR scheduler cannot complete scheduling tasks Explanation: This is a summary message indicating that the scheduler did not complete all its scheduling tasks. User Action: Refer to associated messages to determine a course of action. 3 SCHEXIT scheduler exited at user request Explanation: The scheduler exited normally. This occurs if the user executes the DFG$STOP_SCHEDULER.COM procedure, runs the SYS$SYSTEM:DFG$STOP_SCHEDULER.EXE image, or executes the DFG$SHUTDOWN.COM procedure. User Action: None. 3 SCHSTART !AD started on !AD !%D Explanation: A scheduler started. This message appears at the beginning of every scheduler log. User Action: None. 3 SCRDIS script !AD is already disabled Explanation: An attempt was made to disable a script that was already disabled. User Action: None. 3 SCRENA script !AD is already enabled Explanation: An attempt was made to enable a script that was already enabled. User Action: None. 3 SEARCHLOOP loop in $SEARCH: same file returned twice Explanation: RMS's $SEARCH function did not return files in alphabetical order. This may be caused by a corrupt directory file or by an alias that points to a deleted file. User Action: Investigate the directory structure of the disk. 3 SENDMAILERR mail notification failed Explanation: This is a summary message that occurs when the scheduler does not send the mail notification message requested by the user with /MAIL_NOTIFICATION. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 SETFAIL failed to set any specified parameters Explanation: DFG$DEFRAGMENT returned a failure status for a SET command. User Action: Refer to associated messages to determine a course of action. 3 SETNODFAIL a SET subcommand failed for node !AD Explanation: A DEFRAGMENT SET CPU, I/O, or PROCESS command failed for the indicated node. User Action: Refer to associated messages to determine a course of action. 3 SETSUCC specified parameters successfully set Explanation: The database was successfully updated with the new CPU_LIMIT, IO_LIMIT, and PROCESS_LIMIT values. User Action: None. 3 SHDWSETERR device is a member of a shadow set; specify the shadow set name Explanation: The user attempted to defragment a member of a shadow set. Attempting to defragment members of a shadow set is not supported. User Action: Defragment the entire shadow set by specifying the shadow set name (DUSXXX) on the DEFRAGMENT command line. 3 SHODATMIS !AD missing from show data Explanation: This is an internal error. User Action: Submit an SPR. 3 SHOSCRFAIL a show script command failed Explanation: A SHOW SCRIPT command did not complete successfully. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 STAFAIL failed to start !AD Explanation: DFG$DEFRAGMENT returned a failure status for a START subcommand. This is a summary message and probably does not indicate any real error. Most likely, the script was already started. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 STARTNOTDONE start command unsuccessful Explanation: A START subcommand was unsuccessful. This is a summary message. This message may or may not indicate an error. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 STARTSEEN start command for !AD already issued Explanation: A START subcommand had been issued for this script but it had not yet completed when another START subcommand for the same script was issued. User Action: None. 3 SYSSRVERR call to system service !AD failed Explanation: A system service call failed. User Action: Refer to associated messages to determine a course of action. 3 TIMEINV invalid time string !AD from !AD Explanation: The syntax of the time string supplied in the message was invalid or out of range. The offending routine is also listed in the message. User Action: Submit an SPR containing the information in this message. 3 UNRECOVERR unrecoverable error Explanation: The defragmentation process encountered an unrecoverable error; no further processing occurred. User Action: Refer to associated messages to determine a course of action. 3 USERABORT command aborted by user Explanation: The user decided not to continue after encountering the INVDEVCONT message. This is a summary message. User Action: None. 3 USER_ERR user error Explanation: The user made an error. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 USRKILLENG an ABORT command terminated the defragmentation process Explanation: Because of a user-issued ABORT command, a defragmentation process terminated. User Action: None. 3 VIRMEMERR device is a member of a constituent set; specify the set name Explanation: The user attempted to defragment a virtual member of a disk set, such as a stripeset member. User Action: Defragment the entire set by specifying the set name on the DEFRAGMENT command line. 3 VOLFAIL1 volume command failed; script !AD was not entered into the database Explanation: The specified script was not entered into the database. Some portion of command validation failed. The exact nature of the error is provided in associated messages. User Action: Refer to associated messages to determine a course of action. 3 VOLFAIL2 volume command failed; unnamed script was not entered into the database Explanation: The command was not entered into the database. Some portion of command validation failed. The exact nature of the error is provided in associated messages. User Action: Refer to associated messages to determine a course of action. 3 VOLSETERR device is a member of a volume set;specify the volume set name Explanation: The user attempted to defragment a member of a volume set. Attempting to defragment members of a volume set is not supported. User Action: Defragment the entire volume set by specifying the volume set name on the DEFRAGMENT command line. 3 VOLUMELOCKERR volume lock error for device !AD Explanation: Error trying to allocation-lock the volume. This error may only occur in the defragmentation process code. This prevents file structure changes for a short time while the defragmentation process reads a fresh copy of BITMAP.SYS. User Action: Refer to associated messages to determine a course of action. 3 VOLUMENOTDONE volume command unsuccessful Explanation: A VOLUME subcommand was unsuccessful. This is a summary message. This message may or may not indicate an error. Associated messages provide more detail. User Action: Refer to associated messages to determine a course of action. 3 VOLUNLOCKERR volume unlock error for device !AD Explanation: The target device could not be allocation-unlocked by the defragmentation process. User Action: Refer to associated messages to determine a course of action. 3 VPAEND !SL hotfile records added to the /FREQUENT list. Explanation: This message indicates the VPA database query has completed. It also indicates the total number of hotfile records found that were related to the target device. User Action: None.