OpenVMS SystemManagerManual Essentials VOL I
OpenVMS SystemManagerManual Essentials VOL I
OpenVMS SystemManagerManual Essentials VOL I
Legal Notice
Confidential computer software. Valid license from VSI required for possession, use or copying. Consistent with FAR 12.211 and 12.212,
Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S.
Government under vendor's standard commercial license.
The information contained herein is subject to change without notice. The only warranties for VSI products and services are set forth in the
express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional
warranty. VSI shall not be liable for technical or editorial errors or omissions contained herein.
HPE, HPE Integrity, HPE Alpha, and HPE Proliant are trademarks or registered trademarks of Hewlett Packard Enterprise.
ii
System Manager’s Manual, Volume 1: Essentials
Preface ................................................................................................................................... xv
1. About VSI .................................................................................................................... xv
2. Intended Audience ........................................................................................................ xv
3. Document Structure ...................................................................................................... xv
4. Related Documents ....................................................................................................... xv
5. VSI Encourages Your Comments .................................................................................. xvi
6. Conventions ................................................................................................................. xvi
Chapter 1. Overview of This Manual .................................................................................. 1
1.1. Using the VSI OpenVMS System Manager's Manual ..................................................... 1
1.2. How This Manual Relates to Other System Management Documentation ......................... 2
1.3. Finding Information About Managing Complex Environments ........................................ 2
1.4. Finding Information About Managing Small Systems ..................................................... 2
Chapter 2. Using OpenVMS System Management Utilities and Tools ............................. 5
2.1. Understanding OpenVMS System Management Tools .................................................... 6
2.1.1. OpenVMS Management Station ......................................................................... 6
2.1.2. DCL Commands ............................................................................................... 8
2.1.3. System Messages .............................................................................................. 9
2.1.4. DCL Command Procedures ................................................................................ 9
2.1.5. System Management Utilities ........................................................................... 11
2.1.6. MGRMENU.COM Command Procedure .......................................................... 13
2.2. Logging In to the SYSTEM Account .......................................................................... 14
2.3. Using SYSMAN to Centralize System Management ..................................................... 15
2.3.1. Understanding SYSMAN ................................................................................. 15
2.3.2. Enabling a Remote System to Execute SYSMAN Commands ............................ 17
2.3.3. Understanding a SYSMAN Management Environment ...................................... 17
2.3.4. Defining the SYSMAN Management Environment ............................................ 18
2.3.5. Understanding Your SYSMAN Profile .............................................................. 21
2.3.6. Adjusting Your SYSMAN Profile ..................................................................... 21
2.3.7. Setting DCL Verification .................................................................................. 22
2.3.8. Executing DCL Commands from SYSMAN ..................................................... 23
2.3.9. Creating SYSMAN Command Procedures ........................................................ 23
2.3.10. Setting Up SYSMAN with an Initialization File .............................................. 24
2.4. Using OPCOM to Communicate with System Users .................................................... 24
2.4.1. Understanding OPCOM ................................................................................... 24
2.4.2. Starting OPCOM ............................................................................................. 26
2.4.3. Sending Messages to Users .............................................................................. 26
2.4.4. Controlling the Use of OPA0: as an Operator Terminal ...................................... 27
2.4.5. Designating Operator Terminals ....................................................................... 28
2.4.6. Sending Requests to an Operator ...................................................................... 29
2.4.7. Replying to Operator Requests ......................................................................... 30
2.5. Using VMSKITBLD.COM to Modify a System Disk ................................................... 31
2.5.1. Using VMSKITBLD.COM to Build a New System Disk ................................... 32
2.5.2. Using VMSKITBLD.COM to Copy System Files to an Existing Disk ................. 35
2.5.3. Using VMSKITBLD.COM to Add an Alternate System Root Directory .............. 36
Chapter 3. Installing, Upgrading, and Updating Software ............................................. 39
3.1. Installing or Upgrading Layered Products .................................................................... 39
3.2. Preparing Your System to Run VMSINSTAL.COM ..................................................... 40
3.2.1. Performing Preliminary Operations ................................................................... 40
3.2.2. Registering and Loading Licenses .................................................................... 41
3.2.3. Preventing Nodes from Sharing PAKs .............................................................. 42
iii
System Manager’s Manual, Volume 1: Essentials
iv
System Manager’s Manual, Volume 1: Essentials
v
System Manager’s Manual, Volume 1: Essentials
vi
System Manager’s Manual, Volume 1: Essentials
vii
System Manager’s Manual, Volume 1: Essentials
viii
System Manager’s Manual, Volume 1: Essentials
ix
System Manager’s Manual, Volume 1: Essentials
x
System Manager’s Manual, Volume 1: Essentials
xi
System Manager’s Manual, Volume 1: Essentials
xii
System Manager’s Manual, Volume 1: Essentials
xiii
System Manager’s Manual, Volume 1: Essentials
xiv
Preface
1. About VSI
The VSI OpenVMS System Manager’s Manual, Volume 1: Essentials is Volume 1 of the VSI
OpenVMS System Manager’s Manual two-volume set.
2. Intended Audience
This guide is intended for VSI OpenVMS system managers.
3. Document Structure
VSI OpenVMS System Manager’s Manual, Volume 1: Essentials consists of the following chapters:
For more information about the structure of VSI OpenVMS System Manager’s Manual, Volume 1:
Essentials, see Section 1.1.
4. Related Documents
• VSI OpenVMS System Management Utilities Reference Manual
xv
Preface
• The current version of the Upgrade and Installation Manual for your system
For additional information about VSI OpenVMS products and services, see:
tbs
6. Conventions
The following conventions may be used in this manual:
Convention Meaning
Ctrl/x A sequence such as Ctrl/x indicates that you must hold down the key labeled
Ctrl while you press another key or a pointing device button.
PF1 x A sequence such as PF1 x indicates that you must first press and release the key
labeled PF1 and then press and release another key or a pointing device button.
... A horizontal ellipsis in examples indicates one of the following possibilities:
xvi
Preface
Convention Meaning
. A vertical ellipsis indicates the omission of items from a code example or
. command format; the items are omitted because they are not important to the
. topic being discussed.
() In command format descriptions, parentheses indicate that you must enclose the
options in parentheses if you choose more than one.
[] In command format descriptions, brackets indicate optional choices. You can
choose one or more items or no items. Do not type the brackets on the command
line. However, you must include the brackets in the syntax for OpenVMS
directory specifications and for a substring specification in an assignment
statement.
[ |] In command format descriptions, vertical bars separate choices within brackets
or braces. Within brackets, the choices are options; within braces, at least one
choice is required. Do not type the vertical bars on the command line.
{} In command format descriptions, braces indicate required choices; you must
choose at least one of the items listed. Do not type the braces on the command
line.
bold text This typeface represents the introduction of a new term. It also represents the
name of an argument, an attribute, or a reason.
italic text Italic text indicates important information, complete titles of manuals, or
variables. Variables include information that varies in system output (Internal
error number), in command lines (/PRODUCER= name), and in command
parameters in text (where dd represents the predefined code for the device type).
UPPERCASE Uppercase text indicates a command, the name of a routine, the name of a file,
TEXT or the abbreviation for a system privilege.
Monospace Monospace type indicates code examples and interactive screen displays.
type
In the C programming language, monospace type in text identifies the following
elements: keywords, the names of independently compiled external functions
and files, syntax summaries, and references to variables or identifiers introduced
in an example.
- A hyphen at the end of a command format description, command line, or code
line indicates that the command or statement continues on the following line.
numbers All numbers in text are assumed to be decimal unless otherwise noted.
Nondecimal radixes—binary, octal, or hexadecimal—are explicitly indicated.
xvii
Preface
xviii
Chapter 1. Overview of This Manual
Together, the two parts of this manual explain tasks and concepts related to managing a VSI
OpenVMS system. This chapter describes this manual and how to use it.
The VSI OpenVMS System Manager's Manual explains system management tasks for new and
experienced system managers. However, before performing these tasks, you should be familiar with
the following items:
• User-level tasks such as creating and editing files and command procedures. For more
information, refer to the VSI OpenVMS System Manager's Manual.
• DIGITAL Command Language (DCL) commands. For more information, refer to the VSI
OpenVMS DCL Dictionary.
• A second book, VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and
Complex Systems.
Use these two books to get step-by-step instructions for general system management tasks.
The first page of each chapter in these books provides two tables to help you find information within
the chapter.
1
Chapter 1. Overview of This Manual
Task Section
Finding information about managing complex environments Section 1.3
Finding information about managing small systems Section 1.4
Concept Section
How this manual relates to other system management documentation Section 1.2
2
Chapter 1. Overview of This Manual
Table 1.2 lists the tasks you are likely to perform, and where to find instructions for performing these
tasks.
3
Chapter 1. Overview of This Manual
4
Chapter 2. Using OpenVMS System
Management Utilities and Tools
This chapter provides general information about system management utilities and tools that are
provided with the VSI OpenVMS Operating System.
Procedures for using utilities and tools to perform specific tasks are provided in the respective
chapters that describe those tasks. For example, this chapter contains a general description of the
System Management utility (SYSMAN). Section 9.12.2 describes how to use SYSMAN to manage
disk quotas. VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex
Systems describes how to use SYSMAN to manage system parameters.
To use system management tools, you can also refer to the following documentation:
• Online help for online information about commands and qualifiers for DCL and system
management utilities
• The VSI OpenVMS System Management Utilities Reference Manual for detailed information
about commands and qualifiers for system management utilities
• The VSI OpenVMS DCL Dictionary for detailed information about DCL commands and
qualifiers
Task Section
Logging in to the SYSTEM account Section 2.2
Using SYSMAN to centralize system management Section 2.3
Using OPCOM to communicate with system users Section 2.4
Using VMSKITBLD.COM to modify a system disk Section 2.5
Concept Section
OpenVMS system management tools Section 2.1
DCL commands for system management Section 2.1.2
System messages Section 2.1.3
DCL command procedures for system management Section 2.1.4
System management utilities Section 2.1.5
MGRMENU.COM command procedure Section 2.1.6
System Management utility (SYSMAN) Section 2.3.1
Understanding a SYSMAN management environment Section 2.3.3
Understanding a SYSMAN profile Section 2.3.5
Understanding OPCOM Section 2.4.1
5
Chapter 2. Using OpenVMS System Management Utilities and Tools
OpenVMS Management Station software coexists with all of the existing OpenVMS system
management utilities. Figure 2.1 shows a sample OpenVMS Management Station screen.
6
Chapter 2. Using OpenVMS System Management Utilities and Tools
OpenVMS Management Station addresses the problem of having to use multiple utilities to manage
accounts. For example, creating an account usually involves the following steps:
3. Create a directory
These steps require that you use DCL, the Authorize utility, and the DISKQUOTA component of the
SYSMAN utility. OpenVMS Management Station provides an easy-to-use interface to this process.
• The client. This is Microsoft Windows based software that you install on a PC and use to perform
management operations.
• The server. This software must be installed on all OpenVMS systems to be managed. You do not
interact directly with the server, the client does that.
7
Chapter 2. Using OpenVMS System Management Utilities and Tools
Release Notes document provides an over view of OpenVMS Management Station and describes how
to get started using the software.
Information about installing the OpenVMS Management Station on your Alpha or I64 computer and
your PC is located in the following manual:
You can easily manage user accounts across multiple OpenVMS systems, depending on your needs.
The systems might be some of the clusters in a network, all of the systems on one floor of a building,
a mix of clusters and nonclustered nodes, and so forth.
You can use OpenVMS Management Station to manage OpenVMS user accounts in a convenient,
easy manner. For example, when creating an account on multiple systems, OpenVMS Management
Station can add a user authorization file (UAF) entry, grant rights identifiers, create an OpenVMS
directory, set a disk quota, set up OpenVMS Mail characteristics, and so forth, for each instance of the
account.
8
Chapter 2. Using OpenVMS System Management Utilities and Tools
system. Most of the DCL commands used by system managers require special privileges (such as
OPER privilege).
Because a command can be continued on more than one line, the term command string is used to
define the entire command. A command string is the complete specification of a command, including
the command name, command qualifiers, parameters, and parameter qualifiers.
For complete descriptions of each DCL command, refer to online DCL help or the VSI OpenVMS
DCL Dictionary. If you are not familiar with DCL command syntax, refer to the OpenVMS User’s
Manual.
At times, you might need to interpret a system message, for example, to find out how to recover from
a warning or failure. The Help Message utility allows you and system users to quickly access online
descriptions of system messages from the DCL prompt.
For more information about the Help Message utility, refer to the OpenVMS System Messages:
Companion Guide for Help Message Users. In addition, the OpenVMS System Messages and
Recovery Procedures Reference Manual provides detailed descriptions of system messages.
A simple command procedure can contain a sequence of commands that you use frequently.
For example, you could include the following commands in a command procedure called
GO_WORK.COM:
$ SET DEFAULT [PERRY.WORK]
$ DIRECTORY
$ EXIT
When you execute this command procedure with the command @GO_WORK, you set your default
directory to [PERRY.WORK] and display a list of files in that directory.
With complex command procedures, you can use DCL instead of a high-level programming language.
For more information about creating command procedures, refer to the OpenVMS User’s Manual.
9
Chapter 2. Using OpenVMS System Management Utilities and Tools
You might execute a command procedure in batch mode for the following reasons:
• To automate a task
• To process work at a lower scheduling priority, so as not to compete with interactive users for
system resources
• To allow an operation to continue without having a terminal logged in, thereby increasing the
security of the system
A batch-oriented command procedure can include a command to resubmit itself to a batch queue,
thereby repetitively performing the task with no user intervention. For example, you might create
a batch-oriented command procedure to run the Analyze/Disk_Structure utility (ANALYZE/
DISK_STRUCTURE) to report disk errors. If you include a command to resubmit the procedure
to a batch queue, the procedure will automatically execute when scheduled, unless errors cause
the procedure to fail. The following example is a simple command procedure, named SYSTEM-
DAILY.COM:
$ SET NOON
$! Resubmit this procedure to run again tomorrow.
$!
$ SUBMIT/KEEP/NOPRINT/QUEUE=SYS$BATCH/AFTER="TOMORROW+1:00"/USER=SYSTEM -
SYS$MANAGER:SYSTEM-DAILY.COM;
$!
$! Purge the log files
$ PURGE/KEEP=7 SYS$MANAGER:SYSTEM-DAILY.LOG
$!
$! Analyze public disks
$!
$ ANALYZE/DISK/LIST=SYS$MANAGER:WORK1.LIS; WORK1:
$ ANALYZE/DISK/LIST=SYS$MANAGER:WORK2.LIS; WORK2:
$!
$! Print listings
$!
$ PRINT/QUEUE=SYS$PRINT SYS$MANAGER:WORK1.LIS; , SYS$MANAGER:WORK2.LIS;
$ EXIT
10
Chapter 2. Using OpenVMS System Management Utilities and Tools
Most system management utilities require special privileges. Generally, you run these utilities from
the SYSTEM account, which has all privileges by default. Section 2.2 describes logging in to the
SYSTEM account.
Table 2.2 lists the system management utilities and their purposes. This manual describes how to use
most of these utilities. For detailed information about utility commands and qualifiers, refer to the VSI
OpenVMS System Management Utilities Reference Manual.
11
Chapter 2. Using OpenVMS System Management Utilities and Tools
Utility Purpose
of auditing information that the system might
generate.
Authorize utility (AUTHORIZE) To add and modify records in the existing user
authorization and network authorization files, or
to create new files. Also used to add and modify
records in the rights database.
Backup utility (BACKUP) To copy or save files and disk volumes. Also used
to restore saved files and volumes.
Bad Block Locator utility (BAD) To analyze block-addressable devices and record
the location of blocks that cannot reliably store
data.
1
Crash Log Utility Extractor (CLUE) On VAX systems, to obtain information about
crash dumps.
2
On Alpha and I64 systems, some commands
in the System Dump Analyzer facility (SDA)
contain CLUE functionality.
DECevent Event Management utility To produce ASCII reports derived from entries in
system event log files.
Error Log utility (ERROR LOG) To report the contents of a system error log file.
Exchange utility (EXCHANGE) To transfer data to and from mass storage
volumes that are written in formats other than
standard formats recognized by the operating
system.
Help Message utility (MSGHLP) To quickly access information about system
messages returned by DCL commands.
Install utility (INSTALL) To improve performance or enhance privileges of
images.
LAT Control Program utility (LATCP) To set up and control the LAT software on
OpenVMS host systems. LAT software allows
you to connect terminals and printers to multiple
remote systems.
Log Manager Control Program utility (LMCP) To create and manage the transaction logs used by
DECdtm services.
Multipurpose Internet Mail Extension utility To read and compose MIME-encoded mail
(MIME) messages on OpenVMS system.
Monitor utility (MONITOR) To monitor systemwide performance.
Mount utility (MOUNT) To make a disk or magnetic tape volume available
for processing.
Network Control Program (NCP) To set up, control, monitor, and test a DECnet
network.
Network Control Language (NCL) To set up, control, monitor, and test a DECnet-
Plus network.
Operator Communication Manager (OPCOM) To communicate with system users.
tool
12
Chapter 2. Using OpenVMS System Management Utilities and Tools
Utility Purpose
System Generation utility (SYSGEN) To create and install page, swap, and dump files
and to manage system parameters.
1
On VAX systems, to load and connect device
drivers.
System Management utility (SYSMAN) To centralize system management. Allows
you to perform system management tasks
simultaneously on one or more nodes.
2
On Alpha and I64 systems, to load and connect
device drivers.
TCP/IP Services management control interfaces To configure and manage TCP/IP Services.
1
VAX specific
2
Alpha and I64 specific
You can use this command procedure as is, or modify it to serve your own site-specific needs. If
you modify this procedure, VSI recommends you first copy the procedure to another directory (for
example, SYS$MANAGER), so that an original version of MGRMENU.COM is always available in
the SYS$EXAMPLES directory.
$ @SYS$EXAMPLES:MGRMENU
13
Chapter 2. Using OpenVMS System Management Utilities and Tools
If your site has strong security requirements, VSI recommends that you disable all but batch use
of the SYSTEM account and set up separate privileged accounts for individuals who must perform
privileged activities on the system. This will allow you to more closely account for privileged activity
on the system.
3. At the Password prompt, enter the password that you chose for the SYSTEM account when you
installed or upgraded the operating system, or the current password if you changed it since then.
4. The system displays a welcome message on the console terminal. If you have logged in
previously, the system also prints the time of your last login. When the dollar sign ($) prompt
appears, login is complete and you can enter commands.
Example
On VAX systems:
Username: SYSTEM
Password:
Welcome to OpenVMS VAX Version n.n on node x
Last interactive login on Thursday, 20-FEB-2000 16:41
Last non-interactive login on Friday, 21-FEB-20000 17:06
On Alpha systems:
Username: SYSTEM
Password:
Welcome to OpenVMS Alpha (TM) Operating System, Version n.n on node
x
Last interactive login on Thursday, 20-FEB-2000 16:41
Last non-interactive login on Friday, 21-FEB-2000 17:06
On I64 systems:
Username: SYSTEM
Password:
Welcome to HP OpenVMS Industry Standard I64 Operating System,
Version n.n on node x
Last interactive login on Thursday, 20-FEB-2004 16:41
14
Chapter 2. Using OpenVMS System Management Utilities and Tools
The following table lists some major SYSMAN features and points to sections in this chapter that
contain more information.
• A separate account with no more than 125 rights, or enough identifiers removed from the current
account so the total number of rights falls within the appropriate range.
The rights limitation of 125 includes a minimum of three identifiers that are granted during login
when the process rights list is created:
• A UIC identifier
• A system identifier
• At least one environmental identifier, depending upon the environment in which the process is
operating
15
Chapter 2. Using OpenVMS System Management Utilities and Tools
Note that this rights identifier limitation includes a minimum of three identifiers besides the rights
identifiers that are associated with a user authorization record:
• A UIC identifier
• A system identifier
• Depending upon the environment in which the process is operating, at least one environmental
identifier
• Enough identifiers removed from your current account so that the total number of rights falls
within the appropriate range
SYSMAN also includes its own commands that let you perform the following tasks:
16
Chapter 2. Using OpenVMS System Management Utilities and Tools
Any node that is part of an OpenVMS Cluster system normally starts the SMISERVER process in the
system startup procedure SYS$SYSTEM:STARTUP.COM. (The system parameter CLUSTER on the
node must have a value of 1 or more.)
To start the SMISERVER process on a workstation that is not part of an OpenVMS Cluster
system, include the following command line in the site-specific startup command procedure
SYSTARTUP_VMS.COM:
$ @SYS$SYSTEM:STARTUP SMISERVER
You can also enter this command interactively to restart the SMISERVER process without rebooting
the system.
By default, the management environment is the local node (the node from which you execute
SYSMAN). To execute commands on one or more other nodes, you can redefine the management
environment to be any of the following:
17
Chapter 2. Using OpenVMS System Management Utilities and Tools
You can use NODE21 as the management environment, or you can define the environment to be any
node, group of nodes, or cluster shown in Figure 2.2.
If you execute SYSMAN from NODE21, then NODE21 is the local node; it is the management
environment when SYSMAN starts. All other nodes are remote nodes.
When you are not working on your local node or within your own cluster, your environment is a
nonlocal environment. SYSMAN makes this distinction for security reasons; when you are defining a
nonlocal environment, such as a different cluster, SYSMAN prompts for a password. SYSMAN also
prompts for a password when you attempt to manage a system under a different user name. You can
change your user name by using the /USERNAME qualifier with SET ENVIRONMENT.
A SYSMAN environment remains in effect until you change it or exit from SYSMAN.
For the following examples, refer to Figure 2.2; assume you are logged in to NODE 21.
Examples
1. $ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/NODE=NODE22
%SYSMAN-I-ENV, current command environment:
Individual nodes: NODE22
18
Chapter 2. Using OpenVMS System Management Utilities and Tools
The SET ENVIRONMENT command in this example defines the management environment to be
NODE22. (The command does not, however, set the environment to be Cluster 1.)
The SET ENVIRONMENT command in this example defines the management environment to be
a group of nodes --- NODE23, NODE24, and NODE25 --- that are in two separate clusters.
The SET ENVIRONMENT command in this example defines the management environment to be
a cluster that includes NODE24---that is, Cluster 2.
1. Create the logical name table SYSMAN$NODE_TABLE by putting the following command into
the file SYS$MANAGER:SYLOGICALS.COM, which is executed during system startup:
$ CREATE/NAME_TABLE/PARENT=LNM$SYSTEM_DIRECTORY SYSMAN$NODE_TABLE
2. Define one or more logical names to be a node or list of nodes by putting a command similar to
the following into SYS$MANAGER:SYLOGICALS.COM:
3. When you set your SYSMAN environment from the DCL level, specify one of the logical names
you created for this purpose. For example:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/NODE=(CI_NODES)
Remote Password:
19
Chapter 2. Using OpenVMS System Management Utilities and Tools
You can also define logical names for VAX and Alpha nodes in a dual-architecture OpenVMS Cluster
system, as explained in VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring,
and Complex Systems.
Example
The following example demonstrates how you can define multiple logical names to organize several
management environments:
$ CREATE/NAME_TABLE/PARENT=LNM$SYSTEM_DIRECTORY SYSMAN$NODE_TABLE
$ DEFINE CI_NODES SYS2, SYS8/TABLE=SYSMAN$NODE_TABLE
$ DEFINE C NODE21, NODE22, NODE23/TABLE=SYSMAN$NODE_TABLE
$ DEFINE PASCAL NODE23, NODE18, CI_NODES/TABLE=SYSMAN$NODE_TABLE
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/NODE=(C, PASCAL)
Remote Password:
To expand the management environment in Figure 2.2 from NODE21 to Cluster 1, enter the following
command from NODE21:
In the OpenVMS Cluster environment shown in Figure 2.2, SYSMAN executes commands on all
nodes in Cluster 1, namely NODE21, NODE22, and NODE23.
To manage a nonlocal cluster with SYSMAN, use the /NODE qualifier to identify the cluster. If you
define an OpenVMS Cluster alias, the /NODE qualifier can use the alias rather than the node name.
If you use the /CLUSTER and /NODE qualifiers together, the environment becomes the OpenVMS
Cluster system where the given node is a member. For example, to perform management tasks on
Cluster 2 in Figure 2.2, enter SET ENVIRONMENT with the /CLUSTER qualifier and name one
node within Cluster 2 using the /NODE qualifier:
20
Chapter 2. Using OpenVMS System Management Utilities and Tools
Remote Password:
%SYSMAN-I-ENV, Current Command Environment:
Clusterwide on remote node NODE24
Username ALEXIS will be used on nonlocal nodes
For information about using SYSMAN to manage an OpenVMS Cluster system that contains
both Alpha and VAX nodes, see VSI OpenVMS System Manager’s Manual, Volume 2: Tuning,
Monitoring, and Complex Systems.
SYSMAN looks for three possible scenarios when determining your profile:
• If the environment is an OpenVMS Cluster system that has common SYSUAF and RIGHTSLIST
databases, SYSMAN assigns the profile in effect on the local node to the SMISERVER process on
the target node or nodes. This profile includes both authorized and current privileges.
• If the environment is an OpenVMS Cluster system and does not have common SYSUAF and
RIGHTSLIST databases, SYSMAN checks the SYSUAF on the target nodes to see if you are an
authorized user. If you are an authorized user, SYSMAN copies your profile from the SYSUAF on
the target nodes to the SMISERVER process on the target nodes.
• If the environment has nodes that are not part of your local cluster, or if you have recently changed
your user name, SYSMAN prompts you for a password before it checks the SYSUAF on the
target node. If you enter the correct password and the SYSUAF shows that you are an authorized
user, SYSMAN copies your profile from the SYSUAF on the target nodes to the SMISERVER
process on the target nodes.
The profile does not include symbolic names, logical names, preset terminal characteristics, or key
definitions established through a login command procedure. The only environment that has the
attributes defined in a login command procedure is the local node from which you are executing
SYSMAN.
This profile is in effect until you change it with SET PROFILE, reset the environment (which may
change your profile automatically), or exit from SYSMAN.
21
Chapter 2. Using OpenVMS System Management Utilities and Tools
The SET PROFILE command temporarily changes the attributes of your current local process.
However, when you exit from SYSMAN, all attributes are restored to the values that were current
when SYSMAN was invoked.
Frequently, system management commands require special privileges. You might need to add
privileges before you execute certain commands in an environment. System managers usually have
the same privileges on all nodes; if you do not have the required privileges on a node, SYSMAN
cannot execute the command and returns an error message.
Example
Most often, the default device and directory specified in your UAF record is a first-level directory
in which you create and maintain files and subdirectories. SYSMAN uses this default device and
directory name when resolving file specifications. It also assigns the default device and directory
name to any files that you create during a session.
In some cases, you might need to change the default device and directory in your SYSMAN profile.
For example, you might have a directory containing command procedures as well as some system
management utilities that require the default directory to be SYS$SYSTEM.
Example
The following example sets the default device and directory to DMA1:[SMITH.COM]:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET PROFILE/DEFAULT=DMA1:[SMITH.COM]
SYSMAN can execute DCL commands using the DO command. By default, SYSMAN DCL
verification is turned off.
Example
22
Chapter 2. Using OpenVMS System Management Utilities and Tools
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET PROFILE/VERIFY
If a node does not respond within a given timeout period, SYSMAN displays a message before
proceeding to the next node in the environment. You can specify a timeout period with the SET
TIMEOUT command.
For more information about using the DO command to manage an OpenVMS Cluster system, see
VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems.
You can also refer to the OpenVMS System Management Utilities Reference Manual for a complete
description of the SYSMAN command DO.
Example
In the following example, SYSMAN runs the INSTALL utility and makes a file known on all nodes in
the cluster when you enter the commands from the local node:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/CLUSTER
SYSMAN> SET PROFILE/PRIVILEGE=CMKRNL
SYSMAN> DO INSTALL ADD/OPEN/SHARED WORK4:[CENTRAL]STATSHR
.
.
.
%SYSMAN-I-OUTPUT, Command execution on node NODE21
%SYSMAN-I-OUTPUT, Command execution on node NODE22
Example
The following example creates and executes a SYSMAN command procedure to display the current
date and system time for each OpenVMS Cluster node:
$ CREATE TIME.COM
SET ENVIRONMENT/CLUSTER
CONFIGURATION SHOW TIME[Ctrl/Z]
23
Chapter 2. Using OpenVMS System Management Utilities and Tools
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> @TIME
%SYSMAN-I-ENV, Current command environment:
Clusterwide on local cluster
Username SYSTEM will be used on nonlocal nodes
System time on node NODE21: 19-JUN-1996 13:32:19.45
System time on node NODE22: 19-JUN-1996 13:32:27.79
System time on node NODE23: 19-JUN-1996 13:32:58.66
SYSMAN>
The default file specification for the SYSMAN initialization file is SYS$LOGIN:SYSMANINI.INI.
If you want your SYSMAN initialization file to have a different file specification, you must define the
logical name SYSMANINI to point to the location of the file. The following is a sample initialization
file that defines several keys:
$ TYPE SYSMANINI.INI
DEFINE/KEY/TERMINATE KP0 "SET ENVIRONMENT/CLUSTER/NODE=(NODE21, NODE22)"
DEFINE/KEY/TERMINATE KP1 "CONFIGURATION SHOW TIME"
DEFINE/KEY/TERMINATE KP2 "SHOW PROFILE"
...
24
Chapter 2. Using OpenVMS System Management Utilities and Tools
OPCOM Components
OPCOM uses the following components:
25
Chapter 2. Using OpenVMS System Management Utilities and Tools
OPCOM Defaults
OPCOM uses the following defaults:
Section 2.4.4 explains how to control the use of OPA0: as an operator terminal. The VSI
OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems
explains how to specify the default state of operator log files.
OPCOM Requirements
OPCOM has the following requirements:
• To execute a REPLY command, OPCOM must be running, and you must enter REPLY from a
terminal device designated as an operator terminal.
• The REPLY command requires at least OPER privilege. You must have SHARE privilege if
another process is logged in to the designated operator terminal. To enable or disable the security
class, you must have SECURITY privilege.
To start OPCOM, enter the following command from the system manager's account (SYSTEM):
$ @SYS$SYSTEM:STARTUP OPCOM
If a software problem causes OPCOM to fail, contact your VSI support representative. Be sure to keep
the process dump file named SYS$SYSTEM:OPCOM.DMP. (When OPCOM fails, it creates this
file.)
26
Chapter 2. Using OpenVMS System Management Utilities and Tools
For example:
$ REPLY/ALL/BELL "Please log off"
Qualifier Description
/ALL Broadcasts a message to all terminals that are
attached to the system or cluster. These terminals
must be turned on and have broadcast-message
reception enabled.
/BELL Rings a bell at the terminal receiving a message
when entered with the /ALL, /TERMINAL, or /
USERNAME qualifier; two bells when entered
with the /URGENT qualifier; and three bells
when entered with the /SHUTDOWN qualifier.
/NODE[=( node-name[, ...]) Broadcasts a message to the local cluster node
only, or to a node or nodes you specify.
/SHUTDOWN Sends a message beginning “SHUTDOWN...”; if
used with the /BELL qualifier, rings three bells at
terminals receiving the message.
/TERMINAL=( terminal-name[, ..]) Broadcasts the message to the specified terminals.
/URGENT Broadcasts a message beginning “URGENT...”; if
used with the /BELL qualifier, rings two bells at
terminals receiving the message.
/USERNAME=( username[, ...]) Broadcasts a message to all terminals at which
users are logged in to the system (or cluster), or
only to the terminals of the specified users.
Examples
The REPLY command in the following example sends a message to all users logged in to node
WLDWND. When the message is displayed, a bell rings at the terminal.
$ REPLY/ALL/BELL/NODE=WLDWND "Please log off"
The REPLY command in the following example sends a message to the user logged in at terminal
TTC1. When the message is displayed, a bell rings at that terminal.
$ REPLY/BELL/TERMINAL=TTC1: "Your file has completed printing"
27
Chapter 2. Using OpenVMS System Management Utilities and Tools
You can control the use of OPA0: as an operator terminal, whether or not the node
is part of an OpenVMS Cluster system, by defining the following logicals in SYS
$MANAGER:SYLOGICALS.COM:
The logicals take effect the next time you boot the system.
$ REPLY/ENABLE
$
%%%%%%%%%%% OPCOM 13-JUL-2000 11:30:30.56 %%%%%%%%%%%
Operator _BHAK$FTA20: has been enabled, username SYSTEM
If your facility is large, there may be several operators, each of whom is assigned to specific tasks. If
this is the case, you can specify the classes of messages the operator terminal receives and responds to
when you enable the operator terminal, as follows:
REPLY/ENABLE=(keyword[, ...])
Keyword Description
CARDS Displays messages sent to the card readers.
CENTRAL Displays messages sent to the central system operator.
CLUSTER Displays messages from the connection manager pertaining to OpenVMS
Cluster system state changes.
28
Chapter 2. Using OpenVMS System Management Utilities and Tools
Keyword Description
DEVICES Displays messages pertaining to mounting disks.
DISKS Displays messages pertaining to mounting and dismounting disk volumes.
LICENSE Displays messages pertaining to software licenses.
NETWORK Displays messages pertaining to networks; the keyword CENTRAL must also be
specified to inhibit network messages.
OPER1 to Displays messages sent to operators identified as OPER1 to OPER12.
OPER12
PRINTER Displays messages pertaining to print requests.
SECURITY Allows messages pertaining to security events; requires SECURITY privilege.
TAPES Allows messages pertaining to mounting and dismounting tape volumes.
For example:
$ REPLY/ENABLE=(PRINTER, OPER3)
Example
The following example designates terminal TTA3 as an operator terminal, enabling it to receive
messages concerning printers, magnetic tapes and disks, and messages intended for the central
operator. Later, it relinquishes terminal TTA3's ability to receive messages concerning tapes. The
terminal still receives and can respond to messages about disks and printers and messages directed to
CENTRAL.
$
%%%%%%%%%%% OPCOM 13-JUL-2000 11:37:09.53 %%%%%%%%%%%
Operator status for operator TTA3
CENTRAL, PRINTER, DISKS, TAPES
$ REPLY/DISABLE=TAPES
%%%%%%%%%%% OPCOM 13-JUL-2000 11:37:09.53 %%%%%%%%%%%
Operator status for operator TTA3
CENTRAL, PRINTER, DISKS
$ REPLY/DISABLE
%%%%%%%%%%% OPCOM 13-JUL-2000 11:38:50.68 %%%%%%%%%%%
Operator TTA3 has been disabled, username SYSTEM
29
Chapter 2. Using OpenVMS System Management Utilities and Tools
Qualifier Description
/REPLY Sends a request and requests a reply to the
message. Requests sent with this command are
issued a unique identification number to which
the operator sends the response. The user cannot
enter any commands until the operator responds.
/TO=(operator[, ...]) If your facility is large, there may be several
operators, each of whom has specific tasks. The /
TO qualifier lets users send requests to a specific
operator. Options are as follows: CARDS,
CENTRAL, CLUSTER, DEVICES, DISKS,
NETWORK, OPER1 to OPER12, PRINTER,
SECURITY, TAPES.
The DCL commands MOUNT/ASSIST and BACKUP/ASSIST also request operator assistance. For
more information, see the following sections:
Example
An operator is monitoring an operator terminal enabled for the PRINTER class. The following PRINT
command submits an output job that requires a special print form (/FORM=LETTER).The REQUEST
command sends a message to the operator. After completing the request, the operator would send a
reply, as explained in Section 2.4.7.
$ PRINT/COPIES=2/QUEUE=LQ_PRINT REPORT.OUT/FORM=LETTER
Job REPORT (queue LQA1, entry 401) pending
$ REQUEST/REPLY/TO=PRINTER -
_$ "Have queued job 401 as FORM=LETTER; can you print it?"
%OPCOM-S-OPRNOTIF, operator notified, waiting...10:42:16.10
%OPCOM-S-OPREPLY, AFTER 11:00
19-APR-2000 10:25:32.40, request 3 completed by operator OPA0
Qualifier Description
/ABORT= identification-number Replies to the request specified by the
identification number and cancels the request.
/PENDING= identification-number Replies to the request specified by the
identification number and prevents the user
from entering other commands until the operator
fulfills or aborts the request. The current terminal
must be enabled as an operator terminal.
/STATUS Reports which classes are enabled, and all
outstanding user requests for the terminal from
30
Chapter 2. Using OpenVMS System Management Utilities and Tools
Qualifier Description
which this command was entered. The current
terminal must be enabled as an operator terminal.
/TO= identification-number Replies to the request specified by the
identification number and completes the request.
The current terminal must be enabled as an
operator terminal.
An operator working with magnetic tapes would also use additional REPLY qualifiers specific to
magnetic tape operations. For more information, see Section 9.9.2.4. For detailed information about
the REPLY command and its qualifiers, refer to the VSI OpenVMS DCL Dictionary.
Example
In the following example, the REPLY/TO command replies to operator request number 5, issued by
user ROBINSON. The MOUNT device is switched to DUA4, and the user is notified.
%%%%%%%%%% OPCOM, 19-APR-2000 10:20:50.39 %%%%%%%%%%%
request 5 from user ROBINSON
Please mount volume GRAPHIC_FILES in device _DUA11:
Shelf 4 - slot B
$ REPLY/TO=5 "SUBSTITUTE DUA4"
Disk Description
Source disk The disk from which you copy system files. The source disk must be an existing
system disk.
31
Chapter 2. Using OpenVMS System Management Utilities and Tools
Disk Description
Target disk The disk to which you move the system files.
Caution
Do not attempt to use VMSKITBLD with the current system disk as the target disk.
VMSKITBLD.COM deletes files that are required for a running system.
The existing system disk is the source disk. The new disk is the target disk.
Caution
The VMSKITBLD BUILD option initializes the target disk, deleting all of its previous contents. For
information about copying files to an existing system disk without destroying files, see Section 2.5.2.
If you want to build your operating system on another disk and you are not concerned about losing the
current contents of the target disk, use the BUILD option as described in the following procedure.
3. Make sure the disk is spun up and on line. If you are using a removable disk, you must also place
the disk into the appropriate drive.
$ @SYS$UPDATE:VMSKITBLD
5. Enter BUILD and press Return. VMSKITBLD displays messages that either prompt you for
information needed to complete the operation or inform you of the procedure's status.
a. In response to the following prompt, enter the name of the source disk:
b. In response to the following prompt, enter the top-level system directory for the source disk:
32
Chapter 2. Using OpenVMS System Management Utilities and Tools
c. In response to the following prompt, enter the name of the target disk:
d. In response to the following prompt, enter the volume label of the target disk:
f. The procedure displays the following message to warn you that the target disk will be
initialized and to allow you to stop the procedure:
Make sure it is safe to destroy the contents of the target disk, and enter Y to continue.
When the system displays the dollar sign ($) prompt, the system disk is built. VMSKITBLD
automatically dismounts the target disk. At this point, the target disk contains all the operating
system files required for a complete system.
6. Complete the system disk by creating a rights database and network proxy database and
configuring the system with appropriate system parameters. For instructions, see Section 2.5.1.1.
7. To use the new system disk, reboot the system with the new system disk.
Example
The following example runs VMSKITBLD.COM to build a new system disk. It copies the files on the
current system disk to create a new system disk on the DUA0: disk.
33
Chapter 2. Using OpenVMS System Management Utilities and Tools
1. Boot the new system disk using a conversational boot. For instructions, refer to the upgrade and
installation supplement for your computer.
2. When the SYSBOOT> prompt appears, enter the USE DEFAULT command to boot with default
values for all system parameters.
3. To avoid starting all layered products on a system that is not tuned for them, possibly causing the
system to hang, enter SET STARTUP_P1 "MIN" after the SYSBOOT> prompt.
5. After the system boots, log in to the SYSTEM account. The password for the system account will
be the default password, MANAGER. Make sure you change this password.
6. Use the Authorize utility to create a rights database and a network proxy database. For more
information, refer to the VSI OpenVMS Guide to System Security.
7. Run AUTOGEN from the SAVPARAMS phase to set appropriate values for system parameters.
Be sure to specify the CHECK_FEEDBACK option. See VSI OpenVMS System Manager’s
Manual, Volume 2: Tuning, Monitoring, and Complex Systems and the AUTOGEN section of the
VSI OpenVMS System Management Utilities Reference Manual> for detailed information about
running AUTOGEN.
To reboot from the former system disk, specify REBOOT as the end phase when invoking
AUTOGEN.
To reboot the system from the new system disk, specify SHUTDOWN as the end phase and reboot
manually, specifying the new system disk.
Example
SYSBOOT> USE DEFAULT
34
Chapter 2. Using OpenVMS System Management Utilities and Tools
To do this, the operating system must be running and the source disk that you intend to copy from
must be mounted.
When you use the COPY option of VMSKITBLD.COM, the user-modified files (including
SYSUAF.DAT and site-specific command files) are notcopied from the source disk; VMSKITBLD
uses the unaltered TEMPLATE versions of these files. In addition, the procedure does not create the
system-specific files SWAPFILE.SYS, PAGEFILE.SYS, or SYSDUMP.DMP.
Before VMSKITBLD copies each new system file, it deletes the older version of the file from the
target disk.
5. Enter COPY and press Return. VMSKITBLD displays messages that either prompt you for
information needed to complete the copy operation or inform you of the procedure's status.
a. In response to the following prompt, enter the name of the source disk.
* Enter mounted SOURCE disk name (ddcu:):
b. In response to the following prompt, enter the top-level system directory for the source disk:
* Enter SOURCE disk top level system directory [default = SYS0]:
c. In response to the following prompt, enter the name of the target disk:
* Enter TARGET disk name (ddcu:):
35
Chapter 2. Using OpenVMS System Management Utilities and Tools
When the system displays the dollar sign ($) prompt, the files have been copied and the system
disk is complete. VMSKITBLD automatically dismounts the target disk.
Example
* Enter mounted SOURCE disk name (ddcu:): SYS$SYSDEVICE:
* Enter SOURCE top level system directory [default = SYS0]:
* Enter TARGET disk name (ddcu:): DUA0:
* Enter TARGET disk top level system directory [default = SYS0]: SYSA
%DCL-I-ALLOC, _DUA0: allocated
%MOUNT-I-MOUNTED, VAXVMSRL5 mounted on _DUA0:
Copying files from source disk ...
Copying DECwindows files from source disk ...
Writing a boot block ...
System disk complete.
$
Note
Do not use the ADD option to create a system root to add a new system to an OpenVMS Cluster
environment. Instead, use the SYS$MANAGER:CLUSTER_CONFIG.COM procedure.
The ADD option creates only new specific root directories. The current common directory is linked to
the new root.
2. Check the number of free blocks on the system disk to make sure you have adequate space for the
new files, including SWAPFILE.SYS, PAGEFILE.SYS, and SYSDUMP.DMP. The sizes of these
files are determined by the type of computer you use. For information about calculating size for
page, swap, and dump files, see VSI OpenVMS System Manager’s Manual, Volume 2: Tuning,
Monitoring, and Complex Systems.
$ @SYS$UPDATE:VMSKITBLD
36
Chapter 2. Using OpenVMS System Management Utilities and Tools
5. Enter ADD and press Return. VMSKITBLD displays messages that either prompt you for
information needed to complete the operation or inform you of the procedure's status.
c. In response to the following prompt, enter the name of the target disk:
d. In response to the following prompt, enter the new root directory specification:
When the system displays the dollar sign ($) prompt, the target system directory contains the new
system root directory. VMSKITBLD automatically dismounts the target disk.
6. Configure the new system root by booting the target disk and running AUTOGEN. For
instructions, see Section 2.5.3.1.
Example
The following example adds an alternate system root directory named SYSA on the target disk
SHEMP$DUA5:
1. Shut down the system and halt your computer. For instructions on shutting down your system, see
Section 4.8.1.
37
Chapter 2. Using OpenVMS System Management Utilities and Tools
2. Perform a conversational boot, as described in the upgrade and installation supplement for your
computer.
3. When the conversational boot prompt (SYSBOOT>) appears, enter the following commands:
4. After the system boots, log in to the SYSTEM account and execute AUTOGEN from the
SAVPARAMS phase to set appropriate values for system parameters.
To reboot from the former root, specify REBOOT as the end phase when invoking AUTOGEN.
To reboot from the new root directory, specify SHUTDOWN as the AUTOGEN end phase, and
reboot manually. See VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring,
and Complex Systems and the VSI OpenVMS System Management Utilities Reference Manual
(AUTOGEN) for detailed information about AUTOGEN.
Example
SYSBOOT> USE DEFAULT
SYSBOOT> SET STARTUP_P1 "MIN"
SYSBOOT> CONTINUE
.
.
.
$ @SYS$UPDATE:AUTOGEN SAVPARAMS REBOOT CHECK_FEEDBACK
.
.
.
38
Chapter 3. Installing, Upgrading, and
Updating Software
This chapter describes the concepts related to installing, upgrading, and updating OpenVMS layered
products.
Note
Instructions for installing, upgrading, and updating the OpenVMS operating system software are in
the current OpenVMS Upgrade and Installation Manual for VAX, Alpha, or I64 systems.
Each layered product is packaged to use one of these. Refer to the layered product's documentation for
information about which to use.
Task Section
Installing layered product software Section 3.1
Using VMSINSTAL.COM to install layered software Section 3.2
through
Section 3.5
Using the POLYCENTER Software Installation utility Section 3.5
through
Section 3.8.8
Concept Section
VMSINSTAL.COM Section 3.2
POLYCENTER Software Installation utility Section 3.6
Task Section
Preparing your system to run VMSINSTAL.COM Section 3.2
39
Chapter 3. Installing, Upgrading, and Updating Software
Task Section
Running VMSINSTAL.COM Section 3.3
Recovering from a system failure Section 3.4
Selecting VMSINSTAL.COM options Section 3.5
Note that these sections do not describe specific VMSINSTAL.COM procedures. The examples used
are for illustration only. For details of a particular product, refer to the installation documentation for
the specific product.
If you are installing or upgrading a layered product using the POLYCENTER Software Installation
utility, refer to Section 3.6 and to the layered product installation documentation.
Task Section
Using the POLYCENTER Software Installation utility Section 3.6
Installing software Section 3.7
Performing operations on installed software Section 3.8
Removing installed software Section 3.8.8
• Back up your system disk, as described in Section 11.17. Use the backup copy as a working copy
for the installation.
VMSINSTAL.COM might delete the older version of the product before it installs the newer
version. If the system fails during installation, you might have to make a new working copy of the
system disk and restart the installation.
• Be sure all users have logged out and all batch jobs have completed by using, respectively, the
SHOW USERS and SHOW SYSTEM/BATCH commands. Keep users off the system until
VMSINSTAL.COM completes by using the following command:
$ SET LOGINS/INTERACTIVE=0
Note
If you cannot log off all users during the installation of a layered product that updates the DCL help
library, note that the help files for that layered product will not be installed if a user on the system is
40
Chapter 3. Installing, Upgrading, and Updating Software
accessing DCL help. The installation procedure generates warning messages and stores the help files
in a working directory.
If you must change parameter values, increase the values by adding ADD_ parameter-name
symbols to MODPARAMS.DAT. (See VSI OpenVMS System Manager’s Manual, Volume 2:
Tuning, Monitoring, and Complex Systems.)
Use AUTOGEN with feedback to size the system resources properly. (See VSI OpenVMS System
Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems.)
• Make sure the limits in the SYSTEM account authorization record are equal to or greater than the
recommended limits.
To check these limits, run the Authorize utility (AUTHORIZE) to display the current limits of the
SYSTEM account's user authorization file.
• If necessary, use the Authorize utility to modify the SYSTEM account limits. Changes you make
do not take effect until you log out and log in again.
For example, to increase the DIOLM limit to 100, enter the following command:
• Physically mount the first distribution media that contains the software product. See Section 9.5
for details.
A Product Authorization Key (PAK) contains information that is provided for many VSI products.
The data provided in the PAK allows you to register a software license in the license database on a
system.
41
Chapter 3. Installing, Upgrading, and Updating Software
If you did not register and load your operating system license during the installation of the OpenVMS
operating system, you must perform that task (and register other licenses, if necessary) before you
install other software products, as explained in the following steps:
• At the DCL prompt, enter the LICENSE REGISTER command with the appropriate qualifiers
that correspond to License PAK information.
• License Management Facility (LMF), which loads the PAK only on the local node.
• System Management utility (SYSMAN), which allows you to load the PAK throughout an
entire cluster. (SYSMAN LICENSE commands are a subset of LMF commands.)
Only the local node requires the installation of a license before you use VMSINSTAL.COM.
For more information about loading licenses, refer to the OpenVMS License Management Utility
Manual.
This qualifier remedies problems that occasionally occur when you attempt to use the PAK of a
software product for which you already have other PAKs in your LDB. The PAK does not combine
with the other PAKs for the same software product, resulting in LICENSE-W-NOCOMB warnings.
Often, the license is not loaded on the nodes on which you want it loaded.
1. Add the NO_SHARE option to the PAK or PAKs causing the NOCOMB warnings.
• Read the installation instructions for the specific product or update. If you need assistance during
an installation, enter a question mark (?) for an explanation of possible responses.
• When you first start VMSINSTAL.COM, the procedure displays several prompts and messages
that direct and explain the installation. These prompts and messages differ, depending on the
software product that you are installing.
42
Chapter 3. Installing, Upgrading, and Updating Software
• When the procedure asks if you are satisfied with the backup of your system disk, back up your
system disk before continuing with the installation if you do not have a recent backup of your
system disk.
• If you do not satisfy all conditions required to start VMSINSTAL.COM, the procedure displays
a warning message explaining the problem and asks you if you want to continue. VSI strongly
recommends that you satisfy these conditions before you try to start VMSINSTAL.COM again.
Caution
If you continue the procedure without making the required corrections, VSI cannot guarantee that the
installation will be supported.
Example
$ @SYS$UPDATE:VMSINSTAL CALENDAR020 MUA0:
The command in this example installs the product CALENDAR, from save sets named
CALENDAR020, on a magnetic tape on the MUA0: drive. (This command shows the simplest case,
in which you use no options or qualifiers.)
The following sections explain required and optional parameters in the VMSINSTAL.COM command
line:
Parameter Section
Product list Section 3.3.1
Source Section 3.3.2
Options Section 3.3.3
Destination Section 3.3.4
Backup qualifiers Section 3.3.5 and
Section 3.5.3.3
The product-list parameter lists the products that you want to install. You can use this parameter
when you install layered products or update the operating system. (When you perform an upgrade
procedure, you can list only one product, VMSvvu.)
43
Chapter 3. Installing, Upgrading, and Updating Software
Note
Do not use the wildcard character (*) if you are installing layered products and updating the operating
system at the same time. In this case, update the system first. If you use the wildcard character,
VMSINSTAL sorts the product list in alphabetical order; the operating system would probably not be
installed first.
If you want to specify more than one item in the product-list parameter, separate the items using
commas and no intervening spaces. Use the following format to specify the product list:
facvvu
Table 3.1 explains the format of facvvu. Using this format, you can install a specific version and
update of a product from distribution media containing several versions and updates. If you do not
include a version and update number, all versions and updates to the specified product from the source
are installed in alphabetical order.
If you are installing from a distribution kit, the list of products on your distribution media is included
with the bill of materials for the distribution kit. If the list is not available, you can obtain one by
using the DIRECTORY command; the distribution media then finds and displays the products that are
included.
If you are installing from a disk directory, obtain the product list by entering DIRECTORY and
specifying the disk directory in the following format:
DIRECTORY node::device:[directory]
Examples
1. $ MOUNT/OVERRIDE=ID MUA0:
%MOUNT-I-MOUNTED, VMS071
mounted on _MUA0:
$ DIRECTORY MUA0:[0,0]
The DIRECTORY command in this example directs the distribution media to find the products
included on the MUA0: drive; for example:
Directory MUA0:[000,000]
000000.DIR;1 BACKUP.SYS;1 BADBLK.SYS;1 BADLOG.SYS;1
44
Chapter 3. Installing, Upgrading, and Updating Software
Total of 22 files.
2. $ DIRECTORY BRAVO::DUA1:[0,0]
The DIRECTORY command in this example directs the distribution media to find the products on
the node BRAVO, which is on the DUA1: device.
Note
To access a remote node, you must have read and execute access (R,E) to the directory.
• A drive that holds the distribution media; for example, a TK50 drive designated as the MUA0:
drive.
• A disk directory to which the product save set has been transferred from the distribution media for
later installation.
You specify a disk directory as the source when you select the Get Save Set option. For more
information about this option, see Section 3.5.3
You can also use a logical name to specify the source. If you do not specify the source,
VMSINSTAL.COM asks you for it, as follows:
45
Chapter 3. Installing, Upgrading, and Updating Software
You specify each option by entering the appropriate option letter after the keyword OPTIONS in the
command that starts VMSINSTAL.COM. The OPTIONS keyword is optional. However, if you have
an option list, you must enter OPTIONS before it. If you enter an option list without the OPTIONS
keyword, VMSINSTAL.COM displays an informational error message and the installation ends. (The
option-list parameter lists the options requested.)
1. Invoke the VMSINSTAL.COM procedure, entering appropriate option letters after the keyword
OPTIONS.
2. Press Return.
If you specify more than one option, separate the options with commas. Do not separate the options
with spaces.
Example
$ @VMSINSTAL.COM NEWAID021 MTA0: OPTIONS A,N
• To install the product in an alternate root. The product is installed on a system disk other than that
on which the target system is running. Specify the alternate system root in the following format:
device:[SYSn.]
where:
You can also specify a previously defined logical name for the alternate root.
• To copy the product kit save sets into a storage directory for later installation. For more
information about the Get Save Set option, see Section 3.5.3.
46
Chapter 3. Installing, Upgrading, and Updating Software
where:
• Performs an automatic shutdown of the system; you might be instructed to reboot manually.
When the product is installed, back up the updated system disk. For instructions, see Section 11.17.
• The system disk was not altered before the system failure. In this case, VMSINSTAL.COM
instructs you to restart the installation.
• The system disk or a library used by the installation was corrupted. In this case,
VMSINSTAL.COM instructs you to restore either the system disk or the corrupted library from
the backup copy and to restart the installation.
• VMSINSTAL.COM continues the installation. In this case, the procedure performs most of the
installation. In addition, VMSINSTAL.COM might tell you that you must perform some tasks
manually to complete the installation.
47
Chapter 3. Installing, Upgrading, and Updating Software
If you specify the Autoanswer option when you install a product initially, an answer file is created in
the form product.ANS in the SYS$UPDATE directory, where product is the product name parameter
that you provide when you start VMSINSTAL.COM.
The answer file contains a record of your responses to questions and prompts from
VMSINSTAL.COM. For example, if you install the product NEWAID010 with the Autoanswer
option, VMSINSTAL.COM creates an answer file called NEWAID010.ANS.
When you reinstall the product and specify the Autoanswer option (typically after upgrading your
operating system), VMSINSTAL.COM reads the answer file instead of asking you questions.
If you want to create a new answer file when you reinstall a product, you must first delete the existing
answer file.
Example
To use the Autoanswer option, specify the following command:
$ TYPE SYS$COMMON:[SYSUPD]NEW$PRODUCT010.ANS;1
* Do you want to install the entire kit [Y]? \
* Are these selections correct [Y]? \
* Does this product have an authorization key registered and loaded? \Y
* Will you allow a system shutdown after this product is installed [YES]? \
* How many minutes for system shutdown [0]: \
* Do you want to do an automatic system reboot [YES]? \
$
You can use the Alternate Working Device option to specify an alternate working device for the
temporary working directory (defined as the logical name VMI$KWD). This option allows you to
perform an installation with fewer free blocks on the system disk than are otherwise required.
If you do not specify this option, VMSINSTAL.COM creates the temporary working directory in the
following location:
48
Chapter 3. Installing, Upgrading, and Updating Software
SYS$SPECIFIC:[SYSUPD.facvvu]
AWD=dev:[dir]
where:
Specifying a directory is optional. If you do not specify a directory, VMSINSTAL.COM creates the
working directory on the specified device with the following directory specification: [000000. facvvu].
If you specify a directory, VMSINSTAL.COM creates the working directory as a subdirectory within
the directory that you specify (for example, [WORK. facvvu]). If the directory that you specify does
not exist, VMSINSTAL.COM does not create it.
Example
To use the working directory [INSTALL] on the alternate device DUA2:, issue the following
command:
Installing products either from a distribution tape or from console media directly onto your system
disk is time-consuming. The Get Save Set option saves you time by allowing you to copy product
save sets and store them temporarily while you do other work; you can then perform an update more
quickly at a time that is convenient for you.
You might consider dedicating a user disk on a node that other licensed system users can access. You
can store product save sets on this dedicated user disk to give other licensed system users fast access
to the product save-set directory.
The directory you specify must exist, and the device must be mounted.
49
Chapter 3. Installing, Upgrading, and Updating Software
Examples
If you specify just one option, enter the disk directory name immediately after the OPTIONS G
parameter, leaving a space between G and the disk directory. For example, if you are storing save sets
for a product named NEWAID010 from the console drive into disk directory USER1:[PRODUCTS],
enter the following command:
If you specify more than one option, place the disk directory name after the last option, leaving a
space between the last option and the disk directory name. For example:
VMSINSTAL.COM creates one or more files to store the product save set in the disk directory. The
save-set file name has the following format:
facvvu.x
Table 3.1 explains the format of facvvu. The format of the file type ( x) is:
x A literal file type that identifies save-set files, where A is the first save set, B the
second, and so forth
Example
The following table contains explanations of the qualifiers shown in the example:
Qualifier Explanation
/VERIFY Compares the contents of the output specifier with the contents of the input
specifier after a save, restore, or copy operation completes. If a file does not
compare successfully, an error message reporting this fact is displayed.
50
Chapter 3. Installing, Upgrading, and Updating Software
Qualifier Explanation
/LOG Causes the file specification of each file processed to be displayed at the
terminal during the operation. The default is /NOLOG.
/CONFIRM Displays a prompt on your terminal before each file is processed. To process the
file, enter Y or YES and press the Return key. The system interprets any other
response, including simply pressing the Return key, as NO.
Refer to the VSI OpenVMS System Management Utilities Reference Manual for more information
about the BACKUP command and its qualifiers.
Note
Not all layered products provide online release notes.
The release notes file receives the file name facvvu. release_notes, where facvvu
represents the product name code, version, and update numbers (see Table 3.1); for example,
NEWAID010.RELEASE_NOTES.
The following list contains explanations that correspond to the numbered entries in the example:
51
Chapter 3. Installing, Upgrading, and Updating Software
If the product does not supply release notes, VMSINSTAL.COM displays two error messages. It
also asks whether you want to continue or to end the installation, as follows:
%VMSINSTAL.COM-W-NOFILE, New File facvvu.RELEASE_NOTES does not exist.
%VMSINSTAL.COM-W-NORELNOTE, unable to locate release notes.
*Do you want to continue the installation [N]:
To continue the installation (whether or not release notes are available), enter Y (for YES) and
press Return.
The operating system in the alternate root must be complete and have the same version or update level
as the running system. All files and software products that the product installation refers to must be
present in the alternate root.
Note
Not all optional software products allow you to install a product on an alternate root. Consult the
documentation of the specific product to determine whether you can install the product on an alternate
root.
Also, VSI does not support the installation of a product on an alternate root on the existing system
disk.
If you specify option R, the product is installed on the alternate root. However, you cannot create
accounts or request a system reboot on an alternate root.
$ PURGE/LOG SYS$SYSROOT:[*...]*.*
Perform POLYCENTER Software Installation utility operations from the DCL prompt. Use the
following command format to invoke each operation:
$ PRODUCT subcommand product-name[/qualifier1,...]
For example, to install COBOL Version 2.2 and the latest version of Fortran, enter the following
command:
$ PRODUCT INSTALL COBOL/VERSION=2.2,FORTRAN [Return]
The following products have been selected:
DEC AXPVMS COBOL V2.2 Layered Product
52
Chapter 3. Installing, Upgrading, and Updating Software
You can enter PRODUCT commands at the DCL prompt ($) or in a DCL command procedure. See
the OpenVMS System Management Utilities Reference Manual for subcommand syntax information.
To run the POLYCENTER Software Installation utility as a batch job, see Section 3.7.6.
Table 3.3 lists DCL commands the POLYCENTER Software Installation utility can perform and
describes each of them.
53
Chapter 3. Installing, Upgrading, and Updating Software
Privileges required
The POLYCENTER Software Installation utility requires specific privileges to perform certain
operations, as shown in the following table:
The execution of command procedures from the kit you are installing might require additional
privileges. Check the installation guides that you receive with product kits for these privileges.
• The product description file (PDF), is provided by the software manufacturer. It contains all the
information the POLYCENTER Software Installation utility needs for installing either a software
product or a set of software products. The PDF includes a list of configuration choices the product
offers, default choices, and product requirements (such as minimum hardware configurations and
system parameter values).
• A product text file (PTF), is optionally supplied by the software manufacturer. It provides
information about the product. The information includes product name, producer, configuration
choice descriptions, and message text used during product installation.
• The product database (PDB), is created automatically by the POLYCENTER Software Installation
utility. When products are installed, the files and other objects that make up the product, such
as directories and accounts, are recorded in the PDB. The configuration choices made during
installation are also recorded.
You can access the PDB to show what products are installed and the dependencies between them.
You can also list the files and other objects that make up each product, or the history of installation
and upgrade activity.
• Patch recovery data sets are created automatically by the POLYCENTER Software Installation
utility. When products are installed in recovery mode or when patch kits are installed with
54
Chapter 3. Installing, Upgrading, and Updating Software
a request to save recovery data, the files and other objects that are displaced by the current
installation are saved in a specially designated directory tree for future use.
You can display information about recovery data sets and learn which patch kits can be uninstalled
using the SHOW RECOVERY_DATA operation.
• Compressed format. In this form, a data compression technique has been applied to a sequential
kit. A compressed kit has a .PCSI$COMPRESSED file type.
• Sequential format. In this form, the PDF, the PTF, and all files that comprise the product are
packaged in a single container file. This container file can be placed either on a random-access
device, such as a compact disc, or on a sequential access device, such as a magnetic tape. Most
layered products are distributed in sequential format.
• Reference format. In this form, the PDF, the PTF, and all files that comprise the product are placed
in a directory tree on a random-access device. OpenVMS is distributed in reference copy format
on CD-ROM.
A software product kit packaged in reference copy format has a product description file in the root
directory named in the following format:
producer-base-product-version-kit_type.PCSI$DESCRIPTION
• producer is the legal owner of the software product (for example, DEC)
• base is the base system that specifies the hardware and software platform on which the product
runs (for example, AXPVMS, VAXVMS, or I64VMS).
• kit_type identifies a kit type specified as a value from 1 through 7, as shown in Table 3.4.
55
Chapter 3. Installing, Upgrading, and Updating Software
Example Description
V6.1 In this example:
• Version type: V
• Major release: 06
• Minor release: 01
• No edit level
V6.1-1H2 In this example:
• Version type: V
• Major release: 06
• Minor release: 01
56
Chapter 3. Installing, Upgrading, and Updating Software
Example Description
• Update level: 1
• Edit level: H2
T6.2-FT2 In this example:
• Version type: T
• Major release: 06
• Minor release: 02
• A sequential format kit for DEC Softwindows for OpenVMS VAX that requires a double hyphen
has the following format:
DEC-VAXVMS-SOFTWIN-V0101--1.PCSI
This format shows that the producer is DEC (Digital), the base is VAXVMS (OpenVMS VAX),
the product is SOFTWIN, and the version is V1.1. The type of version is V, the major and minor
version numbers are each 1. There are no update or maintenance edit levels. The kit_type is 1
(full).
• A product description file in a reference copy format kit for OpenVMS Alpha has the following
format:
DEC-AXPVMS-VMS-V0601-1H2-2.PCSI$DESCRIPTION
This format shows that the producer is DEC (Digital), the base is AXPVMS (OpenVMS Alpha),
the product is OpenVMS, and the version is V6.1-1H2. The type of version is V, the major version
number is 6, the minor version number 1, the update level is 1, and the maintenance edit level is
H2. The kit_type is 2 (operating system).
• A product description file in a reference format kit for a field test version of OpenVMS Alpha has
the following format:
DEC-AXPVMS-VMS-T0700-FT2-2.PCSI$DESCRIPTION
This format shows that the producer is DEC (Digital), the base is AXPVMS (OpenVMS Alpha),
the product is OpenVMS, and the version is V7.0-FT2. The type of version is T, the major
version number is 7, and the minor version number is 0. There is no update level because the first
character after the hyphen is not a digit. The maintenance edit level is FT2 and the kit_type is 2
(operating system).
VSI-AXPVMS-KERBEROS-V0200-6-1.PCSI$COMPRESSED
57
Chapter 3. Installing, Upgrading, and Updating Software
This format shows that the producer is VSI, the base is AXPVMS (OpenVMS Alpha), the product
is KERBEROS, and the version is V2.0-6. The type of version is V, the major version number is 2,
the minor version number is 0, and the update level is 6. There is no maintenance edit level. The
kit_type is 1 (full).
If a PCF is present and it contains a response for a configuration choice, the default for that choice
comes from the PCF. The PCF specifies whether the choice can be changed or whether it is required.
If a PCF is not present or does not contain a response for a configuration choice, the default choice
comes from one of two places:
• If the product database (PDB) contains an entry for the choice that was made in a previous
installation, then the PDB entry becomes the default configuration choice. It can be changed.
• If the PDB does not contain an entry for the choice, either because the product was not previously
installed or because this is a new choice, then the default configuration choice comes from the
PDF. It can be changed.
• Saving your answer. You can specify that your response to a question (rather than the current
default value) be stored in the PCF.
• Not saving your answer. When creating a PCF during an installation, you can answer a question
without recording your answer in the PCF. This is useful for responding to questions that are
specific to a single system or installation.
• Deferring a question so that it is asked again during a future installation. For example, you might
want an installer to verify that a particular response is still valid for the systems on which each
installation is being performed.
• Preventing a question from being asked again. If you do not defer a question when you create
a PCF, the response recorded in the PCF is used during future installations. The installer is not
prompted for the information. This reduces the length and complexity of the actual installation
procedure.
The POLYCENTER Software Installation utility creates a PCF in your current default directory. The
default PCF is named DEFAULT.PCSI$CONFIGURATION. To override the default file name or
directory, use the /CONFIGURATION=OUTPUT qualifier. Refer to the sample procedure in the next
section.
58
Chapter 3. Installing, Upgrading, and Updating Software
If the Defer option is in effect, this entry can be changed when the PCF is used for
future installations or upgrades.
If the Defer option is not in effect, this entry cannot be changed when the PCF is used
for future installations or upgrades.
If the Write option is in effect, this entry, including the Defer option, is written into the
PCF and used when the PCF is used for future installations or upgrades.
If the Write option is not in effect, this entry, including the Defer option, is not written
into the PCF and is not used when the PCF is used for future installations or upgrades.
In this case, the default for the future installation or upgrade will come from the PDF or
PDB.
F17 Toggles the Defer option. By default, the Defer option is not in effect.
F18 Toggles the Write option. By default, the Write option is in effect.
Example 3.1 shows how to use keys F17 and F18 in the PCF. Note that this is an example only and
does not necessarily represent an actual PCF for a product. A description of the callouts follows the
example.
59
Chapter 3. Installing, Upgrading, and Updating Software
.
.
.
Do you want to review the options ?[NO] [Return] (9)
%PCSI-I-WRICON, writing configuration file
SYS$SYSDEVICE:[VMS$COMMON]MYPCF.PCSI$CONFIGURATION;1 (10)
%PCSIUI-I-SUCCONFIG, CONFIGURE operation completed successfully
$
1. Chooses to select values for individual options instead of accepting default values for all of the
options.
2. Requests (by using the defer key, F17) that the installer be given the choice of whether or not to
install the optional example files.
4. Records the default response [Yes] in the PCF. Because the defer option was in effect, when
the PCF is used during a future installation, the installer can select the Accounting Log Report
Generator utility by default, or can choose not to select it.
5. Requests the nowrite option key (F18) so that this choice will not be written to the PCF.
6. Chooses not to install the Access Control List utilities. Because the nowrite option is in effect, this
choice is not written to the PCF.
7. Chooses not to install the Print and Batch Queue utilities. Because the nowrite option is not in
effect (by default) and the defer option is in effect (by default), this choice is written to the PCF
and the question is not asked again when the PCF is used during a future installation.
8. Accepts the default to install the DECdtm Distributed Transaction Manager. Because the nowrite
option is not in effect (by default) and the defer option is in effect (by default), this choice is
written to the PCF, and the question is not asked again.
10. Displays the name of the PCF that has been created, MYPCF.PCSI$CONFIGURATION. The
POLYCENTER Software Installation utility displays this message only when you enable message
logging by using /LOG with PRODUCT CONFIGURE.
When you use a single DCL command to install or configure more than one product and write the
responses to a PCF, the information for all the products that are installed or configured is in a single
60
Chapter 3. Installing, Upgrading, and Updating Software
PCF. Use separate operations to install or configure a set of products when you want to keep each
product's configuration values in its own PCF.
To add a remark to the product database, use the /REMARK qualifier with any of the following DCL
commands:
• PRODUCT RECONFIGURE
• PRODUCT INSTALL
• PRODUCT REMOVE
See the VSI OpenVMS System Management Utilities Reference Manual for information about this
command and the /REMARK qualifier.
If you do not have a PDF for a product you want to register, enter the following command:
$ @SYS$UPDATE:PCSI$REGISTER_PRODUCT.COM
This procedure prompts you for the product name, version, and producer. For example, the producer
for Digital products is DEC. The procedure uses this information to create a temporary, minimal PDF.
61
Chapter 3. Installing, Upgrading, and Updating Software
It then executes the PRODUCT REGISTER PRODUCT command to register the product, and deletes
the temporary PDF.
Because PCSI$REGISTER_PRODUCT.COM creates only a minimal PDF, it cannot register with the
POLYCENTER Software Installation utility database all the information about the product. For this
reason, if a PDF for the product is available, use it.
Although a transition PDF is intended specifically for PRODUCT REGISTER PRODUCT, you can
also register full and operating system PDFs.
• When you want to undo (or uninstall) one of more patch kits that have been installed using the
POLYCENTER Software Installation utility
A recovery data set is, in a sense, an extension of the POLYCENTER Software Installation utility
product database. A recovery data set consists of the following types of files:
• Supplementary data files that catalog actions that reverse the effect of installing a patch kit
• Database files as they were at the beginning of the installation of the patch kit
A recovery data set is, in other words, a combination of the directories and files that are replaced by
newer ones when a patch kit is installed. Recovery data set files are saved in a designated directory for
possible future use. The data files that describe the replaced files and directories and their contexts are
also saved.
Recovery data sets are stored in the following directory tree on the same system disk as the product
database files, where nnn is the recovery data set number:
[PCSI$UNDO_nnn]
The two major uses of recovery data sets are discussed in the next two sections.
62
Chapter 3. Installing, Upgrading, and Updating Software
When you enter this command, the POLYCENTER Software Installation utility installs the patch kit
in what is called recovery mode. When you install a kit in recovery mode, the files that the installation
modifies or replaces are saved; they make up a recovery data set. If an error condition interrupts the
installation or if you intentionally terminate the installation, the POLYCENTER Software Installation
utility can use the recovery data set to roll back the original files. This action restores the product
environment that existed prior to the interrupted installation.
Once the rollback completes, the POLYCENTER Software Installation utility destroys the recovery
data set. The utility also destroys the recovery data set at the end of a successful product installation
or reconfiguration. You can, however, prevent the deletion of the recovery data set by using the /
SAVE_RECOVERY_DATA qualifier with the PRODUCT INSTALL command. The next section
explains how to do this.
When you enter this command, the POLYCENTER Software Installation utility permanently saves
the files that the installation of the patch has removed. You can subsequently use the recovery data
set to uninstall the patch product; you enter the PRODUCT UNDO PATCH command to do this.
However, once you use the recovery data set to uninstall the patch product, the POLYCENTER
Software Installation utility deletes it, and you cannot use recovery data set files again.
The POLYCENTER Software Installation utility also destroys the recovery data set when you enter
any of the following (unrelated) DCL commands:
$ PRODUCT INSTALL (without the /SAVE_RECOVERY_DATA qualifier)
$ PRODUCT RECONFIGURE
$ PRODUCT REGISTER PRODUCT
$ PRODUCT REMOVE
• To delete selected recovery sets (if you are concerned that the recovery data takes up too much
space), enter the following command:
$ PRODUCT DELETE RECOVERY_DATA
By deleting one or more recovery data sets, you do not disturb your current product environment.
However, you cannot uninstall the patch products that correspond to the recovery data that you delete.
63
Chapter 3. Installing, Upgrading, and Updating Software
4. Respond to installation questions about product options. The product is not installed on your
system until you confirm your selections.
Note that the POLYCENTER Software Installation utility will perform this automatically if the
kits are available.
You can also define logical names, and then override them by using the /SOURCE and /
DESTINATION qualifiers on the PRODUCT command.
Note
If you do not deassign logical names after they are used, they can cause unexpected results in future
operations of the POLYCENTER Software Installation utility. Digital recommends that you use the /
SOURCE and /DESTINATION qualifiers.
Logical name PCSI$SOURCE defines the location of the software kits you want to install. Logical
name PCSI$DESTINATION defines the location where you want to install the software. For example,
if the software is located in DISK1:[KITS] and you want to install it in DISK2:[APPLICATIONS],
use the following commands:
You can override the logical name definitions by using /SOURCE and /DESTINATION qualifiers on
the PRODUCT command to specify a different source and destination.
64
Chapter 3. Installing, Upgrading, and Updating Software
If you do not define PCSI$DESTINATION, the utility installs the software product in SYS
$COMMON:[VMS$COMMON] and directories under it.
Note that the POLYCENTER Software Installation utility will perform this automatically if the kits
are available.
If you do not specify a file name, the release notes are written to a file in the current directory. The
name specified in the kit is used. It is not necessary to install a software product before you use the
POLYCENTER Software Installation utility to extract its release notes.
To install more than one product at a time, enter a list of product names separated by commas. You
can use asterisk (*) wildcard characters in the product names. For example:
Table 3.6 lists some of the features you can control with command qualifiers. A complete list is in the
VSI OpenVMS System Management Utilities Reference Manual and in online help.
65
Chapter 3. Installing, Upgrading, and Updating Software
Feature Qualifier
Include a remark in the product database /REMARK
Specify where the distribution kit is located /SOURCE
Specify configuration variables /CONFIGURATION=keywordb
Specify a work area for temporary files /WORK=device
a
The F17 (defer) and F18 (write) keys have no effect when you use the PRODUCT INSTALL command.
b
Can be either current or producer. For details, refer to the VSI OpenVMS System Management Utilities Reference Manual: M-Z.
$ PRODUCT INSTALL/CONFIGURATION=INPUT=DEC-VAXVMS-CMS.PCSI$CONFIGURATION -
_$ CMS/VERSION=3.4
As you respond to questions about the options for CMS Version 3.0, your responses are recorded in
the PCF named CMSV3.DAT in your current default directory.
For more information about product configuration files, see Section 3.8.4 and Section 3.8.1.
66
Chapter 3. Installing, Upgrading, and Updating Software
The amount of information varies; some products provide more information than others, and some
products provide no information.
If you specify an input PCF and it contains an answer for an option, the default answer from the PCF
is used. Depending on the entry in the PCF, the default answer may or may not be allowed to change.
If no input PCF exists, or if the input PCF does not contain an answer for an option, the default
answer comes from either the PDB or the PDF. If the PDB is present and contains the option, then
the default answer comes from the PDB. If the PDB is not present (a new installation) or does not
contain the option (a new option), then the default comes from the PDF. Default answers that come
from either the PDB or PDF may be changed.
To answer an option, either press Return to accept the default answer, or supply your own answer and
then press Return.
Some products contain a subset of questions or options. During an installation procedure, you can
accept the default values for an entire subset or you can answer each option in the subset.
When you select an option that has suboptions, the POLYCENTER Software Installation utility will
ask:
If you answer YES, you will not be asked about the subitems. Instead, the utility will use the defaults
for the subitems. If you answer NO, the utility asks you about each subitem.
67
Chapter 3. Installing, Upgrading, and Updating Software
If you are not, answer NO to this question. You can then either enter your answers again or exit the
installation procedure:
Do you want to change any options? [YES] NO
By answering NO to this question, you can end the installation procedure. The product is not installed;
your system remains unchanged.
1. The system displays the following messages if the PRODUCT INSTALL command fails to obtain
exclusive access to the help library after waiting for two minutes:
%PCSI-I-PRCOUTPUT, output from subprocess follows ...
%LIBRAR-F-OPENIN, error opening disk:[SYS0.SYSCOMMON.]
[SYSHLP]HELPLIB.HLB;1 as input
-RMS-E-FLK, file currently locked by another user
• To retry the library update, ask users to exit HELP. Then answer YES to the following
question:
Do you want to take this action? [YES] YES
If users do not exit HELP within two minutes, the question is repeated.
The last message indicates that some files might have been moved to their target directories,
but the product has not been completely installed. Installation of the product at a later time will
delete the files from the aborted installation and will then perform a full installation.
68
Chapter 3. Installing, Upgrading, and Updating Software
include the /CONFIGURATION qualifier to specify an existing PCF so the POLYCENTER Software
Installation utility can respond to questions about product options and configuration choices. If you do
not specify /CONFIGURATION, the defaults are used.
Example 3.2 shows how a product might be installed using a command procedure. The example sets
and restores VERIFY, and times the installation.
Example 3.2. Example 3-2 Sample Command Procedure for Installing a Product
$ SAVE_PROC_VERIFY = F$ENVIRONMENT("VERIFY_PROCEDURE")
$ SAVE_IMAGE_VERIFY = F$ENVIRONMENT("VERIFY_IMAGE")
$ SET VERIFY
$ ON ERROR THEN GOTO ERROR_EXIT
$ START_TIME = F$TIME()
$ WRITE SYS$OUTPUT "START TIME -- ''START_TIME'"
$ PRODUCT INSTALL CHESSMASTER -
/CONFIGURATION=PRODUCER -
/HELP -
/LOG
$ERROR_EXIT:
$ END_TIME = F$TIME()
$ TEMP = F$VERIFY(SAVE_PROC_VERIFY,SAVE_IMAGE_VERIFY)
$ WRITE SYS$OUTPUT " --------------------------------"
$ WRITE SYS$OUTPUT " END TIME -- ''END_TIME'"
$ WRITE SYS$OUTPUT " START TIME -- ''START_TIME'"
$ WRITE SYS$OUTPUT " --------------------------------"
$ EXIT
Because of these characteristics, the POLYCENTER Software Installation utility treats patch kits in a
special way. If you want to be able to uninstall a patch kit that turns out to be defective, for example,
you first need to install the patch kit with the /SAVE_RECOVERY_DATA qualifier. This qualifier
forces all the files and modules that the installation modifies or replaces to be saved in a specially
designated area on the system disk. These files include the product database of the utility and special
data files that describe the saved environment. Together, they form a recovery data set.
Later, if you decide to uninstall the patch kit using the PRODUCT UNDO PATCH command, the
patch kit objects are deleted and the saved recovery data set is used to reinstate the displaced files
along with the database.
69
Chapter 3. Installing, Upgrading, and Updating Software
information, display recovery details to see which patch kits can be uninstalled, delete recovery data
sets to save disk space, display the contents of a sequentially packaged product kit, or extract any file
from a sequentially packaged kit.
To change the configuration choices for an installed product, use the PRODUCT RECONFIGURE
command. The product kit must be present in the user's default directory or specified by the /
SOURCE qualifier or by the PCSI$SOURCE logical name.
This command replaces all occurrences of the old volume label with the new volume label. (The
POLYCENTER Software Installation utility reads the new label from the disk.)
Note that PRODUCT REGISTER VOLUME changes the information in the product database
only; it does not change the label on the volume. To rename a volume, use the DCL command SET
VOLUME. Then use PRODUCT REGISTER VOLUME to record the new name.
You can also use the PRODUCT REGISTER VOLUME command to record a change in the physical
or logical device name.
To copy a software kit from one location to another, use the PRODUCT COPY command. Specify the
current location with the /SOURCE qualifier and the new location with the /DESTINATION qualifier.
For example:
$ PRODUCT COPY/SOURCE=WORK_DISK:[KITS]/DESTINATION=LOCAL_DISK:[KIT_INSTALL]
CMS
For example, to convert CMS from sequential format to reference format, enter the following
command:
70
Chapter 3. Installing, Upgrading, and Updating Software
$ PRODUCT COPY/FORMAT=REFERENCE/SOURCE=MUA1:/DESTINATION=LOCAL_DISK:
[KIT_INSTALL] -
_$ CMS
71
Chapter 3. Installing, Upgrading, and Updating Software
72
Chapter 3. Installing, Upgrading, and Updating Software
Also, the saved recovery data must be available on the system, which is possible only if, after
installing the patch kits, you did not perform another operation that deleted the patch recovery data.
Operations that automatically destroy recovery data sets are the following:
PRODUCT RECONFIGURE
PRODUCT REMOVE
After using the PRODUCT SHOW RECOVERY_DATA command to verify that patch recovery data
is available, you can perform the uninstall operation using the PRODUCT UNDO PATCH command.
This command allows for some flexibility:
• By default, if you do not use any qualifiers, only the latest installed patch kit or kits are removed.
• If you want to uninstall all patch kits to the extent that recovery data allows, use the /ALL
qualifier.
• To limit the number of patch kits to be uninstalled, specify the /NEWEST=n qualifier, where n is
the number of the newest recovery sets.
• To uninstall patch kits that have been installed after a certain date, use the /SINCE=date qualifier.
73
Chapter 3. Installing, Upgrading, and Updating Software
74
Chapter 4. Starting Up and Shutting
Down the System
This chapter describes various ways to start up and shut down your system.
To initiate startup of your system, you boot it. Many systems have unique booting commands. For
detailed booting instructions for your system, refer to the following manuals:
• On VAX systems, refer to the most recent version of the OpenVMS VAX Upgrade and Installation
Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade and
Installation Manual.
Task Section
Deferring memory testing on AlphaServer 4100 computers Section 4.1.2
Booting with modified system parameter values Section 4.2
Assigning port allocation classes with SYSBOOT Section 4.3
Booting in an emergency Section 4.4
Booting with controlled startup Section 4.5
Solving booting problems Section 4.6
Writing a new boot block on the system disk Section 4.7
Performing an orderly shutdown with SHUTDOWN.COM Section 4.8.1
Customizing SHUTDOWN.COM to perform site-specific operations Section 4.8.3
Performing an orderly shutdown with SYSMAN Section 4.8.4
Performing an emergency shutdown with the OPCCRASH.EXE program Section 4.8.5
Performing an emergency shutdown using console commands Section 4.8.6
Using the Boot Manager Utility, BOOT_OPTIONS, to reconfigure devices on Section 4.9.3
OpenVMS I64 systems
Concept Section
Booting and startup processes Section 4.1.1
Nonstop boot: the most common booting operation Section 4.1.3.1
Conversational boot: for special booting functions Section 4.1.3.2
System startup and STARTUP.COM Section 4.1.4
System shutdown procedures Section 4.8
The order of shutdown events Section 4.8.2
75
Chapter 4. Starting Up and Shutting Down the System
Concept Section
Reconfiguration of boot, dump, and debug devices on OpenVMS I64 systems Section 4.9
You must have installed the operating system before you boot the system for the first time.
Booting procedures vary for different computers. For example, computers with console storage
devices use a boot command procedure. You can copy and edit this command procedure to specify the
location of the system disk. Other computers have an internal memory device that provides the name
of the system disk.
On Alpha and I64 systems, you cannot boot from a magnetic tape device.
1. You enter the BOOT command. The boot block, a fixed location on disk, points to the primary
bootstrap image, which is loaded from disk into main memory.
The primary bootstrap image allows access to the system disk by finding the secondary bootstrap
image, SYS$SYSTEM:SYSBOOT.EXE, and loading it into memory.
2. SYSBOOT.EXE loads the system parameters stored in the default parameter file into memory.
(For more information about the default parameter file and loading of system parameters at boot
time, see Section 4.2.)
If you are performing a conversational boot, the procedure stops and displays the SYSBOOT>
prompt. (For information about conversational booting, see Section 4.1.3.2.) Otherwise,
SYSBOOT.EXE loads the operating system executive into memory and transfers control to the
executive.
76
Chapter 4. Starting Up and Shutting Down the System
STARTUP.COM, see Section 4.1.4. For more information about other startup procedures, see
Section 5.2.1.)
The current values of system parameters are written back to the default parameter file.
7. The boot process finishes, and you can log in to the operating system.
Note
On VAX and Alpha systems, you can reconfigure boot and dump devices only by shutting down the
system and entering commands from the console.
On I64 systems, you can reconfigure boot and dump devices either before you shut down the system
or after you shut it down. These methods are explained in Section 4.9.
To use this new feature, you need to specify a value for the MEMORY_TEST environment variable at
the console before booting. The values for MEMORY_TEST are the following:
Value Description
FULL (off) The console does all the testing.
NONE 32 MB of memory are tested before booting.
PARTIAL 256 MB of memory are tested before booting.
If you set MEMORY_TEST to NONE or PARTIAL, OpenVMS tests any remaining untested memory
on an as-needed basis at either or both of the following times:
When you change the value of MEMORY_TEST, you must issue the INIT console command before
the new value takes effect. Therefore, you need to follow these steps from the console before booting:
OpenVMS also gives you more control over when memory is actually tested. Bit 2 in the system
parameter MMG_CTLFLAGS controls deferred memory testing:
• If the bit is clear (the default), OpenVMS tests memory in the background and not necessarily
before the bootstrap process has completed.
• If you set the bit, OpenVMS guarantees that all memory will be tested by the end of EXEC_INIT
in the system bootstrap process; that is, before IPL is lowered from 31.
77
Chapter 4. Starting Up and Shutting Down the System
Follow the instructions for a nonstop boot in either of the following manuals:
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Alpha Upgrade and Installation Manual.
To boot your system conversationally, follow the instructions for a conversational boot in either of the
following manuals:
78
Chapter 4. Starting Up and Shutting Down the System
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Alpha Upgrade and Installation Manual.
Caution
Do not modify SYS$SYSTEM:STARTUP.COM. This file is deleted and replaced each time you
upgrade your system to the next version of the operating system. Leaving STARTUP.COM intact
prevents you from inadvertently altering any commands in the file, which in turn could cause the
startup procedure to fail.
Although you should not modify STARTUP.COM, sometimes you may want to control site-
independent startup when booting your system. For information, see Section 4.5.
STARTUP.COM uses a series of command procedures, executable images, and database files to
perform the following startup tasks:
• Define systemwide logical names required for the symbolic debugger, language processors, linker,
image activator, and help processor.
• Start processes that control error logging, SMISERVER (the system management server), the job
controller, the operator log file, and security auditing.
• Connect devices that are physically attached to the system by invoking the SYCONFIG.COM
procedure. Configure devices and load their I/O drivers.
Note
STARTUP.COM creates the CONFIGURE process only on a full boot. If external devices are
needed on any other boot (such as a minimum or an upgrade boot), add the following line to SYS
$MANAGER:SYLOGICALS.COM:
$IF P1 .NES. "FULL" THEN @SYS$SYSTEM:STARTUP CONFIGURE
• Install known images to reduce I/O overhead in activating the most commonly run images or to
identify images that must have special privileges.
STARTUP.COM executes the following site-specific startup command procedures in this order:
1. SYS$MANAGER:SYCONFIG.COM
2. SYS$MANAGER:SYLOGICALS.COM
3. SYS$MANAGER:SYPAGSWPFILES.COM
4. SYS$MANAGER:SYSECURITY.COM
5. SYS$MANAGER:SYSTARTUP_VMS.COM
79
Chapter 4. Starting Up and Shutting Down the System
For information about site-specific startup command procedures, see Section 5.2.
1. The following message indicates that the system is executing the command procedure SYS
$SYSTEM:STARTUP.COM:
This procedure configures and initializes the system and executes several site-specific command
procedures. For more information, see Section 4.1.4.
2. A short time later (up to a few minutes), the system displays a message similar to the following
message:
This message indicates that the system is executing SYSTARTUP_VMS.COM. You can modify
this file to perform various operations at startup time. For more information, see Section 5.2.7.
3. Finally, the procedure displays informational messages and accounting information. For example:
Accounting information:
Buffered I/O count: 133 Peak working set size: 401
Direct I/O count: 12 Peak pagefile size: 2379
Page faults: 325 Mounted volumes: 0
Charged CPU time: 0 00:00:55.23 Elapsed time: 0 00:01:31.24
After the system displays this information, you can log in.
Before using a conversational boot to show or modify system parameter values, you must be familiar
with the following terms:
80
Chapter 4. Starting Up and Shutting Down the System
Term Definition
Active values System parameter values stored in memory and
used by the active system.
Current values System parameter values stored in the default
parameter file. When the system boots, it sets
active values for system parameters using the
current values.
On VAX systems, the default system parameter
file is SYS$SYSTEM:VAXVMSSYS.PAR.1
On Alpha systems, the default system parameter
file is SYS$SYSTEM:ALPHAVMSSYS.PAR.2
On I64 systems, the default system parameter
files is IA64VMSSYS.PAR.3
Default values System parameter values stored in the default list
and used by default.
1
VAX specific
2
Alpha specific
3
I64 specific
For more information about system parameters, see VSI OpenVMS System Manager’s Manual,
Volume 2: Tuning, Monitoring, and Complex Systems.
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade
and Installation Manual.
2. At the SYSBOOT> prompt, enter SHOW and SET commands to show and change the value of
system parameters. For example:
For information about SET and SHOW commands, refer to the VSI OpenVMS System Manager’s
Manual, Volume 2: Tuning, Monitoring, and Complex Systems (SYSGEN).
81
Chapter 4. Starting Up and Shutting Down the System
SYSBOOT> CONTINUE
Example
SYSBOOT> SHOW UAFALTERNATE
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Alpha Upgrade and Installation
Manual.
where file-spec specifies the file name and type of the alternate parameter file. The file must
be in SYS$SYSTEM. You cannot specify a device name. For example:
SYSBOOT> USE ALTPARAMS.DAT
Example
SYSBOOT> USE ALTPARAMS.DAT
SYSBOOT> CONTINUE
82
Chapter 4. Starting Up and Shutting Down the System
For example, if port PKB is connected to a SCSI bus that another node has assigned port allocation
class 152, you would enter the following command:
SYSBOOT> SET/CLASS PKB 152
Be sure that the DEVICE_NAMING parameter is set to 1 to enable new device-naming; for example:
SYSBOOT> SET DEVICE_NAMING 1
To deassign a port allocation class, enter the port name without a class number; for example:
SYSBOOT> SET/CLASS PKA
Note that in most cases, VSI recommends that you use AUTOGEN to modify system parameters. In
special cases, however, you can use a conversational boot to modify a parameter value temporarily.
To change a parameter value permanently, you must edit MODPARAMS.DAT and run AUTOGEN.
For instructions, see VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and
Complex Systems.
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade
and Installation Manual.
83
Chapter 4. Starting Up and Shutting Down the System
This command specifies that default values should be used for all parameters.
3. Enter the following command to ensure that the operating system does not record the
STARTUP_P1 parameter change made in Step 2 for subsequent reboots:
SYSBOOT> SET WRITESYSPARAMS 0
4. To avoid starting all layered products on a system that is not tuned for them, possibly causing the
system to hang, set the STARTUP_P1 system parameter as follows:
SYSBOOT> SET STARTUP_P1 "MIN"
6. When the system finishes booting, determine which changed parameter caused the problem,
and reset the parameter value. If you specified the value for the parameter in the AUTOGEN
parameter file MODPARAMS.DAT, fix the value in that file and run AUTOGEN. For more
information, see VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and
Complex Systems.
Example
SYSBOOT> USE DEFAULT
SYSBOOT> SET WRITESYSPARAMS 0
SYSBOOT> SET STARTUP_P1 "MIN"
SYSBOOT> CONTINUE
Username: SYSTEM
Password:
$ EDIT SYS$SYSTEM:MODPARAMS.DAT
84
Chapter 4. Starting Up and Shutting Down the System
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade
and Installation Manual.
3. Enter the following command to ensure that the operating system does not record the
STARTUP_P1 parameter change made in Step 2 for subsequent reboots:
SYSBOOT> CONTINUE
5. When the system is booted, the operator console displays the DCL command prompt ($). You are
logged in.
$ SET NOON
This command directs the operating system to ignore any errors that might occur. If you do not
enter this command and you invoke an error, the system will log you out.
7. Correct the error condition that caused the login failure. That is, make the necessary repairs to the
startup or login procedures, or to the UAF.
Invoke a text editor to correct the file. Note that some system consoles might not supply a screen-
mode editor. You can also copy a corrected file and delete the incorrect version by using the
RENAME and DELETE commands.
8. Invoke SYSMAN and enter the following commands to reset the startup procedure:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS USE CURRENT
SYSMAN> PARAMETERS SET/STARTUP SYS$SYSTEM:STARTUP.COM
SYSMAN> PARAMETERS WRITE CURRENT
SYSMAN> EXIT
$
$ @SYS$SYSTEM:STARTUP
Example
SYSBOOT> SET/STARTUP OPA0:
SYSBOOT> SET WRITESYSPARAMS 0
SYSBOOT> CONTINUE
$ SET NOON
$ SET DEFAULT SYS$SYSROOT:[SYSEXE]
$ RUN SYS$SYSTEM:SYSMAN
85
Chapter 4. Starting Up and Shutting Down the System
Note
You can use this method only to log in to the system from the console terminal; you cannot use other
terminal lines.
Setting the system parameter UAFALTERNATE defines the logical name SYSUAF to refer to the file
SYS$SYSTEM:SYSUAFALT.DAT. If this file is found during a normal login, the system uses it to
validate the account and prompts you for the user name and password.
If it cannot find this file, the system assumes that the UAF is corrupt and accepts any user name and
any two passwords to log you in to the system from the system console. Logins are prohibited from all
other terminal lines.
When you perform this procedure, the system assigns the following values to your user account:
Field Value
Name User name
UIC [001, 004]
Command interpreter DCL
Login flags None
Priority Value of the system parameter DEFPRI
Resources Values of the PQL system parameters
Privileges All
The process name is usually set to the name of the device on which you logged in (for example,
_OPA0:).
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade
and Installation Manual.
86
Chapter 4. Starting Up and Shutting Down the System
3. If your system is running DECwindows Motif for OpenVMS systems, you must also disable the
windowing system by entering the following command:
SYSBOOT> SET WINDOW_SYSTEM 0
5. When the startup procedure completes, log in on the console terminal by entering any user name
and any two passwords in response to the Username: and Password: prompts.
7. Use the Authorize utility to fix the problem that caused you to be locked out of the system (for
example, a forgotten password). Enter HELP MODIFY at the UAF> prompt for information about
modifying passwords. For more details, refer to the VSI OpenVMS System Management Utilities
Reference Manual.
8. Enter the following commands to invoke SYSMAN and clear the UAFALTERNATE system
parameter you set in step 2:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS USE CURRENT
SYSMAN> PARAMETERS SET UAFALTERNATE 0
In most cases, VSI recommends that you use AUTOGEN to modify system parameters. However,
since this parameter is being changed only temporarily, you can use SYSMAN or SYSGEN to
change it back.
9. If you disabled the windowing system in step 3, re-enable it by entering the following command:
SYSMAN> PARAMETERS SET WINDOW_SYSTEM 1
10. Enter the following command to save the changed system parameter values:
SYSMAN> PARAMETERS WRITE CURRENT
Example
SYSBOOT> SET UAFALTERNATE 1
SYSBOOT> SET WINDOW_SYSTEM 0
SYSBOOT> CONTINUE
Username: [Return]
Password: [Return]
Password: [Return]
$ DEFINE/SYSTEM/EXECUTIVE_MODE SYSUAF SYS$SYSTEM:SYSUAF.DAT
$ SET DEFAULT SYS$SYSTEM
$ RUN AUTHORIZE
AUTHORIZE> MODIFY SYSTEM/PASSWORD=FGLFTUTU
AUTHORIZE> EXIT
$ RUN SYS$SYSTEM:SYSMAN
87
Chapter 4. Starting Up and Shutting Down the System
Caution
Do not modify STARTUP.COM. The system requires this procedure to correctly start up the system.
For information about modifying site-specific startup procedures to perform site-specific operations,
see Section 5.2.
You can also perform site-specific startup events by adding commands to the site-specific startup
command procedures. For more information, see Section 5.2.
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade
and Installation Manual.
88
Chapter 4. Starting Up and Shutting Down the System
3. Enter a command in the following format to specify the alternate site-independent startup
command procedure:
SET/STARTUP file-spec
where file-spec specifies the entire file specification for the startup file to be used, including the
device and directory. For example:
If the startup file specified as file-spec does not exist, the system displays the following message:
Check the file name you entered. Make sure you specified it correctly.
SYSBOOT> SHOW/STARTUP
SYSBOOT> CONTINUE
To make your alternate site-independent startup procedure the default startup procedure, see
Section 4.5.2.
Example
SYSBOOT> SHOW/STARTUP
Startup command file = SYS$SYSTEM:STARTUP.COM
SYSBOOT> SET/STARTUP SYS$SYSTEM:XSTARTUP.COM
SYSBOOT> SHOW/STARTUP
Startup command file = SYS$SYSTEM:XSTARTUP.COM
SYSBOOT> CONTINUE
2. Add a line to MODPARAMS.DAT assigning the name of your alternate procedure to the symbol
STARTUP. For example:
STARTUP = "SYS$SYSTEM:MY_STARTUP.COM"
3. At a convenient time, invoke AUTOGEN. When the system reboots, the procedure specified in
step 2 becomes the default startup command procedure.
89
Chapter 4. Starting Up and Shutting Down the System
Example
$ EDIT SYS$SYSTEM:MODPARAMS.DAT
.
.
.
[Insert the following line in MODPARAMS.DAT:]
STARTUP = "SYS$SYSTEM:MY_STARTUP.COM"
.
.
.
$ @SYS$SYSTEM:AUTOGEN SAVPARAMS REBOOT
When you boot with minimum startup, the system starts only the components that are absolutely
required to run the system. These tasks can vary between different releases of the operating system.
Note
When you boot with minimum startup, the CONFIGURE process is not created. If external devices
are needed on this boot, add the following line to SYS$MANAGER:SYLOGICALS.COM:
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade
and Installation Manual.
SYSBOOT> CONTINUE
4. After the system boots, log in and enter the following commands to invoke SYSMAN and clear
the STARTUP_P1 parameter you set in step 2:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS USE CURRENT
SYSMAN> PARAMETERS SET STARTUP_P1 ""
SYSMAN> PARAMETERS WRITE CURRENT
90
Chapter 4. Starting Up and Shutting Down the System
Example
[perform a conversational boot]
SYSBOOT> SET STARTUP_P1 "MIN"
SYSBOOT> CONTINUE
[system completes booting]
Username: [Return]
Password: [Return]
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS USE CURRENT
SYSMAN> PARAMETERS SET STARTUP_P1 ""
SYSMAN> PARAMETERS WRITE CURRENT
Caution
If you boot with minimum startup with the VAXCLUSTER system parameter set to 0, the only HSC
or DSSI devices that will be accessible will be the boot device and then only if the boot device is
controlled by an HSC or a DSSI controller.
To make HSC and DSSI devices accessible, perform one of the following actions:
$ RUN SYS$SYSTEM:CONFIGURE/DETACH
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade
and Installation Manual.
SYSBOOT> CONTINUE
91
Chapter 4. Starting Up and Shutting Down the System
4. After the system boots, log in and enter the following commands to invoke SYSMAN and clear
the STARTUP_P2 parameter you set in step 2:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS USE CURRENT
SYSMAN> PARAMETERS SET STARTUP_P2 ""
SYSMAN> PARAMETERS WRITE CURRENT
Example
[perform a conversational boot]
SYSBOOT> SET STARTUP_P2 "YES"
SYSBOOT> CONTINUE
[system completes booting]
Username: [Return]
Password: [Return]
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS USE CURRENT
SYSMAN> PARAMETERS SET STARTUP_P2 ""
SYSMAN> PARAMETERS WRITE CURRENT
The STARTUP SET OPTIONS command provides the options shown in Table 4.2.
92
Chapter 4. Starting Up and Shutting Down the System
Qualifiers can be any of the options specified in Table 4.2. These options take effect the next time
you boot the system.
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP SET OPTIONS/VERIFY=FULL/OUTPUT=FILE/CHECKPOINTING
• Full verification
• Checkpointing
For more information, refer to the VSI OpenVMS System Management Utilities Reference Manual.
Hardware Problems
A read error on a disk drive or console medium, or a machine check error, might indicate a hardware
malfunction. When a hardware problem occurs, a question mark (?) usually precedes the error
message that is displayed on the system console terminal. You should then perform one or both of the
following actions:
Software Problems
If the operating system is loaded into memory but the STARTUP.COM command procedure does not
execute, a software malfunction has probably occurred. Suspect this condition if a message similar to
following message does not appear:
The OpenVMS system is now executing the system startup procedure.
• Try again, by repeating the boot procedure. For instructions, refer to one of the following manuals:
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
93
Chapter 4. Starting Up and Shutting Down the System
• On Alpha and I64 systems, refer to the most recent version of the OpenVMS Alpha Upgrade
and Installation Manual.
If you have a removable system disk, replace it with a backup copy of the system disk. Try to boot
the system again.
• Leave the system disk in the original drive. Restore a backup copy of the system disk. For
instructions, see Section 11.17.Try to boot the system again.
Certain processors must read the boot block to obtain the location of the primary bootstrap image.
Processors that read a boot block include the following ones:
• VAX–11/750
• All Alpha and I64 systems (subject to change for future systems)
To determine if your system reads the boot block, check one of the following manuals:
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade and
Installation Manual.
If you suspect that the boot block on the system disk is invalid, you can write a new boot block using
the Writeboot utility (WRITEBOOT).The following actions might cause a boot block to become
invalid:
• Modifying the primary bootstrap image with the SET FILE/MOVE command or the $MOVEFILE
system service.
• Restoring a backup of the system disk created without the /IMAGE qualifier.
• Adding a new version of the primary bootstrap image, for example, during an operating system
upgrade. (When the upgrade procedure adds a new version of the primary bootstrap image, it
automatically uses WRITEBOOT to write a new boot block.)
94
Chapter 4. Starting Up and Shutting Down the System
• Adding a new version of the primary bootstrap image that is not contiguous on disk. (Use the
DIRECTORY/FULL command to determine this.)
Note
Instructions for using the WRITEBOOT utility are somewhat different on VAX and Alpha systems.
Instructions for performing this task on VAX and Alpha systems follow. You must have LOG_IO
privilege to use WRITEBOOT.
On I64 systems, you use SETBOOT to write a boot block. Instructions for performing this task are
also in this section.
$ RUN SYS$SYSTEM:WRITEBOOT
On VAX systems, VMB.EXE is the default bootstrap image. Enter a response in the following
format:
device:[VMS$COMMON.SYSEXE]VMB.EXE;
Use the device name format described in the upgrade and installation documentation for your
processor. If you want to boot using a bootstrap image other than the default, you must specify the
full file specification of the image, including device and directory.
Ordinarily, the boot code is located at virtual block number (VBN) 1of the bootstrap image. Press
Return to accept the default value of 1.
The load address is the location in memory (specified in hexadecimal notation) to which the
system loads the bootstrap image. Ordinarily you copy the bootstrap image to address 200. Press
Return to accept the default value of 200.
5. The Writeboot utility writes the information you specified to the boot block (block 0)on the
system disk.
On VAX systems, the Writeboot utility might display one or more of the following error messages:
This message means you do not have the correct privilege to use the Writeboot utility.
95
Chapter 4. Starting Up and Shutting Down the System
• “You lack READ and/or WRITE access to TARGET DEVICE. DISMOUNT and reMOUNT it.”
This message means that access to the target device is limited. Check the WRITE PROTECT
button on the disk drive.
This message means that the primary bootstrap image, VMB.EXE, is not contiguous on disk.
Enter the following command:
$ COPY/CONTIGUOUS device:[VMS$COMMON.SYSEXE]VMB.EXE; -
_$ device:[VMS$COMMON.SYSEXE]
Rewrite the boot block for the new image by running WRITEBOOT again.
This message means you cannot specify a 0 as the virtual block number (VBN).
Example:
On VAX systems, the following example writes a boot block on a system disk:
$ RUN SYS$SYSTEM:WRITEBOOT
Target system device (and boot file if not VMB.EXE):?
DUA0:[VMS$COMMON.SYSEXE]VMB.EXE
Enter VBN of boot file code (default is one):[Return]
Enter load address of primary bootstrap in HEX (default is 200):
[Return]
$ RUN SYS$SYSTEM:WRITEBOOT
The procedure asks you whether you want to write the VAX portion of the boot block:
2. Enter NO.
On Alpha systems, APB.EXE is the default bootstrap image. Enter a response in the following
format:
device:[VMS$COMMON.SYSEXE]APB.EXE;
96
Chapter 4. Starting Up and Shutting Down the System
5. The Writeboot utility writes the information you specified to the boot block (block 0) on the
system disk.
On Alpha systems, the Writeboot utility might display one or more of the following error messages:
This message means you do not have the correct privilege to use the Writeboot utility.
• “You lack READ and/or WRITE access to TARGET DEVICE. DISMOUNT and reMOUNT it.”
This message means that access to the target device is limited. Check the WRITE PROTECT
button on the disk drive.
This message means that the primary bootstrap image, APB.EXE, is not contiguous on disk. Enter
the following command:
$ COPY/CONTIGUOUS device:[VMS$COMMON.SYSEXE]APB.EXE; -
_$ device:[VMS$COMMON.SYSEXE]
Rewrite the boot block for the new image by running WRITEBOOT again.
Example:
On Alpha systems, the following example writes a boot block on a system disk:
$ RUN SYS$SYSTEM:WRITEBOOT
Update VAX portion of boot block (default is Y): N
Update Alpha portion of boot block (default is Y): [Return]
Enter Alpha boot file: DUA0:[VMS$COMMON.SYSEXE]APB.EXE;
SET BOOTBLOCK allows you to create a bootable OpenVMS Alpha system disk from one that
was originally created by one of the following methods:
• A nonimage backup of an OpenVMS I64 system disk (possibly corrupting the boot block)
• A nonimage restore of an OpenVMS I64 system disk from an image save set
The SET BOOTBLOCK command also allows you to rewrite the boot block of an OpenVMS I64
system disk to point to a new version of the OpenVMS I64 primary bootstrap file (SYS$EFI.SYS)
that you have previously copied to the disk. (Note that the file must be contiguous.)
$ SET BOOTBLOCK
97
Chapter 4. Starting Up and Shutting Down the System
You can specify a boot file with the command. By default, the command creates the bootfile SYS
$SYSDEVICE:[VMS$COMMON.SYS$LDR]SYS$EFI.SYS. The boot file must be contiguous.
If it is not contiguous, use the DCL COPY/CONTIGUOUS command or similar to recreate a
contiguous version of the boot file. In addition, the boot file must also be marked NOMOVE (use
the DCL SET FILE/NOMOVE command) to avoid bootstrap failures that could otherwise arise
from the normal and expected operations of disk defragmentation tools.
Alternatively, you can write a boot block by entering the following command:
$ RUN SYS$SYSTEM:SYS$SETBOOT
The utility prompts you for the required input (as does the OpenVMS Alpha Writeboot utility).
Ordinarily, you shut down the system from the SYSTEM account, which includes all privileges by
default. To execute SHUTDOWN.COM, you must have either the SETPRV privilege or all of the
following privileges:
AUDIT
CMKRNL
98
Chapter 4. Starting Up and Shutting Down the System
EXQUOTA
LOG_IO
NETMBX
OPER
SECURITY
SYSNAM
SYSPRV
TMPMBX
WORLD
You can cancel a shutdown without any side effects by pressing Ctrl/Y before SHUTDOWN.COM
displays the following message:
If you press Ctrl/Y after this display, certain system components might have already been shut down,
and you will need to recover manually. For example, you might have to manually restart processes,
mount disks, or reboot the system.
$ @SYS$SYSTEM:SHUTDOWN.COM
This command invokes the orderly shutdown procedure. The procedure prompts you with a series
of questions and messages. The default responses appear in brackets at the end of each question.
Press Return to select the default response.
Enter an integer. If you have defined the system logical name SHUTDOWN
$MINIMUM_MINUTES, its integer value is the minimum value that you can enter. For example,
if the logical name is defined as 10, you must specify at least 10 minutes to final shutdown or an
error message is returned. If you do not enter a value, SHUTDOWN.COM uses the logical name
value.
Caution
The default is 0 minutes. If you have not defined the logical name SHUTDOWN
$MINIMUM_MINUTES, and you do not enter a value, the system will beshut down immediately
after you answer the last question.
Enter a one-line reason for shutting down the system. For example, “Monthly preventive
maintenance.”
99
Chapter 4. Starting Up and Shutting Down the System
Enter YES or NO (Y or N). Note, however, that you cannot spin down the system disk. Also,
many disks, particularly SCSI disks, do not spin down in response to this option.
If you have entered site-specific commands in SYSHUTDWN.COM, press Return to accept the
default answer, YES. For more information, see Section 4.8.3.2.
By default, the system does not automatically reboot. However, if you respond YES, the system
attempts to reboot automatically when the shutdown is complete. For example, you would specify
YES if you are rebooting the system after modifying values for nondynamic system parameters
with SYSMAN or SYSGEN. (When you change nondynamic system parameters, you must reboot
the system for the new values to take effect.)
If you entered YES in step 6, the default answer to this question is “[shortly via automatic
reboot]”.
Press Return to take the default, or enter the expected reboot time in the format you want users
to see. For example, you could specify IMMEDIATELY, or IN 10MINUTES, or a time such as 2
P.M. or 14:00. If you do not know when the system will be available again, press Return to specify
“later” as the time when the system will reboot.
8. The procedure prompts you to specify one or more shutdown options, as follows (if your
system is not a member of an OpenVMS Cluster environment, the procedure lists only the
REBOOT_CHECK and SAVE_FEEDBACK options):
Shutdown options (enter as a comma-separated list):
REMOVE_NODE Remaining nodes in the cluster should adjust quorum
CLUSTER_SHUTDOWN Entire cluster is shutting down
REBOOT_CHECK Check existence of basic system files
SAVE_FEEDBACK Save AUTOGEN feedback information from this boot
DISABLE_AUTOSTART Disable autostart queues
Shutdown options [NONE]
Specify the options you want to use. Choose from the options in the following table:
Option Description
REMOVE_NODE Causes other nodes in the cluster to decrease
the value of the EXPECTED_VOTES system
parameter. (This parameter is automatically
increased each time a node joins the
cluster.)Specifying REMOVE_NODE will not
decrease the EXPECTED_VOTES below the
quorum value.
100
Chapter 4. Starting Up and Shutting Down the System
Option Description
Use this option if the node you are shutting down
will be out of the cluster a considerable period of
time.
Example
$ @SYS$SYSTEM:SHUTDOWN
101
Chapter 4. Starting Up and Shutting Down the System
102
Chapter 4. Starting Up and Shutting Down the System
AVALON will shut down in 1 minute; back up 12:30. Please log off node
AVALON.
MONTHLY PREVENTIVE MAINTENANCE
3. At 6 minutes or less before system shutdown, the terminal from which you invoked SHUTDOWN
becomes an operator's console. SHUTDOWN disables all future non-operator logins and shuts
down the DECnet network if it is running. At this point, users logged in to the system with the
SET HOST command lose their sessions.
4. One minute before shutdown, SHUTDOWN.COM stops batch and output execution queues and
stops the queue manager.
103
Chapter 4. Starting Up and Shutting Down the System
6. SHUTDOWN.COM stops all remaining user processes; however, system processes continue.
Ancillary control processes (ACPs)might delete themselves when their mounted volumes are
finally dismounted.
9. SHUTDOWN.COM dismounts all mounted volumes and, if you requested it, spins down the
disks. If you defined SHUTDOWN$VERBOSE, the procedure lists each disk as it is dismounted.
The procedure does not spin down the system disk, nor does it dismount or spin down the quorum
disk (if one exists on your system).
12. If you requested an automatic reboot, the system reboots, provided you set the necessary controls.
You requested an automatic reboot if you answered YES to the following question:
If you did not request an automatic reboot, a message similar to the following one appears on the
system console:
104
Chapter 4. Starting Up and Shutting Down the System
If you plan to use an option every time you use SHUTDOWN.COM, define the logical name in
the site-specific startup command procedure SYLOGICALS.COM. For more information, see
Section 5.2.5.
If you plan to inform the same nodes every time you shut down the system, add the command to
the site-specific startup command procedure SYLOGICALS.COM. For more information, see
Section 5.2.5.
If you define SHUTDOWN$INFORM_NODES, all member nodes included in the list are notified
when you execute SHUTDOWN.COM. Users on the node that is being shut down are always notified,
105
Chapter 4. Starting Up and Shutting Down the System
regardless of whether you define SHUTDOWN$INFORM_NODES. If you omit the name of the
node that is being shut down from the list specified in the DEFINE command, SHUTDOWN.COM
automatically adds the name to the list.
The information in Table 4.3 indicates which nodes are notified at different phases of the shutdown
sequence, depending on whether SHUTDOWN$INFORM_NODES is defined.
SHUTDOWN.COM prompts you to indicate if you want to execute the site-specific procedure
SYSHUTDWN.COM:
Some applications use batch queues and print queues heavily to meet the application
requirements. In these heavy use environments, it is recommended to run the optional procedure
SYSHUTDWN_0010.COM to stop all the application activity prior to the SYSHUTDWN.COM
procedure terminating queue operations.
1. The RESET_QUEUES function checks for queues and jobs that could hang or significantly delay
shutdown and cleans them off the system.
2. The QMAN_CHECKPOINT function requests the queue manager shrink the queue journal file,
file type .QMAN$JOURNAL, to the smallest possible size.
106
Chapter 4. Starting Up and Shutting Down the System
3. The KILL_SYMBIONTS function searches for any symbiont processes that are not stopping and
kills them. Some symbionts may have long wait times to connect to devices over a WAN and
refuse to stop until a network response is received.
To prevent such unnecessary merge operations, VSI recommends that you modify each site-specific
SYSHUTDWN.COM command procedure to dismount the shadow sets without using the /ABORT/
OVERRIDE=CHECKS command qualifiers. If you find open files, close them.
$ RUN SYS$SYSTEM:SYSMAN
Qualifier Function
MINUTES_TO_SHUTDOWN Indicates the number of minutes until shutdown
occurs.
REASON Indicates the reason for the shutdown.
REBOOT_TIME Indicates the time you expect to reboot the
system, such as LATER, 2 P.M., or 14:00. This
time is displayed in the shutdown message to
users.
[NO]SPIN_DOWN_DISKS Spins down disks. The default is NO. You cannot
spin down the system disk.
[NO]INVOKE_SYSHUTDOWN Invokes the site-specific shutdown procedure.
The default is INVOKE_SYSHUTDOWN.
107
Chapter 4. Starting Up and Shutting Down the System
Qualifier Function
[NO]AUTOMATIC_REBOOT Reboots the system automatically when the
shutdown is complete. The default is NO.
[NO]REBOOT_CHECK Checks for basic operating system files and
notifies you if any are missing. The default is NO.
[NO]CLUSTER_SHUTDOWN Shuts down the entire OpenVMS Cluster system.
The default is NO.
[NO]REMOVE_NODE Removes the node from the active cluster
quorum; use this when you do not expect the
shut-down node to rejoin the cluster for an
extended period. The default is NO.
[NO]SAVE_FEEDBACK Records feedback data from the system since it
was last booted and creates a new version of the
AUTOGEN feedback data file, which you can use
the next time you run AUTOGEN. The default is
NO.
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SHUTDOWN NODE/MINUTES_TO_SHUTDOWN=10/REBOOT_TIME="later" -
_SYSMAN> /REASON="DISK CORRUPTION PROBLEMS"/REBOOT_CHECK/SAVE_FEEDBACK
If you enter this command example on NODE21, it requests a shutdown on NODE21 with:
• A check for any missing operating system files and notification any are missing
• Creation of a new AUTOGEN feedback data file based on the feedback data collected since the
system was last booted
For more information, see the VSI OpenVMS System Management Utilities Reference Manual.
• Writes the modified page list back to disk. This ensures that all writable section files are updated
to their correct state before the system crashes and all in-memory data is lost.
• Unless the logical name OPC$NODUMP is defined, creates a crash dump by writing physical
memory to the system dump file. For more information about the system dump file, see VSI
OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems.
108
Chapter 4. Starting Up and Shutting Down the System
In an emergency, if you cannot invoke SHUTDOWN.COM, you can run the OPCCRASH.EXE
program to shut down your system immediately without performing any of the housekeeping
functions that ensure an orderly shutdown.
Note
Run the OPCCRASH.EXE program directly only if SHUTDOWN.COM fails.
$ RUN SYS$SYSTEM:OPCCRASH
3. If the system fails to respond after a few minutes, use the CRASH procedure or, if your system
does not have a CRASH procedure, enter the emergency shutdown commands described in one of
the following manuals:
• On VAX systems, refer to the most recent versions of the OpenVMS VAX Upgrade and
Installation Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade
and Installation Manual.
Example
The following example runs the OPCCRASH program to force a system crash, and halts the system:
$ RUN SYS$SYSTEM:OPCCRASH
SYSTEM SHUTDOWN COMPLETE
Ctrl/P
>>>HALT
HALTED AT 8000708A
109
Chapter 4. Starting Up and Shutting Down the System
P00>>> CRASH
If the CRASH command does not exist on your console, you can shut down the system manually from
the console.
Note
Use CRASH commands from the console only if the OPCCRASH.EXE program fails.
P00>>> D PS 1F00
P00>>> D PC FFFFFFFFFFFFFF00
P00>>> CON
• Enter Ctrl/P. The system then prompts you to Crash if the XDELTA boot flag is not set.
• Go to the MP console and type TC (Take Crash) from the Command Menu.
See one of the following manuals for a description of the CRASH command or for equivalent
commands to use to force an abrupt emergency shutdown:
• On VAX systems, see the most recent versions of the OpenVMS VAX Upgrade and Installation
Manual and the upgrade and installation supplement for your VAX computer.
• On Alpha and I64 systems, refer to the VSI OpenVMS Version 8.2 OpenVMS Alpha Upgrade and
Installation Manual.
• After you shut down the system following an installation – but before the system is booted. To use
this method, you issue EFI Utilities for OpenVMS commands starting at the EFI Shell> option of
the EFI Boot Manager.
110
Chapter 4. Starting Up and Shutting Down the System
This method is explained in Appendix B of the VSI OpenVMS Version 8.2 Upgrade and
Installation Manual. The EFI utilities commands are explained in the “EFI Utilities for
OpenVMS” chapter in the VSI OpenVMS System Management Utilities Reference Manual: A-L.
• Before you shut down the system following installation and initial booting. For this method, you
enter DCL commands from the DCL command prompt and select options from the OpenVMS I64
Boot Manager Utility, BOOT_OPTIONS.COM, menu. Using the BOOT_OPTIONS command
procedure, you can reconfigure boot, dump, or debug devices before you shut down the system
prior to rebooting.
After selecting the list you want to modify, you can add, display, and remove entries from the list and
change the position of an entry on the list. On the boot device list, you can also validate and correct
entries.
On the operating system menu, select Option 7, Execute DCL commands and procedures. Enter the
following from the DCL prompt:
$ @SYS$MANAGER:BOOT_OPTIONS
The system then displays the BOOT_OPTIONS main configuration menu shown in Example 4.1.
111
Chapter 4. Starting Up and Shutting Down the System
This list contains devices that are available for the EFI Boot Manager to boot from. The list is also
used by some EFI drivers for selective configuration of boot devices. For example, the VSI 2Port
2Gb Fibre Channel Adapter EFI driver searches the boot device options list for entries that contain
the adapter path for the fibre channel device. Any matching entries on the SAN Name Server are
logged in and reported to the EFI Shell.
This list is used specifically for configuring Dump Off the System Disk (DOSD). For instructions,
refer to VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex
Systems.
This list is specifically used for configuring the Debug Device for the System Code Debugger.
This option is currently not supported in this release.
The name of the currently selected option list is displayed in the banner of the BOOT_OPTIONS
configuration menu, shown in Example 4.1. The configuration menu displays only those commands
that are available with the type of list you have selected. The default selection option list when you
first execute the command procedure is the Boot (Device) Options List.
112
Chapter 4. Starting Up and Shutting Down the System
As the list indicates, you can use some operations for more than one option list; others apply to only
one; and, in the case of Adding an entry, the instructions for adding an entry to the Boot (Device)
Options list are different from adding an entry to the Dump Device Options list.
This list requires several inputs to add an entry to the Boot (Device) Options list. Table 4.5 indicates
the inputs that are required.
Table 4.5. Required Inputs to Add an Entry to the Boot (Device) Options List
Option Input Description
Position # Hex position of the entry to be added to the list. The
default value is 1, which places the entry at the top of
the list.
? Display the current contents of the Boot (Device)
Option list.
Device Dxy#: Device Name of the System Disk
Note
The device must fulfill the following requirements:
113
Chapter 4. Starting Up and Shutting Down the System
Sample output for adding an entry to the Boot (Device) Options list is in Example 4.2.
Example 4.2. Output from Adding an Entry to the Boot (Device) Options List
Enter the device name (Enter “?” for a list of devices): $1$DGA1
Enter the desired position number (1,2,3,,,) of the entry.
To display the Boot Options list, enter “?” and press Return.
Position [1]:
Enter the value for VMS_FLAGS in the form n,n.
VMS_FLAGS [NONE}:
Enter a short description (do not include quotation marks).
Descrition [“$1$DGA1”]:
efi$bcfg: $1!dga1: {Boot0002) Option successfully added
efi$bcfg: $1$dga1: (Boot0003) Option successfully added
efi$bcfg: $1$dga1: (Boot0004) Option successfully added
You can select one of these options on any one of the options. Depending on which type of options list
you have selected, the system displays one of the following:
• The Boot (Device) Option list displays the entry number, the device name, the PCI address, the
characteristics of the device, the string description of the entry, and the optional OpenVMS boot
flags.
• The Dump and Debug Device Options List displays the entry number, the device name, the PCI
address, and the characteristics of the device.
114
Chapter 4. Starting Up and Shutting Down the System
Sample output from displaying entries in the Boot (Device) Options list is in Example 4.3.
Example 4.3. Output from Displaying Entries in the Boot (Device) Options List
To display all entries in the Boot Options list, press Return,
To display specific entries, enter the entry number or device name.
(Enter "?" for a list of devices):
EFI Boot Options list: Timeout = 10 secs.
-----------------------------------------------------------------------
01. $1$DGA1 PCI(0|60|1|1) Fibre(50001FE10011B158,LunE000000000000)
"OpenVMS V8.2 FGD0.5000-1FE1-0011-B158" OPT -fl 0,0
02. $1$DGA1 PCI(0|60|1|0) Fibre(50001FE10011B15C,LunE000000000000)
"OpenVMS V8.2 FGC0.5000-1FE1-0011-B15C" OPT -fl 0,0
03. $1$DGA1 PCI(0|40|1|1) Fibre(50001FE10011B15D,LunE000000000000)
"OpenVMS V8.2 FGB0.5000-1FE1-0011-B15D" OPT -fl 0,0
04. VenHw(d65a6b8c-71e5-4df0-d2f009a9) "EFI Shell [Built-in]"
-----------------------------------------------------------------------
4 entries found.
If you decide to remove all entries, the Options list creates an entry for the EFI Shell.
If you select an entry for removal, the Options list displays the selected entry and asks that you
confirm a removal before it proceeds.
Sample output from removing an entry from the Boot (Device) Options list is in Example 4.4.
Example 4.4. Sample Output from Removing an Entry from the Boot (Device) Options
List
Enter the entry number to delete.
To clear the Boot Options list, enter "ALL".
(Enter "?" to display Boot Options list): 1
EFI Boot Options list: Timeout = 10 secs.
-----------------------------------------------------------------------
01. $1$DGA1 PCI(0|60|1|1) Fibre(50001FE10011B158,LunE000000000000)
"OpenVMS V8.2 FGD0.5000-1FE1-0011-B158" OPT -fl 0,0
-----------------------------------------------------------------------
1 entries found.
Do you really want to delete this option? (Yes/No) y
efi$bcfg: Entry 5 Boot0005 removed.
The system prompts you to enter the number of the entry you want to move. You can enter either that
entry number or "?" to display the list of options. You are then asked to enter the destination number
of the entry you want to move.
115
Chapter 4. Starting Up and Shutting Down the System
Sample output of moving entry 4 to position 1 from the Boot Options list is in Example 4.5. (You can
also change the position of entries on the Dump and Debug Options lists as well.) In the example,
Entry 4 becomes the top-most selection on the Boot (Device) Options List.
This option allows you to verify that the entries on the Boot (Device) Options list are acceptable. You
would usually do this if you wanted to re-use an entry after an OpenVMS installation or upgrade, or,
under certain circumstances, when the Disk Partition Table has changed.
Select 5 on the Boot Options Configuration Menu (see Example 4.1) to validate the entries on the
Boot (Device) Option list. Selecting this option also corrects problems when necessary. You can
perform any of the following operations:
After the validation operation, boot entries that have been validated display the following message on
the console:
If the utility determines that a boot entry needs to be corrected, it automatically updates the boot entry
to become valid.
Sample output of validating entries in the Boot (Device) Options list is in Example 4.6.
Example 4.6. Validating All Entries in the Boot (Device) Options List
To validate all entries in the Boot Options list, press Return.
To validate specific entries, enter the entry number or device name.
(Enter "?" to display Boot Options list): Return
Do you really want to validate all list entries? (Yes/No) Yes
Validate EFI Boot Options list: Timeout = 100 secs.
-----------------------------------------------------------------------
01. $1$DGA1 PCI(0|60|1|1) Fibre(50001FE10011B158,LunE000000000000)
"OpenVMS V8.2 FGD0.5000-1FE1-0011-B158" OPT -fl 0,0
efi$bcfg: Option Validated. Success.
02. $1$DGA1 PCI(0|60|1|0) Fibre(50001FE10011B15C,LunE000000000000)
"OpenVMS V8.2 FGC0.5000-1FE1-0011-B15C" OPT -fl 0,0
efi$bcfg: Option Validated. Success.
03. $1$DGA1 PCI(0|40|1|1) Fibre(50001FE10011B15D,LunE000000000000)
OpenVMS V8.2 FGB0.5000-1FE1-0011-B15D" OPT -fl 0,0
efi$bcfg: Option Validated. Success.
04. VenHw(d65a6b8c-71e5-4df0-d2f009a9) "EFI Shell [Built-in]"
116
Chapter 4. Starting Up and Shutting Down the System
In this example, entry 07 failed and a Boot Entry correction was performed.
The TIMEOUT option allows users to modify the timeout period, in seconds, before the EFI Boot
Manager tries to boot each entry on the Boot (Device) Options List. A value of 0 disables the timer.
Select 6 (Modify Boot Options TIMEOUT setting) on the BOOT_OPTIONS main Configuration
Manual to modify the timeout.
Sample output for modifying the timeout period to be 20 seconds is in Example 4.7.
Example 4.7. Modify the Timeout Period in the Boot (Device) Options List
Enter your choice: 6
efi$bcfg: Boot Timeout period is 10 secs
Would you like to modify the Timeout value? (Yes/No) [NO] Y
Please enter the Timeout value in seconds: 20
efi$bcfg: Boot Timeout period is 20 secs
The instructions for adding the Dump Device Options List is discussed further in Chapter 2 of VSI
OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems.
117
Chapter 4. Starting Up and Shutting Down the System
118
Chapter 5. Customizing the Operating
System
After you install the operating system, you can customize it for site-specific requirements.
Task Section
Adding and deleting optional files Section 5.1
Modifying site-specific startup command procedures Section 5.2
Modifying login command procedures Section 5.3
Customizing startup databases Section 5.4
dag
Registering images that have system version dependencies Section 5.5
Customizing the Help Message database Section 5.6
Customizing Mail Section 5.7
Setting up the Multipurpose Internet Mail Extension (MIME)utility Section 5.8
Saving your customization Section 5.9
dag
VAX specific
Concept Section
Site-specific startup command procedures Section 5.2.1
The order of startup events Section 5.2.2
Startup databases Section 5.4.1
The layered product startup database Section 5.4.2
For example, if your system is a MicroVAX II computer with an RD54 system disk and you will
not use system programming features such as the Delta/XDelta Debugger (DELTA/XDELTA) or the
System Dump Analyzer utility (SDA), you might remove these files from the system disk.
Depending on the system you are using, you can add or delete files in one of the following ways:
• On VAX systems, you can use the OpenVMS Tailoring utilities, VMSTAILOR and DECW
$TAILOR:
119
Chapter 5. Customizing the Operating System
Delete files from and add files to the system disk by identifying classes and subclasses of
operating system files that you want to add or delete. You might delete or add an entire class or
selected subclasses of files within a class.
If you delete files, you can add them again at any time using VMSTAILOR or DECW$TAILOR
and your operating system distribution media.
Refer to the Upgrade and Installation Manual for more information about VMSTAILOR and
DECW$TAILOR.
• On Alpha and I64 systems, you can use the POLYCENTER Software Installation utility to add or
delete optional system files. Add or delete files by selecting or deselecting options and suboptions.
To invoke the POLYCENTER Software Installation utility for this purpose, you can use either of
the following methods:
• Use the DECwindows Motif interface from the POLYCENTER Software Installation utility
and select the Reconfigure option on the Mode menu.
For more information about using the POLYCENTER Software Installation utility, see
Section 3.6.
Term Definition
Startup command procedure A command procedure that executes when the
system starts up.
Site-independent startup command procedure A startup command procedure that is
required for and provided with all OpenVMS
systems, regardless of site-specific
requirements. This procedure is named SYS
$SYSTEM:STARTUP.COM. Do not modify this
procedure.
120
Chapter 5. Customizing the Operating System
Term Definition
any text editor to add or modify commands in
these procedures.
Table 5.1 lists and describes the site-specific startup command procedures provided by VSI, in the
order in which they execute. These procedures are located in the system directory with the logical
name SYS$STARTUP.
121
Chapter 5. Customizing the Operating System
Note
Do not modify or delete the VSI-supplied template command files with the .TEMPLATE file type.
The VMSKITBLD.COM procedure uses these files to create a new system disk. If you must use
the .TEMPLATE version of the file because your .COM version is damaged,copy the .TEMPLATE
file to a file with the .COM file type, and edit the copy.
• Conform to the rules of command procedures, as described in the OpenVMS User’s Manual.
• Modify only the executable version of the files (with the file type .COM), not the template version
(with the file type .TEMPLATE).
• Before modifying command procedures, understand the order of startup events. For information,
see Section 5.2.2.
Caution
The startup procedures provided by VSI should always work. However, if you introduce an error in
the startup or login procedures, you can accidentally lock yourself out of the system. Section 4.4.2
describes a boot procedure you can use in such an emergency.
A database file named VMS$PHASES.DAT determines the order of the phases of the startup
procedure. It is a sequential list of the phases that STARTUP.COM starts. It includes a series of four
basic phases (INITIAL, CONFIGURE,DEVICE, and BASEENVIRON) that start the operating
system, followed by a series of phases for layered products.
Caution
Do not modify VMS$PHASES.DAT. To start up correctly, the system requires that the contents of this
file remain intact.
2. Defines logical names needed for basic operations, and installs images listed in SYS
$MANAGER:VMSIMAGES.DAT.
122
Chapter 5. Customizing the Operating System
3. Executes SYCONFIG.COM.
• On Alpha and I64 systems, the SYSMAN command IO AUTOCONFIGURE. This command
automatically configures the device driver database, locates all standard devices attached to
the system, and loads and connects their device drivers.
6. Starts the CONFIGURE process (swappable). If the system parameter NOAUTOCONFIG is set to
1, the CONFIGURE process is not started. If the symbol STARTUP$AUTOCONFIGURE_ALL is
defined as 0 or FALSE by SYS$MANAGER:SYCONFIG.COM, this step is not performed.
7. Executes SYLOGICALS.COM. At this point, all devices have been made available through the
AUTOCONFIGURE ALL command (step 4) or will be made available by the CONFIGURE
process (started in step 6).
9. Executes SYPAGSWPFILES.COM.
• On VAX systems, starts the security server, SECURITY_SERVER, which manages the proxy
database and intrusion database
• Starts LMF (License Management Facility) and loads all appropriate Product Authorization
Keys (PAKs) from the LMF database
Note
The order of events within system startup might change in future releases of the operating system.
123
Chapter 5. Customizing the Operating System
Before performing this task, you should understand page and swap files and why you might want to
move them. For more information, see VSI OpenVMS System Manager’s Manual, Volume 2: Tuning,
Monitoring, and Complex Systems.
The SYPAGSWPFILES.COM file can also include commands other than INSTALL commands,
such as SYSGEN CREATE commands and the DCL commands INITIALIZE and MOUNT,to set up
the page and swap files.Note that, at the time STARTUP.COM invokes SYPAGSWPFILES.COM,
only the system disk is mounted. Therefore, you might need to add MOUNT commands to
SYPAGSWPFILES.COM to mount the disks that hold the page and swap files.
The system must have installed at least one page file before SYPAGSWPFILES.COM exits.
Otherwise, STARTUP.COM displays the following error message:
%STARTUP-E-NOPAGFIL, no page files have been successfully installed.
Caution
If a system dump file with the name SYSDUMP.DMP does not exist in the SYS$SPECIFIC:
[SYSEXE] directory, the primary page file PAGEFILE.SYS must exist in SYS$SPECIFIC:
[SYSEXE]PAGEFILE.SYS for writing crash dumps. If neither SYSDUMP.DMP nor PAGEFILE.SYS
is located in SYS$SPECIFIC:[SYSEXE], no crash dump file is produced.
You can also use SATELLITE_PAGE.COM to install page and swap files on a satellite node's local
disk. SATELLITE_PAGE.COM is created when you run CLUSTER_CONFIG.COM. For more
information about installing page and swap files on a satellite node's local disk, refer to OpenVMS
Cluster Systems.
For example:
SYSGEN> CREATE DUA2:[PAGE_SWAP]PAGEFILE_1.SYS/SIZE=100000
SYSGEN> CREATE DUA2:[PAGE_SWAP]SWAPFILE_1.SYS/SIZE=100000
The CREATE command creates or extends files that can be used as a page, swap, or dump file.
You create these files only once.
For more information about creating page and swap files, see VSI OpenVMS System Manager’s
Manual, Volume 2: Tuning, Monitoring, and Complex Systems. For more information about
the SYSGEN command CREATE, refer to the SYSGEN section of the VSI OpenVMS System
Management Utilities Reference Manual.
124
Chapter 5. Customizing the Operating System
3. If necessary, add a MOUNT command to mount the disk or disks that are to hold the secondary
page and swap files. Disks other than the system disk are not yet mounted at the time
SYPAGSWPFILES.COM is invoked. For information about the MOUNT command, refer to the
MOUNT section of the VSI OpenVMS System Management Utilities Reference Manual.
$ SYSGEN := $SYSGEN
5. Add commands in the following format to SYPAGSWPFILES.COM to install the secondary files
each time the system boots.
The INSTALL command activates secondary page and swap files. Page and swap files not located
in SYS$SYSTEM must be installed each time the system boots.
Example
The following commands in SYPAGSWPFILES.COM install secondary page and swap files on the
device DUA10: with the logical name PAGE_SWAP:
On VAX systems, add SYSGEN CONNECT commands. For more information about connecting
devices, see Section 8.5. For more information about the SYSGEN CONNECT command, refer to the
SYSGEN section of the VSI OpenVMS System Management Utilities Reference Manual.
On Alpha and I64 systems, add SYSMAN IO CONNECT commands. For more information about
connecting devices, see Section 8.5. For more information about the SYSMAN IO CONNECT
125
Chapter 5. Customizing the Operating System
command, refer to the SYSMAN section of the VSI OpenVMS System Management Utilities
Reference Manual.
Example
To connect a nonstandard device called the QQ device, add the following commands to
SYCONFIG.COM:
$ SYSGEN := $SYSGEN
$ SYSGEN CONNECT QQA0
• To allow Small Computer System Interface (SCSI) based workstations to use devices on another
workstation's SCSI bus without causing conflicts during boot time
You can define a symbol in SYCONFIG.COM to suppress autoconfiguration. For more information,
see Section 8.5.3.
In general, system managers edit the SYLOGICALS.COM command procedure to define site-
specific logical names that take effect at system startup. However, this is not the appropriate command
procedure for defining clusterwide logical names, which is, rather, SYSTARTUP_VMS.COM. Refer
to "Preparing a Shared Environment" in OpenVMS Cluster Systems for more information.
As supplied by VSI, SYLOGICALS.COM contains commands that assign systemwide logical names
on a MicroVAX system that is not in an OpenVMS Cluster environment. If your system is not a
standalone MicroVAX system, you can ignore the procedure at the beginning of the template file and
add systemwide logical name assignments to the end of the file.
You can add commands to create your own site-specific systemwide logical names. In addition, if
you want to change default definitions for the following system logical names, you can include the
definitions in SYLOGICALS.COM. Table 5.2 lists some commonly defined logical names.
126
Chapter 5. Customizing the Operating System
VSI recommends that you define logical names for system components (for example, public disks
and directories) in executive mode, using the /EXECUTIVE_MODE qualifier with the ASSIGN or
DEFINE command. This type of logical name, known as a trusted logical name, is available during
system operations such as the activation of privileged mode images (LOGINOUT, Mail, and so on).
For detailed information about logical name assignments and the privilege modes (executive, kernel,
supervisor, and user), refer to the OpenVMS User’s Manual.
2. Add logical name definitions in the following format to the end of the file, immediately preceding
the EXIT command:
For example:
For more information about the DEFINE command, refer to the VSI OpenVMS DCL Dictionary.
3. Exit the editor to create a new version of the file. The highest version will automatically be
invoked by STARTUP.COM each time the system boots.
Example
$ DEFINE/SYSTEM/EXECUTIVE/NOLOG FINANCE_DISK DRAC$DRA2:
$ DEFINE/SYSTEM/EXECUTIVE/NOLOG SYSDSK SYS$SYSDEVICE:
In this example, any user on the system (and any program running on the system) could use the name
FINANCE_DISK (the logical name) in place of DRAC$DRA2: (the physical device name). Similarly,
you can refer to the system disk (SYS$SYSDEVICE:) as SYSDSK.
127
Chapter 5. Customizing the Operating System
Then you can initiate auditing during another phase of system startup, perhaps at the end of
SYSTARTUP_VMS.COM, by editing the command file to add the following line:
$ SET AUDIT/SERVER=INITIATE
VSI recommends that you edit this procedure to modify or add commands that perform tasks such as
the following ones:
128
Chapter 5. Customizing the Operating System
2. To prevent the command procedure from exiting if it invokes an error,include the DCL command
SET NOON at the beginning of the file. This command disables error checking after the execution
of each command in the procedure. For more information about error checking, refer to the
OpenVMS User’s Manual.
4. Exit the editor to create a new version of the file. The highest version will automatically be
invoked by STARTUP.COM each time the system boots.
• Mount the disk for systemwide access using the DCL command MOUNT. (Using the MOUNT
command for the system disk is not necessary – the system disk is already mounted when the
system starts.)
where:
• device-name is the physical device name (including a colon immediately after the device name).
For information about physical device names,see Section 8.1.
• volume_label is an alphanumeric identification that you assign with the INITIALIZE command.
• logical_name is the logical name that you want to assign to the device. Consider the advantages
of using logical volume names to conceal the physical device names. If you and the users
consistently use the logical volume name, it is not necessary to know on which physical drive
the volume is mounted. Thus, you can avoid including physical device names in programs and
command procedures.
The /SYSTEM qualifier makes the disk available for systemwide access.
129
Chapter 5. Customizing the Operating System
Note that, by default, the system creates the following logical name when you use the MOUNT
command:
DISK$volume_label
In many cases, using the default logical name will meet your needs.
When mounting disks in a startup command procedure, do not specify the /CLUSTER qualifier, even
in a VAXcluster or an OpenVMS Cluster environment. Each node executes its own startup command
procedure, so each node mounts disks for itself.
Note
When SYSTARTUP_VMS.COM executes (and only then), the MOUNT command default includes
the /NOASSIST qualifier. This qualifier means that operator-assisted mounts are disabled. To enable
this feature during SYSTARTUP_VMS.COM, specify /ASSIST with each MOUNT command.
For a DSA disk, you must also insert a WAIT statement in the command procedure prior to the
first MOUNT statement. The wait time is controller-dependent. If you omit a WAIT statement,the
MOUNT request might fail with a “no such device” status. Refer to the VSI OpenVMS I/O User’s
Reference Manual for more information.
For more information about public volumes, see Section 9.1.4 and Section 9.5. For more information
about the MOUNT command, refer to the MOUNT section of the VSI OpenVMS System
Management Utilities Reference Manual.
If your configuration is simple, you can add the commands to SYSTARTUP_VMS.COM. If your
configuration requires a large number of commands, create a separate command procedure (for
example, DEVICE_SETUP.COM) and execute it from SYSTARTUP_VMS.COM. When the device
setup command procedure finishes executing, control returns to SYSTARTUP_VMS.COM.
130
Chapter 5. Customizing the Operating System
For more information about starting queues and enabling autostart for queues in system startup, see
Section 14.4.1.
For information about installing known images, see VSI OpenVMS System Manager’s Manual,
Volume 2: Tuning, Monitoring, and Complex Systems.
Example
The following example shows a command sequence you might include in SYSTARTUP_VMS.COM
for installing additional known images:
$ INSTALL
ADD/OPEN/SHARED/HEADER_RESIDENT BASIC
ADD/OPEN/SHARED/HEADER_RESIDENT FORTRAN
EXIT
• Make remote compact discs available on your system each time the system boots
VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems
explains the InfoServer system and its uses.
131
Chapter 5. Customizing the Operating System
For details, see VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and
Complex Systems and the OpenVMS VAX System Dump Analyzer Manual and the OpenVMS
Programming Environment.
Caution
If you use the page file for the crash dump file, you must enter the SDA command COPY when the
system reboots, to copy the dump from the page file to another file suitable for analysis.
If you fail to perform the copy operation, pages used to save the crash dump information are not
released for paging, and your system might hang because it has insufficient paging space. For more
information, see VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and
Complex Systems.
Example
The following commands, executed in SYSTARTUP_VMS.COM, invoke SDA, save and analyze the
crash dump, and print a listing file:
$ ANALYZE/CRASH_DUMP SYS$SYSTEM:SYSDUMP.DMP
COPY SYS$SYSTEM:SAVEDUMP.DMP ! Save dump file
SET OUTPUT DISK1:SYSDUMP.LIS ! Create listing file
READ/EXECUTIVE ! Read in symbols for kernel
SHOW CRASH ! Display crash information
SHOW STACK ! Show current stack
SHOW SUMMARY ! List all active processes
SHOW PROCESS/PCB/PHD/REGISTERS ! Display current process
EXIT
$ PURGE/KEEP=2 SYS$MANAGER:OPERATOR.LOG
For more information about the operator log file, see VSI OpenVMS System Manager’s Manual,
Volume 2: Tuning, Monitoring, and Complex Systems.
Example
The following example submits a batch job to run a command procedure each time the system boots.
The job is submitted at a high priority to make sure the job is scheduled before any batch jobs users
might submit. If possible, submit startup batch jobs at high priority in this way before you start the
batch queue.
$ SUBMIT/PRIORITY=255 SYS$MANAGER:SYSDISK_REBUILD
132
Chapter 5. Customizing the Operating System
See Section 14.6.5.2 for information about scheduling of jobs. Refer to the VSI OpenVMS DCL
Dictionary for information about the SUBMIT command.
Before the procedure exits, you can provide site-specific definitions for one or both of the logical
names SYS$ANNOUNCE and SYS$WELCOME. Whenever a user logs in, the user's terminal screen
displays the messages associated with SYS$ANNOUNCE and SYS$WELCOME.
Defining SYS$ANNOUNCE
You can define SYS$ANNOUNCE to print an announcement at the beginning of the login procedure
for each user. The text prints immediately after a successful dial-in, Ctrl/Y, or carriage return is
received. It also prints on LAT terminals when a user connects to a service using the CONNECT
command. The text can contain up to 63 characters. For longer messages, precede the name of a text-
containing file with an at sign(@) so that the login command procedure prints the entire file as an
announcement.
If you do not define SYS$ANNOUNCE, the system does not display an announcement.
Caution
Sites requiring moderate or high security should restrict the amount of information displayed in
system announcements.
Defining SYS$WELCOME
You can define SYS$WELCOME to display a welcome message whenever a user logs in. The text
prints immediately after the user enters the correct password. The text can contain up to 63 characters.
For longer messages,precede the name of a text-containing file with an at sign (@) so that the login
command procedure displays the entire file as a welcoming announcement.
For example, you could include a command like the following one in SYSTARTUP_VMS.COM:
$ DEFINE/SYSTEM SYS$WELCOME "Welcome to Node RANDOM"
If you prefer to display the contents of a file containing a message, you could use the following line in
the procedure:
$ DEFINE/SYSTEM SYS$WELCOME "@SYS$MANAGER:WELCOME.TXT"
If you do not explicitly define SYS$WELCOME, the terminal displays a standard welcome message
similar to the following one:
133
Chapter 5. Customizing the Operating System
You can add the DECnet node name to this message by including a translation of the logical name
SYS$NODE. When DECnet starts, it creates the logical name assignment for SYS$NODE.
$ @SYS$STARTUP:LAT$STARTUP.COM
When the procedure executes this command, it invokes LAT$STARTUP.COM,which in turn invokes
the LAT$CONFIG and LAT$SYSTARTUP command procedures. For more information, see VSI
OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems.
If your system participates in a DECnet network, you might need to start the DECnet software each
time your system boots:
• If you are running DECnet for OpenVMS on your system,edit SYSTARTUP_VMS.COM to delete
the exclamation point (!) at the beginning of the following command line:
$ @SYS$MANAGER:STARTNET.COM
• If you are running DECnet-Plus on your system, DECnet is started automatically each time you
boot your system.
If you are running a different network, you must run the appropriate startup files for the particular
network protocol. For example, three common net stack startups are:
Example
134
Chapter 5. Customizing the Operating System
$ @SYS$STARTUP:DBLSTRTUP.COM
To change the default value for the number of interactive users that you permit to log in to your
system at one time,define the symbol STARTUP$INTERACTIVE_LOGINS to be the maximum
number of users in SYSTARTUP_VMS.COM as follows:
STARTUP$INTERACTIVE_LOGINS == n
where n specifies the maximum number of interactive users that can log in at one time.
Note
The number of interactive users is determined by the value authorized by your VAX, Alpha or I64
computer license. Therefore, setting the number higher than the license limit has no effect.
The maximum number of interactive users influences the service rating that the LAT software assigns
to a service node. The LAT software uses a ratio of current users to maximum users in calculating
a rating. An artificially high user limit results in a high service rating, indicating—erroneously—
that the service node is more able to provide services. For information about LAT software, see VSI
OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems.
Example
$ STARTUP$INTERACTIVE_LOGINS == 200
Note that although the examples in this section are for DCL (.COM) command procedures, you can
substitute other file types to denote other interfaces such as POSIX.
135
Chapter 5. Customizing the Operating System
Caution
If you introduce an error in login procedures, you can accidentally lock yourself out of the system.
Section 4.4.2 describes a boot procedure you can use in such an emergency.
SYLOGIN.COM Procedure
As system manager, you create and maintain SYLOGIN.COM. This file is supplied on your
distribution kit as a template, and contains commands that you can modify and add to as the needs of
your site dictate.
The template for SYSTARTUP_VMS.COM includes the following command line that assigns the
logical name SYS$SYLOGIN to SYLOGIN.COM:
Note
If SYLOGIN.COM exits with an error, the user's login command procedure is not executed. If this
occurs while the user is logging in to a captive account, the process is terminated because the system
environment might not have been set up properly.
If you expect SYLOGIN.COM to cause an error, you must use either SET NOON or ON ERROR
commands, and explicitly exit the command procedure with a successful status so that the user's login
command procedure can be executed.
LOGIN.COM Procedures
Each user creates and maintains a personal copy of the login command procedure LOGIN.COM. This
file must be in the top-level directory for the user's account. You might need to help users set up a
personal copy of LOGIN.COM.
See Section 7.7.1 for a sample SYLOGIN command file and a sample LOGIN.COM procedure. Refer
to the OpenVMS User’s Manual for sample LOGIN.COM procedures.
You can use the STARTUP command of the System Management utility (SYSMAN) to customize
startup databases as follows:
136
Chapter 5. Customizing the Operating System
• Add, modify, or remove elements in the layered product database or site-specific database.
(Digital recommends that you do not modify the OpenVMS startup database.)
Before performing these tasks, it helps to understand SYSMAN. For more information about
SYSMAN, see Section 2.3.1. You should also understand startup databases, in particular, the layered
product startup database. For information, see Section 5.4.1 and Section 5.4.2.
File Description
VMS$PHASES.DAT Determines the order of the phases of startup in a sequential list. This file
includes a series of four basic phases (INITIAL, CONFIGURE, DEVICE,
and BASEENVIRON) needed to bring the operating system up to a basic
working environment, followed by a series of phases for layered products.
STARTUP.COM uses this list of phases for startup. Do not modify this
file.
VMS$VMS.DAT Equivalent to the logical name STARTUP$STARTUP_VMS. This file
contains information about the files used to start the base operating
system environment during system startup. Do not modify this file.
Use SYSMAN to modify this file so that it contains information about all
the layered product startup files you want to execute on your system.
If you have site-specific software that you want to manage separately from your layered products, you
can use SYSMAN to create an additional startup database.
• Name of the component file to be run. The file type must be either .EXE or .COM.
• Phase in which the component file is to run. Each phase describes a minimum environment that
exists at that point in the startup process, as follows:
137
Chapter 5. Customizing the Operating System
1. BASEENVIRON – Startup tasks execute here. These must be performed before the site-
specific startup command procedure, SYSTARTUP_VMS.COM, executes.
3. LPMAIN – The majority of layered products execute here. This phase is the default.
4. LPBETA – Layered products that have a dependency on previously installed products execute
here.
Each phase must meet the prerequisites of the following phase; therefore, the order of the
phases is extremely important. Components that occur in a phase cannot have dependencies on
components that are in the same phase or in subsequent phases. When installing layered products
using SYSMAN, be sure that all requisite components occur in a previous phase.
• Mode (or method) by which the component file is to run. Choose one of the following modes:
• DIRECT (the default, where the command procedure or image is executed immediately)
• SPAWN
• Node restrictions for the component. This is either the node or nodes on which the component file
should be run, or the node or nodes on which the component file should not be run.
• Parameters passed to the component file for execution. You can pass up to eight parameters, using
the following format:
(P1:args,P2:args,...)
You can omit the parentheses if you pass only a single parameter.
You can display or modify STARTUP$STARTUP_LAYERED or database files that you create. You
can display STARTUP$STARTUP_VMS, but you should not modify it.
By default, the layered product database is the current database. To perform commands on another
database, specify it as the current database by entering the STARTUP SET DATABASE command in
the following format:
STARTUP SET DATABASE database
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP SET DATABASE STARTUP$STARTUP_LOCAL
138
Chapter 5. Customizing the Operating System
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP SHOW DATABASE
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP SHOW FILE/FULL
Do not use this command to modify STARTUP$STARTUP_VMS; this command procedure starts the
operating system. The STARTUP MODIFY command requires read and write access to the startup
database.
When adding layered product startup files using SYSMAN, be sure that all requisite components
occur in a previous phase.
Enter the STARTUP ADD command with appropriate qualifiers. For information on the valid
qualifiers, see the SYSMAN section of the OpenVMS System Management Utilities Reference
Manual.
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP SHOW DATABASE
%SYSMAN-I-DATANAME, STARTUP database is STARTUP$STARTUP_LAYERED
SYSMAN> STARTUP ADD FILE/MODE=DIRECT/PHASE=LPMAIN FOR
$LPMAIN_043_STARTUP.COM
139
Chapter 5. Customizing the Operating System
Note
Do not use STARTUP MODIFY to modify STARTUP$STARTUP_VMS.
You can specify any of the following qualifiers to specify the information that is to be changed:
• /MODE
• /NAME=filespec
• /PARAMETER=(P1:arg1, P2:arg2,...)
• /PHASE
For information on the qualifiers for this command, see the OpenVMS System Management Utilities
Reference Manual.
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP ADD/MODE=DIRECT/PHASE=LPMAIN FOR$LPMAIN_043_STARTUP.COM
SYSMAN> STARTUP SHOW FILE/NODE
SYSMAN> STARTUP MODIFY FILE FOR$LPMAIN_043_STARTUP.COM/NODE=ZNODE
Note
Do not use STARTUP REMOVE FILE to modify STARTUP$STARTUP_VMS.
To delete a record from a startup database, enter a STARTUP REMOVE FILE command in the
following format:
STARTUP REMOVE FILE filespec
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP SHOW FILE/FULL
SYSMAN> STARTUP REMOVE FILE FOR$LPMAIN_043_STARTUP.COM
SYSMAN> STARTUP SHOW FILE/FULL
SYSMAN> EXIT
This command requires read and write access to the startup database. Do not use this command to
modify STARTUP$STARTUP_VMS.
140
Chapter 5. Customizing the Operating System
To delete a record from a startup database, enter the STARTUP DISABLE command as follows:
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP SHOW FILE
SYSMAN> STARTUP DISABLE FILE FOR$LPMAIN_043_STARTUP.COM/NODE=ZURICH
This command requires read and write access to the startup database. Do not use this command to
modify STARTUP$STARTUP_VMS.
To enable a previously disabled file, enter the STARTUP ENABLE FILE command in the following
format:
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> STARTUP ENABLE FILE FOR$LPMAIN_043_STARTUP.COM/NODE=ZURICH
Registering an image records information about the image in a file called the image registry. The
image activator, INSTALL, and SYSGEN do not check the versions of images that are recorded in the
image registry.
The image registry allows you to continue to run application images (including main images, shared
libraries, and device drivers) that were linked on prior versions of the operating system. Use extreme
care with this capability. If the image needs to use a data structure that has a changed format, then
results from running the image will be unpredictable and might result in a system crash. Register an
image only if you are sure that none of the referenced system routines, data cells, and data structures
have changed.
The Image Registry facility allows you to register different versions of an image independently. It also
allows you to deregister, analyze, and show images in the image registry.
141
Chapter 5. Customizing the Operating System
When you attempt to run an image, the system checks to determine if the image requires a certain
version of the operating system or of system components. If the version of the running system does
not match the version requirements of the image, the image fails.
The system also checks version numbers when you attempt to install an image using the Install utility
(INSTALL)or connect a device driver using the System Generation utility (SYSGEN).
When you upgrade your system to a new version of the operating system, an image might fail because
the new version no longer matches the image's version requirements. However, an image might
continue to be compatible with the new operating system version, even if it fails the version check.
Note
In OpenVMS VAX Version 6.0, the major version number was not changed; only the version numbers
for the following components were increased to reflect changes in these areas:
• FILES_VOLUMES
• MEMORY_MANAGEMENT
• SECURITY
As a result, many version-dependent images built in VMS VAX Version 5. x systems (that is, images
that do not reference FILES_VOLUMES, MEMORY_MANAGEMENT, or SECURITY) will run on
OpenVMS Version 6.0 without registering the images. However, version-dependent images that do
reference these components must be registered with the image registry, as explained in this section.
To continue running a compatible image, you can register the image using the Image Registry facility.
You do not need to register images that are linked as part of the installation because they match the
current operating system version. However, linking an image during installation does not ensure that
system version dependencies do not exist. For information about changes in the current operating
system version that might require you to recompile an image or change source code, see the release
notes.
Caution
You must inspect and test an image carefully to avoid system crashes and data corruption. Registering
an image does not necessarily make it work; registering only by passes the version checks.
142
Chapter 5. Customizing the Operating System
where:
keyword Specifies one or more of the keywords described in Table 5.3, separated by
commas.
filename Specifies the name and location of the image you want to register. The filename
parameter accepts wildcard characters.
If the image does not have a version dependency, the following message is displayed:
REGISTER-I-SUMMARY n images examined, n have dependencies
In this message, n is the number of images examined and the number of images that have
dependencies.
Example
The following example adds the V6USRAPP image to the registry:
$ @SYS$UPDATE:REGISTER_PRIVILEGED_IMAGE REGISTER SYS$LIBRARY:V6USRAPP
%REGISTER-I-ADDED added V6USRAPP to registry
143
Chapter 5. Customizing the Operating System
Before performing these tasks, you should be familiar with the Help Message utility. For a complete
description of Help Message features, basic tasks, and the HELP/MESSAGE command and qualifiers,
see the OpenVMS System Messages: Companion Guide for Help Message Users. Also see that manual
for a description of the files that you must manipulate to customize the Help Message database.
Note
Currently, user-supplied comments or additions to VSI-supplied .MSGHLP$DATA files are not
preserved through the next upgrade. However, your own .MSGHLP$DATA files are not affected by
future releases. You can reuse .MSGHLP files to insert your own messages into future VSI-supplied
database files. Depending on the data format in future databases, you might also be able to reuse
some .MSGHLP files to insert comments.
1. Use the Help Message qualifier /SECTION_FILE=* to include all the OpenVMS supplied
message section files that have not already been linked into the main Help Message program,
MSGHLP$MAIN.EXE:
$ HELP/MESSAGE/SECTION_FILE=*
Note
This HELP/MESSAGE command produces results similar to, but entirely separate from those effected
by the SET MESSAGE filespec command. The Help Message utility does not interact with the
Message utility. If you want both utilities to translate the same set of message sections, you must
144
Chapter 5. Customizing the Operating System
separately code each utility to do so. It is perfectly acceptable to have each utility point to different
message section files.
2. When you use the /SECTION_FILE qualifier to create the object library or add modules to it, the
MSGHLP$MESSAGE_SECTIONS.EXE file is also automatically created from all the modules
in the object library and is placed in your default directory. When you finish modifying the object
library, you must copy the final .EXE file to SYS$COMMON:[SYSLIB] (logical name SYS
$LIBRARY).
Thereafter, if Help Message cannot translate a status code and the SYS$LIBRARY:MSGHLP
$MESSAGE_SECTION.EXE image exists, Help Message activates it and searches all message
section files to which it points. The impact on Help Message search time depends upon the
number of files searched.
3. Use the following command as many times as you want to add pointer modules for any other
specific message section files to SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB and
MSGHLP$MESSAGE_SECTIONS.EXE:
HELP/MESSAGE/SECTION_FILE=disk:[directory]file-name.EXE
$ LIBRARY/LIST MSGHLP$MESSAGE_SECTIONS.OLB
The names of the modules in the .OLB file are derived from strings specified in the /
SECTION_FILE qualifier.
Help Message can search a maximum of 42 message section files. Files are searched in this order:
• The message section files that Help Message is linked with before it is shipped:
• SYSMSG.EXE
• SYSMGTMSG.EXE
• CLIUTLMSG.EXE
• PRGMSG.EXE
• Any message section files explicitly linked with MSGHLP$MAIN.EXE or with any shareable
image that MSGHLP$MAIN.EXE references.
Message section files are searched in the order in which they are listed in the .OLB file. (Order
is alphabetical.) If the total count of message section files exceeds 42, message section files
listed near the end of the .OLB file might not be searched.
5. If you want, remove any references to message section files in the .OLB file to control which 42
message section files are included in the Help Message search. You might delete a file that you
145
Chapter 5. Customizing the Operating System
rarely use earlier in the alphabet to ensure that a file later in the alphabet is among the 42 files
searched. For example, to delete the NCP (Network Control Program) messages from the .OLB
file, use this command:
$ LIBRARY/DELETE=NETWRKMSG SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
If you delete a module from the .OLB file, you must execute the HELP/MESSAGE command
with the /SECTION_FILE qualifier to generate an updated .EXE file. The qualifier argument can
specify either a new file or a file that is already listed in the .OLB file.
6. When your .OLB file reflects the message section files you want Help Message to search, copy the
final .EXE file from your account to SYS$LIBRARY:.
Example
6. Copy the final .EXE file from the local account to SYS$LIBRARY:.
Note that the output from the LIBRARY/LIST commands is omitted from the example.
$ HELP/MESSAGE/SECTION_FILE=*
$ LIBRARY/LIST SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
$ LIBRARY/DELETE=VVIEFMSG SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
$ HELP/MESSAGE/SECTION_FILE=USERS:[TOOLS]NEW_MSGS.EXE
$ LIBRARY/LIST SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
$ COPY MSGHLP$MESSAGE_SECTIONS.EXE SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.EXE
When Help Message is installed, the OpenVMS messages database file is installed by default at SYS
$COMMON:[SYSHLP]MSGHLP$LIBRARY.MSGHLP$DATA. However, this file can optionally
be installed on or moved to another disk. The alternate location must be pointed to by logical name
MSGHLP$LIBRARY. Use this command to define the logical name:
By default, Help Message attempts to look up messages in the default location unless the logical name
MSGHLP$LIBRARY is defined. If you do not use the default database location, include the logical
name definition command in SYS$MANAGER:SYLOGICALS.COM so that the database is defined
each time the system is booted.
146
Chapter 5. Customizing the Operating System
Note
If you move MSGHLP$LIBRARY.MSGHLP$DATA to a new location after installation, be sure to set
the proper protections on the file and directory so that the database cannot be accidentally deleted or
modified. The protections at installation are (RWE, RWE, RE, RE) for the directory and (RWE, RWE,
RWE, RE) for the file.
You and other system users can create additional .MSGHLP$DATA files, as described in the
OpenVMS System Messages: Companion Guide for Help Message Users. None of the .MSGHLP
$DATA files need reside on the system disk. You can add new files to a systemwide default database
search path defined by MSGHLP$LIBRARY, or you can create specialized search paths to include
different configurations of .MSGHLP$DATA files.
A search path definition can include individual file names or can point to one or more directories.
If you specify a directory with no file name, Help Message searches all .MSGHLP$DATA files
currently found in that directory. Pointing to a directory instead of individual files can minimize your
bookkeeping when .MSGHLP$DATA files are added or removed.
To use system resources more efficiently, you can create different search paths for different user
groups, depending on which .MSGHLP$DATA files they need to access. You can also set up different
directories for different types of messages or for different user groups. For example, you could use
three unique logical names to define three different search paths tailored to different user groups:
DEFINE/SYSTEM logical-name-1 file-a,file-b,file-c
Note
The first file you list in a search path is the default database for /INSERT and /DELETE operations
that operate on that search path. By default, all other operations access all files in a search path.
Specifying a directory first in a search path risks setting up a default moving target for /INSERT and /
DELETE operations if files are added to or deleted from the directory.
Users can select an alternate to the system default database by specifying the /LIBRARY qualifier in
the HELP/MESSAGE command. Individual users can also create their own logical name search paths
at the process level.
Example
The following example defines a Help Message search path that accesses .MSGHLP$DATA database
files in three locations: the VSI-supplied OpenVMS messages at USERS:[TOOLS], the user-supplied
file USERS:[NEW_PROJ]OUR_MESSAGES.MSGHLP$DATA, and all .MSGHLP$DATA files in
directory TEST:[TRY_ME].
$ DEFINE/SYSTEM MSGHLP$LIBRARY USERS:[TOOLS]MSGHLP$LIBRARY,-
_$ USERS:[NEW_PROJ]OUR_MESSAGES.MSGHLP$DATA,TEST:[TRY_ME]
147
Chapter 5. Customizing the Operating System
1. Use the /EXTRACT qualifier to create a .MSGHLP file containing the messages you want to
delete from the database. (See the OpenVMS System Messages: Companion Guide for Help
Message Users for a full description of how to select the contents of the .MSGHLP file.) Some
examples follow.
Use the following syntax to extract all the messages for a specified facility:
HELP/MESSAGE/FACILITY=facility-name/EXTRACT=filename.MSGHLP
Use this syntax to extract one or more messages specified by the search string:
HELP/MESSAGE/EXTRACT=filename.MSGHLP search-string
2. Check the contents of the resulting .MSGHLP file to be sure that it contains only the data that you
want to delete from the database. Edit out any messages that you do not want to delete from the
database.
3. Use /DELETE to delete the contents of the .MSGHLP file from the database. Include /LIBRARY
if the MSGHLP$LIBRARY.MSGHLP$DATA file is not the default database or if it is not the first
file in the search path defined by logical name MSGHLP$LIBRARY.
HELP/MESSAGE/DELETE=filename.MSGHLP
HELP/MESSAGE/DELETE=filename.MSGHLP/LIBRARY=disk:
[directory]filename.MSGHLP$DATA
Save the .MSGHLP file if you might ever want to add the deleted messages back into the database
prior to the next upgrade. You can store the file on tape to conserve disk space. If you delete and
then reinsert messages, these messages are treated like user-supplied messages and are displayed
with change bars.
Any VSI-supplied messages that you delete are currently reinserted into the database at the next
upgrade. You can delete the messages again using a saved .MSGHLP file or you can create a
new .MSGHLP file. Note that if you keep a .MSGHLP file for future deletion purposes only, you
need save only the lines prefixed by 1 and 2.
4. To save disk space, you can compress the .MSGHLP$DATA file to close up any free space created
by the deletions. Use the following command sequence to compress the file:
PURGE disk:[directory]filename.MSGHLP$DATA
Example
The following example extracts and then deletes all messages for the DDTM (DECdtm services)
facility from the default database. The last two commands compress the VSI-supplied database file to
conserve disk space after the deletions.
$ HELP/MESSAGE/FACILITY=DDTM/EXTRACT=DDTM.MSGHLP
$ HELP/MESSAGE/DELETE=DDTM.MSGHLP
$ CONVERT SYS$COMMON:[SYSHLP]MSGHLP$LIBRARY.MSGHLP$DATA -
_$ SYS$COMMON:[SYSHLP]MSGHLP$LIBRARY.MSGHLP$DATA
$ PURGE SYS$COMMON:[SYSHLP]MSGHLP$LIBRARY.MSGHLP$DATA
148
Chapter 5. Customizing the Operating System
Note
Currently, user-supplied comments to VSI-supplied .MSGHLP$DATA files are not preserved through
the next upgrade. However, if the VSI-supplied message descriptions do not change during the
upgrade, you can reuse .MSGHLP files to reinsert comments after the upgrade.
1. Extract the message to which you want to add a comment. The following example extracts
hypothetical message NOSNO:
$ HELP/MESSAGE/EXTRACT=NOSNO.MSGHLP NOSNO
2. Edit the .MSGHLP file to add your comment. The .MSGHLP file format uses a unique numerical
prefix to designate the message, facility, explanation, and user action sections of the message
description. Add your comments at the end using a "5" prefix.
• Limit your comments to 60 characters per line so that they do not exceed the terminal display
area.
• Do not edit VSI-supplied data. Any such edits are ignored when the comment is added to the
database.
$ HELP/MESSAGE/INSERT=NOSNO.MSGHLP
Example
$ HELP/MESSAGE/EXTRACT=ACCVIO.MSGHLP ACCVIO
149
Chapter 5. Customizing the Operating System
$ HELP/MESSAGE/INSERT=ACCVIO.MSGHLP
The sequence described in this section allows you to modify VSI-supplied data, with the following
results:
• The VSI-supplied message is deleted from the database and your version of the message is
inserted.
• The message you modify subsequently displays with change bars to designate it as unsupported,
user-supplied data.
Note
Currently, the VSI-supplied message is reinserted into the database at the next upgrade and the user-
supplied text is overwritten.
1. Extract the message having the text or description you want to change:
HELP/MESSAGE/EXTRACT=filename.MSGHLP search-string
2. Check the .MSGHLP file to ensure that your search did not pick up any messages that you do not
want to change. Delete any such messages that you want to preserve out of the .MSGHLP file.
3. Delete the VSI-supplied version of the message from the Help Message database by specifying
the .MSGHLP file as input. The following command deletes all messages in the .MSGHLP file
from the default .MSGHLP$DATA file:
HELP/MESSAGE/DELETE=filename.MSGHLP
5. Insert the revised message description into the Help Message database:
HELP/MESSAGE/INSERT=filename.MSGHLP
Your version of the message now appears in the database with change bars to indicate that it is not
a VSI-supplied message.
Example
$ HELP/MESSAGE/EXTRACT=NOFILES.MSGHLP NOFILES
$ HELP/MESSAGE/DELETE=NOFILES.MSGHLP
$ HELP/MESSAGE/INSERT=NOFILES.MSGHLP
150
Chapter 5. Customizing the Operating System
With write access to VSI-supplied .MSGHLP$DATA files, you can alternatively insert your own
messages into the VSI-supplied MSGHLP$LIBRARY.MSGHLP$DATA file. However, messages
inserted using this technique will currently be overwritten at the next upgrade. You can, however, save
your input .MSGHLP files and repeat the insertion process at the next upgrade.
1. Create a .MSGHLP file with your message descriptions in it. (Section 5.6.4 includes an example
of the .MSGHLP file format.)
2. Specify your .MSGHLP file as input to update the VSI-supplied .MSGHLP$DATA file. Assuming
that MSGHLP$LIBRARY.MSGHLP$DATA is the default, all you must enter is:
HELP/MESSAGE/INSERT=filename.MSGHLP
Example
$ HELP/MESSAGE/INSERT=MYMESSAGES.MSGHLP
MAIL$SYSTEM_FLAGS
You customize Mail by defining the logical name MAIL$SYSTEM_FLAGS as a system and
executive mode logical name. For example:
$ DEFINE/SYSTEM/EXECUTIVE_MODE MAIL$SYSTEM_FLAGS 1
The value of the logical name MAIL$SYSTEM_FLAGS is interpreted in the following ways:
Value Meaning
1 Indicates that this node is part of a homogeneous OpenVMS Cluster system. In
other words, all disks are accessible to the cluster, and a common SYSUAF file
and a common mail file exist for the cluster.
When this bit is set, the system checks the node to which you are sending mail
to see if it is currently in the cluster. If the node is in the cluster, the system
bypasses DECnet, and the message is written directly to the recipient's mail file.
(Note that the node must be up to determine whether it is part of the cluster.)
2 Directs Mail to set the OpenVMS Cluster system breakthrough flag when
issuing the $BRKTHRU service to notify the recipient of new mail. This flag
151
Chapter 5. Customizing the Operating System
Value Meaning
is used only in OpenVMS Cluster systems and, typically, only in homogeneous
OpenVMS Cluster systems (in other words, flag 1 is also set).
4 Directs Mail to include the time the message was delivered in the notification
message displayed on the recipient's terminal.
8 Directs Mail to use DECnet VAX address syntax when the system is running
DECnet-Plus.
16 Directs Mail to use DECnet-Plus address syntax.
32 Indefinitely retry reading a UAF record when the record is locked by another
user. Default (bit not set) behavior is to return UAFGETERR and not retry.
For example, if MAIL$SYSTEM_FLAGS translates to 7, the system selects the first three flags. If the
logical name does not translate, the default is 0, which indicates that no flags are set.
On VAX systems, if neither 8 nor 16 is in the value for MAIL$SYSTEM_FLAGS,the system checks
to see whether DECnet for OpenVMS or DECnet-Plus is running on the system and operates as if
the appropriate bit were set. If MAIL$SYSTEM_FLAGS accidentally specifies both DECnet and
DECnet-Plus, the Mail utility defaults to DECnet-Plus.
MAIL$INTERNET_MODE
Certain network addresses can be interpreted by the Mail utility as either DECnet-Plus names or
SMTP names. These ambiguous network names have the following features:
You can control the default system interpretation of those names with the MAIL$INTERNET_MODE
logical name.
To specify the mail address mode, define logical name MAIL$INTERNET_MODE as follows:
You must have SYSNAM privilege or write (W) access to the system logical name table. The
following table describes the values of address_mode and the effect of each value of MAIL
$INTERNET_MODE.
152
Chapter 5. Customizing the Operating System
For more information about using logical names to control the use of internet address modes by the
Mail utility, see the OpenVMS User’s Manual.
For more information on how users can use the MIME utility, refer to the OpenVMS User’s Manual.
MIME:== $SYS$SYSTEM:MIME.EXE
You can establish systemwide defaults for displaying MIME-encoded messages by creating two files:
MIME$MAILCAP.DAT and MIME$FILETYPES.DAT.
A user can override those defaults by creating these files in SYS$LOGIN. See the OpenVMS User’s
Manual for details about those files.
On VAX systems, back up the console volume (if applicable). If your computer has a console storage
device, make a backup copy of your console volume in case your original becomes corrupted. The
operating system provides a command procedure called CONSCOPY.COM (in the SYS$UPDATE
directory), which copies your console volume to a blank one.
The procedure for backing up the console volume varies for different computers. For specific
instructions on backing up the console volumes,refer to the upgrade and installation supplement for
your VAX computer.
153
Chapter 5. Customizing the Operating System
154
Chapter 6. Setting System Time
This chapter describes how to control system time on OpenVMS systems, describes how system time
relates to Coordinated Universal Time (UTC), and tells how to ensure that local system time remains
correct when local time changes, as it does for daylight saving time.
For a complete list of support time zones that are referenced by VMS services, see the VSI OpenVMS
System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems.
OpenVMS VAX
Setting time zone information OpenVMS Cluster Section 6.4
Controlling daylight saving time All Section 6.5
conversions
Setting time using the Battery-Backed OpenVMS Alpha Section 6.6
Watch (BBW)
Open VMS I64
Choosing languages, and date and time OpenVMS Section 6.7
formats
Saving your time customizations OpenVMS VAX Section 6.8
OpenVMS Alpha
Note
Even if you do not use the VSI C RTL directly, you must set correct time zone information on your
system because other system utilities written in the VSI C language might require it.
155
Chapter 6. Setting System Time
Local times can be up to 12 hours behind Greenwich Mean Time or 13 hours ahead of it.
Because UTC is independent of time zones, you can use UTC around the world; for example, it is
2:00 UTC at the same moment in Paris as it is in Tokyo. You can examine data that is time-stamped
with UTC values in Paris and Tokyo without performing complicated conversions to deal with local
time zones.
The TDF associates each local time zone with UTC;it is the difference between your local system
time and UTC. When your system time changes to reflect a local time change between standard time
and daylight saving time, the TDF must also change to compensate for the new local system time. The
TDF changes in the same direction as the local time;that is, if you add an hour to the local time,you
must also add an hour to the TDF. Note, however, that the UTC does not change.
The TDF value is expressed in signed (+ or -) hh:mm format. The Americas have negative
TDFs,while Europe, Africa, Asia, and Australia have positive TDFs.
156
Chapter 6. Setting System Time
OpenVMS procedures calculate the normal TDFs for standard and daylight saving time (if any) for
your time zone. These are presented as the default for your TDF setting. VSI recommends that you
accept this default.
You can also use the map in Figure 6.1 to determine the TDF for your time zone. If you prefer, you
can use the tables in Appendix B in the VSI OpenVMS System Manager's Manual to determine the
standard or daylight saving time TDF for your time zone.
To use the map to determine the TDF of your time zone, follow these steps:
1. Find your location on the map and notice the time zone band at that location.
2. Follow the time zone band to the top of the map and note the TDF that corresponds to your time
zone. For example, the TDF for California is –8:00; the TDF for Italy is +1:00.
Some time zones do not have full-hour TDFs. In these cases, find the specific value on the map itself.
For example, if you live in Adelaide, Australia, your TDF is +9:30.
In a time zone with daylight saving time, the TDF for daylight saving time is typically +1:00 from
the standard time. For example, if the standard time TDF is +2:00,the daylight saving time TDF is
+3:00;if the standard time TDF is -7:00, the daylight saving time TDF is -6:00.
157
Chapter 6. Setting System Time
Note
Time zone rules are under control of each country and are subject to change for political and other
reasons. Printed maps are almost inevitably out-of-date. For up-to-date information, see the following
web location:
http://aa.usno.navy.mil/AA/faq/docs/world_tzones.html
158
Chapter 6. Setting System Time
Note
If you are using the Distributed Time Synchronization Service (DTSS), use the procedures supplied
with DTSS to set time zone information. See Section 6.1.1.
If DTSS is not in use, use the following table to determine how to set time zone information.
Note
If you are using the Distributed Time Synchronization Service (DTSS), you must use the procedures
supplied with DTSS to set time zone information. See Section 6.1.1.
Note
SYS$MANAGER:UTC$TIME_SETUP.COM has some undocumented uses that are not supported
and can lead to inconsistent or incorrect time zone information,For this reason, you should use SYS
$MANAGER:UTC$TIME_SETUP.COM only in the ways that are documented here.
159
Chapter 6. Setting System Time
$ SET PROCESS/PRIVILEGES=(OPER,LOG_IO,SYSPRV,SYSNAM,CMEXEC)
If these privileges are not enabled, you can encounter errors or incorrect results.
$ @SYS$MANAGER:UTC$TIME_SETUP SHOW
If the AUTO_DLIGHT_SAVE system parameter is set to 0, you may receive a display similar to the
following:
You may also receive messages indicating that some time zone parameters are not correctly set. If so,
correct the time zone information and rerun the procedure.
160
Chapter 6. Setting System Time
After ensuring that the required privileges are enabled (see Section 6.2), execute the following
command:
$ @SYS$MANAGER:UTC$TIME_SETUP
Do not include any parameters with this command. When the main time zone menu is displayed,
you can select the time zone in either of two ways: (1) by selecting the number in the main time zone
menu that best represents the time zone desired (if multiple time zones exist for the selection you
make, you will have to select the exact time zone from another menu), or (2) by using a search option
that allows you to bypass the time zone menu and search by name.
If you select one of the numbers in the time zone menu, the corresponding time zone is selected.
An asterisk (*) next to a number indicates that more than one time zone exists for that selection.
If you select such a number, an additional menu displays with choices that allow you to select the
appropriate time zone. For example, if you choose the United States (US) time zone from the main
menu, a second menu displays the specific time zones within the United States. You then select the
menu item that best represents the desired time zone.
The following example shows how you would select the Eastern time zone for the United States by
using the menu numbers:
Table 6.1 lists and describes the acronyms that appear in the Main Time Zone Menu.
161
Chapter 6. Setting System Time
To use the search option instead of menu numbers to select the time zone, enter an equal string (=) at
the menu prompt instead of a number. The procedure then prompts you for the full or partial name of
the time zone you want to select. After you enter that information, the procedure displays all matching
time zones, and you can then select the appropriate one.
Note
Search only for a specific submenu name, such as US or INDIAN, or for a menu entry, such as
POLAND (or partial name POL, for example) or EASTERN. Attempts to search for EASTERN / US
or REUNION / INDIAN will fail to bring up choices for you.
The following example shows how you would select the Eastern time zone for the United States by
using the search option:
Configuring the Local Time Zone
TIME ZONE SPECIFICATION -- MAIN Time Zone Menu “*” indicates a menu
0* GMT
1* AFRICA 12) EET 23) JAPAN 34) ROK
2* AMERICA 13) EGYPT 24) LIBYA 35) SINGAPORE
3* ANTARCTICA 14) FACTORY 25) MET 36* SYSTEMV
4* ASIA 15) GB-EIRE 26* MEXICO 37) TURKEY
5* ATLANTIC 16) GREENWICH 27) NAVAJO 38) UCT
6* AUSTRALIA 17) HONGKONG 28) NZ-CHAT 39) UNIVERSAL
7* BRAZIL 18) ICELAND 29) NZ 40* US
162
Chapter 6. Setting System Time
If you enter No, you are returned to the Main Time Zone Menu.
If you answer Yes or press Return to accept the default, time zone information is set. This includes:
• The following system logical names, which are set with the time zone information:
• SYS$LOCALTIME
• SYS$POSIXRULES
• SYS$TIMEZONE_DAYLIGHT_SAVING
• SYS$TIMEZONE_NAME
• SYS$TIMEZONE_RULE
• The following files, which are written so that time zone information can be reset when the system
is rebooted:
• [VMS$COMMON.SYSEXE]SYS$TIMEZONE_SRC.DAT
• [VMS$COMMON.SYS$STARTUP]TDF$UTC_STARTUP.COM
The TDF is the difference between your system time and Coordinated Universal Time (UTC), which
is an international standard (similar to Greenwich Mean Time) for measuring time of day. The system
next displays the TDFs for standard and daylight saving time that correspond to the time zone you
have selected, and information about the TDF. For example:
163
Chapter 6. Setting System Time
Note that the system displays daylight saving time information only for time zones that use daylight
saving time. If the time zone you selected uses daylight saving time, you must indicate whether
daylight saving time is or is not currently in effect. Answer Y (Yes) or N (No) when you are
prompted. For example:
You are then prompted to enter the TDF. A default, based on your time zone and daylight saving time
information, is provided. In the following example the default is -4:00. VSI recommends that you
press Return to accept the default.
You are then asked to enter the time adjustment, usually either -1:00 or+1:00.
Finally, the TDF and the time adjustment (if any)is displayed, and you are asked to confirm that they
are correct.
If you answer Yes, the TDF is set, and the system logical name SYS$TIMEZONE_DIFFERENTIAL
is defined.
If you answer No, you are returned to the TDF information display,from which you can reenter your
TDF and time adjustment choices.
164
Chapter 6. Setting System Time
• Modifying your system's local time to adjust for daylight saving or standard time
If you set the time zone and the TDF on one node in a cluster, the values you set take effect on other
nodes in the cluster when those nodes are rebooted.
For your convenience, the instructions for using the command procedure have been split into two
sections:
1. Log in to the SYSTEM account or enter the following command to enable LOG_IO and OPER
privileges:
$ SET PROCESS/PRIVILEGES=(LOG_IO,OPER)
$ @SYS$MANAGER:UTC$TIME_SETUP.COM
3. Press Return to accept the default of BOTH or enter one of the other choices in answer to the
following question:
Note
VSI recommends that you set both the time zone and the TDF. If you set the TDF without setting the
time zone, the procedure cannot provide default TDF values.
If you answer BOTH or TIMEZONE to the time parameter question in the command procedure,
continue in Section 6.3.1.If you answer TDF to the question, continue in Section 6.3.2.
165
Chapter 6. Setting System Time
You set the local time zone by making choices in a command procedure.
Table 6.1 lists and describes the acronyms that appear in the Main Time Zone Menu.
1. Enter a number after the following question; for example, 33, for the United States:
Select the number above that best describes your location: 33
2. If you enter a country that has more than one time zone, the system displays a message and asks
for a confirmation like the following one (if not, skip to the explanation following step 4):
You selected US as your time zone.
Is this correct? (Yes/No) [YES]: [Return]
3. The system displays areas with different time zones and asks you to select your area. Enter a
number, for example, 6:
US Time Zone Menu
1) Alaska 4) Central 7) Hawaii 10) Mountain
2) Aleutian 5) East-Indiana 8) Indiana-Starke 11) Pacific
3) Arizona 6) Eastern 9) Michigan 12) Samoa
4. Confirm the displayed information or enter another number after the following prompt; for
example:
You selected US/Eastern as your time zone.Is this correct? (Yes/No)
[YES]: [Return]
When you confirm the last statement, the system redefines the following system logical names:
166
Chapter 6. Setting System Time
• sys$localtime
• sys$posixrules
The VSI C RTL uses these logical names to compute the time zone rules for your applications.
The system also writes this information to SYS$TIMEZONE.DAT. The system uses this file to
reset SYS$LOCALTIME and SYS$POSIXRULES when you reboot.
The system then displays the TDFs for standard and daylight saving time that correspond to the
time zone you have selected:
* The system displays daylight saving time only for time zones that use daylight saving time.
1. Select option 2 to display the TDF the system has calculated for you:
167
Chapter 6. Setting System Time
The system displays the following question only if you set the time zone as well. However, some
time zones do not have daylight saving time; if they do not, the system also does not display this
question.
4. After the following prompt, either press Return to accept the displayed default or enter the correct
TDF. (If you have not set the time zone, the system does not display a default TDF value.)
Enter the Time Differential Factor [-4:00]:
The system then explains the need to modify the system time as well for season time changes:
If this is a seasonal time change, it may also be necessary to
modify the system time. Generally, seasonal time changes result
in adding 1:00 hour, or adding -1:00 hour to the system time.
5. To the following question, answer Yes if you need to modify the local system time or No if you do
not:
Do you wish to modify the local system time [N]:
If you answer Yes, the system leads you through a dialogue similar to the one in Section 6.5.3
If you answer No, the system next displays the new TDF:
NEW SYSTEM TIME DIFFERENTIAL FACTOR = -4:00.
If you answer Yes,the system displays both the TDF and the local system time.
SYSTEM TIME DIFFERENTIAL FACTOR = -4:00 (-14400 seconds).
LOCAL SYSTEM TIME = 22-JAN-2001 10:52:37.36.
168
Chapter 6. Setting System Time
Then, after you have run UTC$TIME_SETUP.COM for one architecture, reset the environment to the
other architecture and run UTC$TIME_SETUP.COM for that architecture.
Note
If you are using the Distributed Time Synchronization Service (DTSS), DTSS makes the necessary
changes between daylight saving time and standard time. See Section 6.1.1.
If DTSS is not in use, use the following table to determine how to change system time between
standard time and daylight saving time:
If AUTO_DLIGHT_SAV is set to 1, an OpenVMS Alpha Version 7.3 (and later) or I64 system
automatically sets the time forward or back when local time changes between daylight saving time
and standard time.
If AUTO_DLIGHT_SAV is set to 0 (the default), OpenVMS does not automatically change between
daylight saving time and standard time.
The AUTO_DLIGHT_SAV parameter and the automatic changes between daylight saving time and
standard time are implemented only on OpenVMS Alpha Version 7.3 and later and on I64 systems.
169
Chapter 6. Setting System Time
For this to work correctly, you must set a time zone rule for your time zone. See Section 6.2 for
information about setting time zone rules on OpenVMS Alpha Version 7.3 and later systems and on
I64 systems.
To enable or disable the automatic changing from standard time to daylight saving time, you must
modify AUTO_DLIGHT_SAV. The modification will not take effect until you reboot the system. See
VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems for
information about modifying system parameters.
Note
Automatic changes between daylight saving time and standard time work only on OpenVMS Alpha
Version 7.3 and later systems and on I64 systems. HP recommends that you do not enable automatic
daylight saving time conversion on mixed-version or mixed-architecture OpenVMS Clusters.
For details on manually adjusting for daylight saving time on OpenVMS Version 7.3 systems, see
Section 6.5.2.
To adjust the local time to daylight saving time or standard time,invoke command procedure SYS
$EXAMPLES:DAYLIGHT_SAVINGS.COM to perform both of the following tasks:
• Queue a batch job to make the changes at a future time. (This is the most common use of this
command procedure.)
You can run DAYLIGHT_SAVINGS.COM interactively and respond to prompts for input, or run the
command procedure with parameters.
170
Chapter 6. Setting System Time
$ @SYS$EXAMPLES:DAYLIGHT_SAVINGS P1 P2 P3 P4
Note that you need enter only the first letter of parameters P1, P2, and P3.
$ @SYS$EXAMPLES:DAYLIGHT_SAVINGS
Note
If you are using the Distributed Time Synchronization Service (DTSS), DTSS makes the necessary
changes between daylight saving time and standard time. See Section 6.1.1.
To adjust the local time to daylight saving time or standard time,you can invoke the command
procedure SYS$EXAMPLES:DAYLIGHT_SAVINGS.COM to perform both of the following tasks:
171
Chapter 6. Setting System Time
• Make the changes immediately. (Usually, however, you would use UTC$TIME_SETUP.COM to
make changes immediately by answering Yes to Question 5in Section 6.3.2.)
• Queue a batch job to make the changes at a future time. (This is the most common use of this
command procedure.)
The following example of DAYLIGHT_SAVINGS.COM shows answers that cause the procedure to
queue a batch job, DST_CHANGE, which will execute when the time changes from standard time to
daylight saving time. Many of the questions are similar to those explained in Section 6.3.2.
In the example, the initial TDF value is -5:00. The local date and time are any time from the date
in 2000 when the change to standard time was made, until1-APR-2001:02:00, when the change to
daylight saving time will be made.
$ SYS$EXAMPLES:DAYLIGHT_SAVINGS
This procedure queues a batch job that changes the system time
and system time differential around a daylight saving time
change. Press the question mark (?) key at any time for help;
hit Control-C to exit.
The Time Differential Factor (TDF) is the difference
between your system time and Coordinated Universal Time (UTC).
The difference is expressed in hh:mm format. The Americas
have negative offsets from UTC, while Europe, Africa, Asia
and Australia have positive offsets from UTC.
* Enter the Time Differential Factor: -4:00
If this is a seasonal time change, it may also be
necessary to modify the system time. Generally,
seasonal time changes result in adding 1:00 hour,
or adding -1:00 hour to the local time.
* Do you wish to modify the local system time [N]: Y
Enter the time value you would like to add to
the local time. The value can be a positive or
a negative (-hh:mm) value.
* Enter the time value: +1:00
The process to modify your time zone offset and local
time (if supplied) can occur now or in the future.
Press Return to run the job now.
* Enter the run time in the DD-MMM-YYYY:HH:MM:SS format:
01-apr-2001:02:00
NEW SYSTEM TIME DIFFERENTIAL FACTOR = -4:00
ADDING 1:00 TO THE LOCAL TIME.
JOB RUN TIME : 1-APR-2001:02:00
* Continue? [Y]: Y
172
Chapter 6. Setting System Time
Time of Day Register (TODR) that the VAX architecture uses. One difference, however, is the BBW's
constraint on the date range.
The BBW provides sufficient storage capability for only a century. The OpenVMS Alpha and I64
systems date range has been redefined as 1957 to 2056 to maintain correct leap-year processing and to
provide for the millennial transition.
In addition, the OpenVMS Alpha and I64 timing mechanisms have been changed to allow 2-digit year
support in the $ASCTIM system service and the DCL command SET TIME. (Prior to this change,
only 4-digit year fields were allowed.) With 2-digit support, you need to enter only the last 2 digits of
a year. The century associated with the year field is derived from the placement of the 2 digits in the
1957-2056 date range. For example:
$ SET TIME = 1-NOV-98
You can also select the time and date formats for many SHOW commands from a predefined list or
define new time and date formats.
Note
The SHOW TIME command does not include this feature because the SHOW TIME command is
processed completely by DCL, which does not have access to the LIB$ routines necessary to format
the output.
In addition, the SHOW commands for batch and print operations were modified to include, in the
default time-stamp, seconds as well as hours and minutes. These new features were not previously
documented.
For example, rather than 15-JAN-2001 10:16:25.14, you can use a different format, such as the
following one:
$ SHOW USERS
OpenVMS User Processes at JANUARY 15, 2001 10:16 AM
Total number of users = 7, number of processes = 11
Username Node Interactive Subprocess Batch
MCDERMOT ARD26B 1
PASTERNAK ARD26B - 2 1
.
.
.
Later, users can override the system defaults set up by the system manager and select their own date
and time formats.
173
Chapter 6. Setting System Time
Note
VSI recommends that you include these steps within the command procedure SYS
$MANAGER:SYSTARTUP_VMS.COM.
1. Define the logical name SYS$LANGUAGES (plural) to specify the list of languages the users on
your system might want to use. (If the language is English, skip this step.)
• Defines output formats you can use to customize the display of dates and times
• Loads support for languages other than English that you define with the SYS$LANGUAGES
logical
3. Define date and time formats for the system using either:
• User-defined formats
• Predefined formats
You use the SYS$LANGUAGES (plural) logical to define a list of languages other than English.
(From this list, users can later select a language to be displayed on their processes, as explained in
Section 6.7.4.)
Because English is the default language and must therefore always be available, English spellings are
not taken from logical name translations; rather, they are looked up in an internal table.
For example, to specify the French,German, and Italian languages, you must define SYS
$LANGUAGES
To add another language, for example, FINNISH, you must add FINNISH to the definition of SYS
$LANGUAGES and execute the command procedure again.
174
Chapter 6. Setting System Time
• SYS$LANGUAGES
The system loads the languages you have selected using the SYS$LANGUAGES(plural) logical.
Users can later select their own choice of languages by defining the SYS$LANGUAGE (singular)
logical, as explained in Section 6.7.4.
• LIB$DT_FORMAT
The system loads output formats that you can then use to specify default system formats.
Users can later define their own formats, as explained in Section 6.7.4.
$ @SYS$MANAGER:LIB$DT_STARTUP
If the translation of SYS$LANGUAGES fails, then English is used. If the translation of LIB
$DT_FORMAT or any logical name relating to format fails,the OpenVMS standard ($ASCTIM)
representation of the date and time is used,that is, dd-mmm-yyyy hh:mm:ss.cc.
To select a format for a date, time, or both, you must define the LIB$DT_FORMAT logical name
using the following logicals:
The order in which these logical names appear in the definition of LIB$DT_FORMAT determines
the order in which they are output. A single space is inserted into the output string between the two
elements if the definition specifies that both are output. For example, to define systemwide formats:
This definition causes the date to be displayed systemwide in the specified format, followed by a
space and the time in the specified format. For example:
13 JAN 97 9:13 AM
Section 6.7.4 explains how users can select their own date and time formats to be displayed for their
process.
Note
For user-defined formats, VSI recommends that you use values of _500 and above for _ nnn.
175
Chapter 6. Setting System Time
Date Explanation
!D0 Day, Zero-Filled
!DD Day, No Fill
!DB Day, Blank-Filled
!WU Weekday, Uppercase
!WAU Weekday, Abbreviated, Uppercase
!WC Weekday, Capitalized
!WAC Weekday, Abbreviated, Capitalized
!WL Weekday, Lowercase
!WAL Weekday, Abbreviated, Lowercase
!MAU Month, Alphabetic, Uppercase
!MAAU Month, Alphabetic, Abbreviated, Uppercase
!MAC Month, Alphabetic, Capitalized
!MAAC Month, Alphabetic, Abbreviated, Capitalized
!MAL Month, Alphabetic, Lowercase
!MAAL Month, Alphabetic, Abbreviated, Lowercase
!MN0 Month, Numeric, Zero-Filled
!MNM Month, Numeric, No Fill
!MNB Month, Numeric, Blank-Filled
!Y4 Year, 4 Digits
!Y3 Year, 3 Digits
!Y2 Year, 2 Digits
!Y1 Year, 1 Digit
Time Explanation
!H04 Hours, Zero-Filled, 24-Hour Clock
!HH4 Hours, No Fill, 24-Hour Clock
!HB4 Hours, Blank-Filled, 24-Hour Clock
!H02 Hours, Zero-Filled, 12-Hour Clock
!HH2 Hours, No Fill, 12-Hour Clock
!HB2 Hours, Blank-Filled, 12-Hour Clock
!M0 Minutes, Zero-Filled
!MM Minutes, No Fill
!MB Minutes, Blank-Filled
!S0 Seconds, Zero-Filled
!SS Seconds, No Fill
!SB Seconds, Blank-Filled
!C7 Fractional Seconds, 7 Digits
!C6 Fractional Seconds, 6 Digits
176
Chapter 6. Setting System Time
Date Explanation
!C5 Fractional Seconds, 5 Digits
!C4 Fractional Seconds, 4 Digits
!C3 Fractional Seconds, 3 Digits
!C2 Fractional Seconds, 2 Digits
!C1 Fractional Seconds, 1 Digit
!MIU Meridiem Indicator, Uppercase
!MIC Meridiem Indicator, Capitalized (mixed case)
!MIL Meridiem Indicator, Lowercase
177
Chapter 6. Setting System Time
Table 6.4 lists all predefined time format logical names, their formats, and examples of the output
generated using those formats.
178
Chapter 6. Setting System Time
A user can also specify a date and time format by defining the LIB$DT_FORMAT logical. For
example:
$ DEFINE LIB$DT_FORMAT LIB$DATE_FORMAT_002, LIB$TIME_FORMAT_006
On VAX systems, back up the console volume (if applicable).If your computer has a console storage
device, make a backup copy of your console volume in case your original becomes corrupted. The
operating system provides a command procedure called CONSCOPY.COM (in the SYS$UPDATE
directory), which copies your console volume to a blank one.
The procedure for backing up the console volume varies for different computers. For specific
instructions on backing up the console volumes,refer to the upgrade and installation supplement for
your VAX computer.
You can also enter delta time values. Refer to the OpenVMS User’s Manual for more information
about time formats.
179
Chapter 6. Setting System Time
In a cluster environment, SYSMAN sets the time on each node to the value you specify. However,
if you do not specify a value, SYSMAN reads the clock on the node from which you are executing
SYSMAN and assigns this value to all nodes in the cluster. In a remote cluster, SYSMAN reads
the clock on the target node in the cluster and assigns that value to all nodes. Note that the time-of-
year clock is optional for some processors; refer to your processor's hardware handbook for more
information.
SYSMAN tries to ensure that all processors in the cluster are set to the same time. Because of
communication and processing delays, it is not possible to synchronize clocks exactly. However,
the variation is typically less than a few hundredths of a second. If SYSMAN cannot set the time to
within one-half second of the specified time,you receive a warning message that names the node that
failed to respond quickly enough.
As a result of slight inaccuracies in each processor clock, times on various members of a cluster tend
to drift apart. The first two examples show how to synchronize system time in a cluster.
Examples
1. The following procedure sets the time on all cluster nodes to the value obtained from the local
time-of-year clock, waits 6 hours, then resets the time for the cluster:
$ SYNCH_CLOCKS:
$ RUN SYS$SYSTEM:SYSMAN
SET ENVIRONMENT/CLUSTER
CONFIGURATION SET TIME
EXIT
$ WAIT 6:00:00
$ GOTO SYNCH_CLOCKS
2. The next example sets the environment to NODE21, NODE22, and NODE23, sets privilege, and
modifies the system time on all three nodes:
3. The following example sets the environment to cluster and displays the system time for all nodes:
• The first time in a new year that you reboot an OpenVMS Cluster system or a node in the system,
one or more nodes display any of the following system times:
• A year in the future, which might cause passwords to expire and other difficulties
180
Chapter 6. Setting System Time
• A correct time, but a SHOW SYSTEM command indicates that the system has been up since a
time in the 1800s
• Even if you correct the system time during system boot, the following problems might remain:
• A SHOW SYSTEM command displays an incorrect up time such as a date in the 1800s
• The error log report (ERRLOG) shows errors for a year in the future
Because the TODR has an approximate limit of 15 months, the system maintains time
by combining the TODR value with a base time recorded in the base system image (SYS
$LOADABLE_IMAGES:SYS.EXE). The definition of base time is:
01-JAN-CURRENT_YEAR 00:00:00.00
Because all TODRs ordinarily have the same base, multiple CPUs can boot off the same system disk,
and you can use multiple system disks on one CPU; the system sets the time correctly.
When a SET TIME command is issued (with or without specifying a time),OpenVMS performs the
following actions:
In an OpenVMS Cluster system (or for a node that is not part of the cluster),when you set the time,
the TODR and the base time in the system image are reset with the values for the new year. However,
multiple systems might share the system image. This does not normally cause a problem except after
the first day of a new year.
Note
The system issues the SET TIME command when it boots and as a part of the normal SHUTDOWN
command procedure.
By December, each node has a very large offset stored in the TODR (from the base time of 1-JAN
of that year). When the time advances to a new year,the system image still has the old year and the
TODR values are still large.
After January 1, if a SET TIME command is issued on any node (or any node is shut down using
SHUTDOWN.COM), the following events occur:
After these three events occur, if a node that has a large TODR crashes and rejoins the cluster, its
system time is initially in the next year (applying the large TODR to the new year).This system time is
recorded as the system's boot time. When the node joins the cluster, its time is set to the correct value
181
Chapter 6. Setting System Time
but the boot time remains one year in the future. Certain forms of the SHOW SYSTEM command
compare current time to boot time; in this instance, SHOW SYSTEM displays incorrect values.
If a system disk is used at different times by different, unclustered CPUs or if different system disks
are used at different times on the same CPU, the system might incorrectly set the time to a year in the
future or a year in the past, depending on how the CPU's TODR and the value recorded on the system
disk become unsynchronized:
• Sharing a system disk across multiple CPUs pushes the time into the future
• Using multiple disks on one CPU pushes the time into the past
Example
The following example uses SYSMAN commands to reset the time on all nodes in an OpenVMS
Cluster system:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/CLUSTER
SYSMAN> SET PROFILE/PRIVILEGE=(LOG_IO,SYSLCK)
SYSMAN> CONFIGURATION SET TIME 05-JAN-2001:12:00:00
SYSMAN> EXIT
Notes
In a node that is not part of a cluster, use the SET TIME command and specify a time. If you do not
specify a time, the SET TIME command updates the system time using the time in the TODR.
If you are running the DIGITAL Distributed Time Service (DECdts) on your system, you must use it
to set the time.
182
Chapter 7. Managing User Accounts
This chapter describes how to grant access to users on your system. It tells you how to add and
maintain user accounts, and it describes the privileges that you can give and the resources that you
can allocate to the users on your system. It also describes the system management features of the
OpenVMS Mail utility (MAIL).
Task Section
Managing system-supplied UAF accounts Section 7.4
Preparing to add user accounts Section 7.5
Adding user accounts Section 7.6
Using command procedures for interactive accounts Section 7.7.1
Modifying a user account Section 7.7.2
Listing user accounts Section 7.7.3
Maintaining the user environment Section 7.7.4
Deleting a user account Section 7.7.5
Restricting the use of accounts Section 7.8
Using login procedures for restricted accounts Section 7.8.5
Setting up special accounts Section 7.9
Managing Mail Section 7.10
Managing system resources Section 7.11
Concept Section
Understanding the user authorization file Section 7.1
Understanding the protection of authorization files Section 7.2
Understanding UAF login checks Section 7.3
Understanding system-supplied UAF accounts Section 7.4.1
Understanding account security Section 7.5.3
Understanding network proxy accounts Section 7.9.3
Understanding pages and pagelets Section 7.11.1
183
Chapter 7. Managing User Accounts
login characteristics, login restrictions, and resource control attributes. You specify the account
user name as a parameter to AUTHORIZE commands; the other fields are specified as qualifiers to
AUTHORIZE commands.
The system uses the UAF to validate login requests and to setup processes for users who successfully
log in. You create, examine, and modify UAF records with the Authorize utility (AUTHORIZE).
You can assign the following resource control attributes in the UAF record:
• Priority
• Privileges
7.1.1. Priority
A user's priority is the base process priority that the system uses to schedule computer time for the
process associated with the user's account.
On VAX systems,priorities range in value from a low of 0 to a high of 31. 0 through 15 are
timesharing priorities; 16 through 31 are real-time priorities.
On Alpha and I64 systems,priorities range in value from a low of 0 to a high of 63. 0 through 15 are
timesharing priorities; 16 through 63 are real-time priorities.
The system schedules processes with real-time priorities strictly according to base priority—the
executable real-time process with the highest base priority executes first. Processes with timesharing
priorities are scheduled according to a slightly different principle, to promote equitable service to all
users.
A process passes on its resources to a subprocess (for example, when you create a subprocess with
the SPAWN command) in one of several ways, depending on the resource type. Table 7.1 lists the
different resource types.
184
Chapter 7. Managing User Accounts
Normally, leave limits at their default values. For the default values for the system and user accounts,
see the sample SYSTEM and DEFAULT user authorization file records supplied with the Authorize
utility on your distribution kit. Also see Section 7.11for a full description of limits and quotas.
7.1.3. Privileges
Privileges determine what functions users are authorized to perform on the system. System manager
functions require privileges that are denied to most users. Because the SYSTEM account has full
privileges by default, exercise caution in using it. For example, if you log in to the SYSTEM account,
you can modify and delete any file regardless of its protection.
Table 7.2 categorizes system privileges and includes a brief definition of the activity permitted with
each privilege. See the VSI OpenVMS Guide to System Security for a full description of privileges.
185
Chapter 7. Managing User Accounts
Because certain images (such as SET.EXE) require access to the system UAF and are normally
installed with the SYSPRV privilege,make sure you always grant system access to SYSUAF.DAT.
The user authorization file, SYSUAF.DAT, is created with the following default protection:
Two proxy authorization files, NETPROXY.DAT and NET$PROXY.DAT, are created with the
following default protections:
186
Chapter 7. Managing User Accounts
NET$PROXY.DAT S, O, G, W
The primary proxy database that the system uses is the NET$PROXY.DAT file. NETPROXY.DAT
is maintained:
See Section 7.9.3 for more details about network proxy accounts.
The RIGHTSLIST.DAT authorization file is created with the following default protection:
The procedures for adding a user account are discussed in detail in Section 7.6. Because the UAF
is the prime repository for storing information about user accounts, it is important to understand its
components before you add accounts.
When a user activates a terminal (by turning it on and pressing Return if directly connected, by dialing
in to a system and observing the remote connect protocol, or by connecting via a LAT), and that
terminal is not allocated by a user process, the system prompts for a name and password. The user
must enter a name and password combination that exists in a UAF record, or the system denies the
user further access. If the name and password are accepted, the system performs the operations in
Table 7.3.
187
Chapter 7. Managing User Accounts
After a successful login, the command interpreter prompts for user input (DCL usually displays a
dollar sign), and the user responds with commands acceptable to the command interpreter. (DCL
accepts those commands documented in the VSI OpenVMS DCL Dictionary.) However, the system
prohibits activities that violate the user's privilege allowance or exceed resource quotas.
The UAF is accessed as a shared file. Updates to the UAF are made on aper-record basis, which
eliminates the need for both a temporary UAF and a new version of the UAF after each AUTHORIZE
session. Updates become effective as soon as you enter AUTHORIZE commands, not after the
termination of AUTHORIZE.(For this reason, do not enter temporary values with the intent of fixing
them later in the session.)
The Authorize utility (AUTHORIZE) provides a set of commands and qualifiers to assign values
to any field in a UAF record. See the Authorize utility section in the VSI OpenVMS System
Management Utilities Reference Manual for complete information about UAF record fields and the
commands and qualifiers used to assign attributes to these fields.
188
Chapter 7. Managing User Accounts
On Alpha and I64 systems, DEFAULT and SYSTEM accounts are created for you. You can use SYS
$MANAGER:CREATE_SPECIAL_ACCOUNTS.COM to create SYSTEST,SYSTEST_CLIG, and
Field Service accounts, as explained in Section 7.4.2.
On VAX systems, the default Field Service account has the user name
FIELD.
On Alpha and I64 systems, you name Field Service accounts for specific
VSI support representatives; for example, Mary_Smith or John_Jones.
SYSTEM Provides a means for you to log in with full privileges. You can modify
the record for the system manager's account but you cannot rename it or
delete it from the UAF.
Caution
Do not change the SYSTEM account UAF record fields for the default
device, directory, and privileges. Installation of maintenance releases of
the operating system and optional software products depends on certain
values in these fields.
189
Chapter 7. Managing User Accounts
• Create an account for each VSI support (Field Service) representative rather than just one account
called FIELD for all the representatives. Note that you must use the command procedure for each
account you want to create.
• Use account names that represent the actual names of support representatives, not a generic name
such as FIELD.
$ @CREATE_SPECIAL_ACCOUNTS.COM
This procedure creates accounts.
Passwords may be needed for the following accounts:
SYSTEST, Field Service
Passwords must be a minimum of 8 characters in length. All
passwords
will be checked and verified. Any passwords that can be guessed
easily
will not be accepted.
* Do you want to create an account for SYSTEST (Y/N): N [Return]
* Do you want to create an account for SYSTEST_CLIG (Y/N): N [Return]
* Do you want to create an account for Field Service (Y/N): Y [Return]
* Enter username for Field Service account: john_jones [Return]
* Enter password for JOHN_JONES: * Re-enter for verification:
* Re-enter for verification:
$
Note that the system does not display the password or password verification that you enter.
You can use the Authorize utility (AUTHORIZE) to disable VSI support representative accounts
when these accounts are not in use and enable them again when they are needed.
MODIFY username/FLAGS=DISUSER
For example:
190
Chapter 7. Managing User Accounts
$ RUN SYS$SYSTEM:AUTHORIZE
UAF> MODIFY JOHN_JONES/FLAGS=DISUSER
The login flag DISUSER disables the account and prevents anyone from logging in to the account.
To reenable an account when it is needed again, run AUTHORIZE and enter the command in the
following format:
For example:
$ @CREATE_SPECIAL_ACCOUNTS.COM
This procedure creates accounts.
Passwords may be needed for the following accounts:
SYSTEST, Field Service
Passwords must be a minimum of 8 characters in length. All passwords
will be checked and verified. Any passwords that can be guessed easily
will not be accepted.
* Do you want to create an account for SYSTEST (Y/N): Y
* Enter password for SYSTEST:
* Re-enter for verification:
* Do you want to create an account for SYSTEST_CLIG (Y/N): Y
The SYSTEST_CLIG account will be disabled. You must reenable
it (/FLAGS=NODISUSER) before running UETP but do not assign a password.
* Do you want to create an account for FIELD_SERVICE (Y/N): N
$
To disable a SYSTEST_CLIG account again, use the /FLAGS=DISUSER command; for example:
191
Chapter 7. Managing User Accounts
1. Disable the FIELD and SYSTEST accounts. Also disable any infrequently used accounts.
MODIFY username/FLAGS=DISUSER
For example:
$ RUN SYS$SYSTEM:AUTHORIZE
UAF> MODIFY WOLF/FLAGS=DISUSER
The login flag DISUSER disables the account and prevents anyone from logging in to the account.
To enable the account when it is needed, run AUTHORIZE and enter the command in the
following format:
In this example, the default device is set to the name most commonly used for user accounts that
will be added. Likewise, the working set value is set to a value appropriate for most users on the
system.
If you decide not to use the SYSTEM account for daily system management activities, you can still
receive mail from the SYSTEM account. To do this, log in to the SYSTEM account, invoke Mail, and
use the SET FORWARD command in the following format to forward the mail to another account:
For example:
$ MAIL
MAIL> SET FORWARD WINSTON::WOLF
MAIL> EXIT
Caution
Do not use DISUSER for user name SYSTEM if SYSTARTUP_VMS.COM submits batch jobs.
Disable all access except Batch in these cases.
Also, be careful not to disable all of your privileged system accounts. If you inadvertently do so,
you can recover by setting the system parameter UAFALTERNATE during a conversational boot
operation. See Chapter 4 for information about emergency startup procedures.
192
Chapter 7. Managing User Accounts
3. Enter the SHOW command (see example) to display a specific user record.
4. Enter AUTHORIZE commands such as ADD and MODIFY to create or change the information in
the fields of the UAF record.
See Section 7.11 for a list of privileges, limits, and quotas that you can specify in the resource control
and privileges fields of the UAF record.
Example
$ RUN SYS$SYSTEM:AUTHORIZE
UAF> SHOW WELCH
The following example shows a typical user record for a restricted user account. Callouts describe the
fields.
193
Chapter 7. Managing User Accounts
User identification fields contain information used by the system for accounting purposes and
user identification.
Default fields contain the default specifications for the following elements:
• Name of the command procedure to be executed automatically at login time. If the field is
blank, the system uses the default CLI (DCL), and executes SYS$LOGIN:LOGIN.COM by
default.
• Control the days of the week when various types of logins are permitted.
• Control the times of day when various types of logins are permitted.
Resource control fields control system resources by:
• Limiting the use of system resources such as physical memory and CPU time.
• Specifying the base priority used in scheduling the process that the system creates for the
user.
Privileges fields specify the privileges that allow use of restricted and sensitive system
functions.
Identifier fields list the ACL identifiers that the user holds and that are recorded in the rights
database file.
Attributes fields list the characteristics specified when adding identifiers to the rights database
or when granting identifiers to users.
194
Chapter 7. Managing User Accounts
3. Decide where the account's files will reside (which device and directory).
4. Use the System Management utility (SYSMAN) to add a disk quota entry for this UIC, if disk
quotas are in effect. You can do this only after you have created the user's account with the
Authorize utility.
5. Create a default directory on the appropriate volume, using the following DCL command format:
CREATE/DIRECTORY directory-spec/OWNER_UIC=uic
6. Determine the security needs of the account (that is, the level of file protection, privileges, and
access control).
These tasks are described in detail in the sections that follow. When you have completed the tasks for
preparing to add a user account, you are ready to add the account by following one of the methods
described in Section 7.6.
195
Chapter 7. Managing User Accounts
Captive accounts, on the other hand, often use a name that describes the function of the account.
Thus, an interactive or restricted account for Robert Jones might have a user name of JONES, while a
captive account for an inventory system might be called INV103289, which gives some indication of
the function of the account but is not easy to guess. Remember to assign unique user names.
For interactive accounts, it is best to let the person using the account control the password. Initially,
provide a password that is not easy to guess. The user will be forced to change the password at
first login. Only the person using the account should know the password. Encourage all users to set
obscure passwords of at least eight characters and to change them frequently, or force the use of
generated passwords with the /FLAGS=GENPWD and /GENERATE_PASSWORD qualifiers.
You can use the /PWDMINIMUM and /PWDLIFETIME qualifiers with the AUTHORIZE command
ADD or MODIFY to enforce timely password modifications. The following table lists the qualifiers
and specific action.
Qualifier Action
/PWDMINIMUM Specifies the minimum password length in
characters (default is 6).
/PWDLIFETIME Specifies a delta-time value. One week before
that date, the system issues a warning message to
the user. On that date, the password expires if it
has not been changed.
/GENERATE_PASSWORD Invokes a password generator to generate user
passwords.
/FLAGS=GENPWD Allows you to force use of the automatic
password generator when a user changes a
password. Consider using the password generator
for privileged accounts or whenever a user has
access to sensitive data.
For captive accounts, the degree of sensitivity of the data used by the account should determine the
type of password. For example, the password for a payroll application should be obscure, while the
password for a suggestions account might not even be required; it could be null (in which case users
would not be prompted for the password).
Prohibit users from changing the passwords of captive accounts. To do this, specify /
FLAGS=LOCKPWD when you create the captive account. Change the password whenever you feel it
might be compromised (for example, if a person using the account moves to another job).
To change a user's password, use the following command format at the UAF> prompt:
MODIFY user-name/PASSWORD=new_password
See the VSI OpenVMS System Management Utilities Reference Manual for more information about
AUTHORIZE.
196
Chapter 7. Managing User Accounts
The alphanumeric UIC consists of a member name and,optionally, a group name separated by a
comma and enclosed within brackets (for example, [DOCO,PRICE]).These identifiers might also
appear as numeric characters consisting of a group identifier and a member identifier in octal (for
example, [11,200]).
Assign accounts the same group number if their owners perform similar work, access the same files
frequently, or use many of the same logical names. See the VSI OpenVMS Guide to System Security
for a detailed discussion of the user identification code.
Note
VSI reserves UIC group 1 and groups 300–377.
1. Invoke SYSMAN.
3. Add a disk quota entry on the volume DISK$USER for UIC [014,JONES].The entry has a
permanent quota of 2000 blocks and an overdraft of 500 blocks.
Example
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/NODE=LARRY
SYSMAN> DISKQUOTA ADD [014,JONES]/DEVICE=DISK$USER/PERMQUOTA=2000/
OVERDRAFT=500
SYSMAN> EXIT
The sum of the quota and overdraft values is the absolute maximum number of blocks allotted to the
user, which in this example is 2500 blocks. For more information about SYSMAN and establishing
disk quotas, see the VSI OpenVMS System Management Utilities Reference Manual.
Example
If you decided on an account name of JONES and a UIC of [014,1], you would enter the following
DCL command to create a default directory for the account on the volume DISK$USER:
197
Chapter 7. Managing User Accounts
$ CREATE/DIRECTORY DISK$USER:[JONES]/OWNER_UIC=[014,1]
The volume on which the directory is established depends on which devices you reserve for
interactive accounts and how much space is available on each.
The default file specification you provide the new account (when you run AUTHORIZE) should
be the name of the device and the name of the top-level directory you used in the DCL command
CREATE/DIRECTORY.
Users can further protect their files and subdirectories on an individual basis with the DCL command
SETSECURITY.
Section 7.9.2 describes how to set up a project account with ACL-based protection. For more
information about how to set up and edit ACLs, see the VSI OpenVMS Guide to System Security and
the VSI OpenVMS System Management Utilities Reference Manual.
By allowing a group of users to hold common identifiers,you can create a group protection scheme
that is more intricate than that provided by the UIC-based protection.
198
Chapter 7. Managing User Accounts
• A command procedure
2. Enter the following commands to set your default device and directory to SYS$SYSTEM and
invoke AUTHORIZE:
$ SET DEFAULT SYS$SYSTEM
$ RUN AUTHORIZE
UAF>
3. Use the AUTHORIZE command ADD to specify attributes in the UAF fields as shown in the
following example:
UAF> ADD JONES/PASSWORD=LPB57WM/UIC=[014,1] -
_UAF> /DEVICE=DISK$USER/DIRECTORY=[JONES] -
_UAF> /LGICMD=DISK$USER:[NEWPROD]GRPLOGIN -
_UAF> /OWNER="ROBERT JONES"/ACCOUNT=DOC
Choosing Qualifiers
This section lists the qualifiers that you can use when setting up an account with AUTHORIZE.
Table 7.6 lists the qualifiers under the account attribute that they affect. See Section 7.11.2 for a
detailed description of each qualifier. For a complete list of AUTHORIZE qualifiers, see the VSI
OpenVMS System Management Utilities Reference Manual.
199
Chapter 7. Managing User Accounts
You can modify ADDUSER.COM as appropriate for the needs of your system. To run
ADDUSER.COM, log in to the SYSTEM account and enter the following command:
$ @SYS$EXAMPLES:ADDUSER.COM
ADDUSER.COM prompts you to enter values in a number of UAF record fields. If you press Return
without specifying a value for a field, ADDUSER supplies the following default values:
200
Chapter 7. Managing User Accounts
The UIC must be unique for the system. For example, each account in the UIC group 200 must have a
unique member number. You can list the UICs currently assigned to users by entering a question mark
( ? ) after the UIC member number prompt. The account is not created until you have answered all of
the questions in the procedure. The procedure has the following final prompt:
Is everything satisfactory with the account [YES]?
If you press Return, the account is created and remains in SYSUAF.DAT as specified. If you enter
NO, the account is removed.
Note
If you press Ctrl/Y before, during, or directly after the system displays the characteristics of the
account(that is, before you respond to the “satisfactory?” prompt), the account, or portions of it, will
still be added.
Make sure users log in to their accounts promptly to change the password.
• Define symbols
201
Chapter 7. Managing User Accounts
Login command procedures are useful for saving keystrokes and standardizing operations.
In establishing login command procedures for interactive accounts, you have the following choices:
Login Command Description
Procedure
System As system manager, you normally create and maintain a standard login
command procedure in the system directory (the file is usually named SYS
$MANAGER:SYLOGIN.COM). You then assign the logical name SYS
$SYLOGIN to the name of the file so that whenever a user logs in, the
procedure is executed.
Individual For any or all accounts, you can specify an additional login command
procedure with the /LGICMD qualifier of the AUTHORIZE commands ADD,
MODIFY, or COPY. You can give the login command procedure any valid file
specification. Whenever the user logs in, the additional procedure is executed
after SYS$SYLOGIN.
User-specified If system (and, optionally, individual)login command procedures are not
command file implemented, the system looks for a command file called LOGIN.COM in the
user's login directory as defined by the UAF (user authorization file) record
device and directory fields. If the file is found, the system executes it. The
user develops and maintains this command file, which should follow these
conventions:
• Device and directory names must take the default file specification for the
account.
You can provide an aid to new users by copying a login command procedure
template into newly created top-level directories. However, to ensure proper
ownership of the file, change the owner UIC (user identification code) of the
file to that of the user. Make this change with the DCL command SET FILE/
OWNER.
202
Chapter 7. Managing User Accounts
As the example shows, you can disable the Ctrl/Y function (which suspends execution of the current
image and invokes the command interpreter) to force execution of the complete login command
procedure whenever the user logs in. Do this with the DCL command SETNOCONTROL=Y. Before
the login command procedure exits, add the DCL command that resets the Ctrl/Y function (SET
CONTROL=Y).
Example 7.2 shows typical abbreviations and symbols that a user might define in a login file.
Example 7.2. Sample Login Command Procedure (LOGIN.COM) for a User Account
$ SET NOON
$ SET PROTECTION=(S=RD,O=RWED,G=R,W=R)/DEFAULT
$ !
$ ! Define abbreviations for often used commands
$ !
$ DIR*ECTORY == DIRECTORY/DATE/SIZE
$ PU*RGE == PURGE/LOG
$ DE*LETE == DELETE/LOG/CONFIRM
$ !
$ !
$ ! Other useful abbreviations
$ !
$ SHP == "SHOW PROCESS/PRIVILEGES"
$ PRI*NT == "PRINT/NOTIFY"
$ SHD == "SHOW DEFAULT"
$ UP == "SET DEFAULT [-]"
$ SP == "SET PROCESS/PRIVILEGES="
$ SQ == "SHOW QUEUE/BATCH/ALL/DEVICE"
$ H*OME == "SET DEFAULT SYS$LOGIN"
$ SUB*MIT == "SUBMIT/NOTIFY"
$ SYS == "SHOW SYSTEM"
$ DAY == "SHOW TIME"
$ !
$ ! Set /LOG for all commands
203
Chapter 7. Managing User Accounts
$ !
$ BACK*UP == "BACKUP/LOG"
$ DEL*ETE == "DELETE/LOG"
$ LIB*RARY == "LIBRARY/LOG"
$ PUR*GE == "PURGE/LOG"
$ REN*AME == "RENAME/LOG"
$ !
$ ! End of LOGIN.COM processing
$ !
$ GOTO 'F$MODE()
$NETWORK:
$ EXIT
$INTERACTIVE:
$ VN == "SET TERMINAL/WIDTH=80"
$ VW == "SET TERMINAL/WIDTH=132"
$ EXPERT == "SET MESSAGE/NOFACIL/NOSEVER/NOIDENT"
$ NOVICE == "SET MESSAGE/FACILITY/SEVERITY/IDENTIF"
$ NOVICE
$ !
$ ! Symbols for network users
$ !
$ SYSA == "SET HOST SYSA"
$ SYSB == "SET HOST SYSB"
$ SYSC == "SET HOST SYSC"
$ EXIT ! End of interactive login
$BATCH:
$ SET VERIFY ! End of batch login
$ EXIT
Example
$ LO*GOUT:==@SYS$MANAGER:SYLOGOUT
The last line of the logout command procedure then uses an alternate form of the LOGOUT
command, such as a LOGOUTNOW command. (You can create any command name you like
beginning with LO.) You cannot use the same abbreviation as used for the symbol (in this case LO)
because it will start the procedure again. As an alternative, you could add the following command,
just above the last line:
$ DELETE/SYMBOL/GLOBAL LOGOUT
Note that this technique works in some situations but it is not foolproof;there are many alternative
ways to terminate a process.
204
Chapter 7. Managing User Accounts
Examples
1. When a user forgets a password and cannot log in, use the AUTHORIZE command MODIFY/
GENERATE_PASSWORD to reset a user password. For example, the following command
generates a new password for user WELCH:
UAF> MODIFY WELCH/GENERATE_PASSWORD
By default, after logging in, user WELCH must change the password.
2. Any changes that you make to a user's record will take effect afterthe user next logs in. For
example, suppose that user JONES currently has an open file quota (FILLM) of 20. To increase
user Jones' open file limit to 40,you would use the following command in AUTHORIZE:
UAF> MODIFY JONES/FILLM=40
Any process of user JONES that is logged in at the time that you modify the user authorization
file continues to have a file limit of 20. In order to have an open file limit of 40, user JONES must
log out and then log in again, after you have made the modification to the user authorization file
(UAF) using AUTHORIZE.
• Account owner
• User name
• UIC
• Account names
• Privileges
• Process priority
Use the /FULL qualifier to create a full report of all the information (except user passwords)
contained within the UAF.
Example
The following example writes a brief report of the UAF to the output file SYSUAF.LIS:
UAF> LIST
%UAF-I-LSTMSG1, writing listing file
%UAF-I-LSTMSG2, listing file SYSUAF.LIS complete
205
Chapter 7. Managing User Accounts
The system displays the same messages when you use the /FULL qualifier. However, a full report is
written to the output file.
• Create additional default records to serve as templates for new categories of users
With the Authorize utility, you can perform these maintenance operations by modifying or deleting
records in the UAF.
Before you create additional default records, you must make the following decisions:
Examples
1. The following command creates a default record for a category of user that requires a special
captive account:
UAF> ADD DEFAULT2/LGICMD=ALT_COM_PROC/FLAGS=CAPTIVE -
_UAF> /DEVICE=USER3:/DIRECTORY=[PRODUCT]
The command in this example uses the system-supplied default record DEFAULT to create the
record DEFAULT2 and changes the LGICMD, login flags, default device, and default directory
fields.
2. You can then use the AUTHORIZE command COPY to create additional records having the same
attributes as DEFAULT2.The COPY command creates a new UAF record that uses the specified
default record except where you explicitly override field values.
UAF> COPY DEFAULT2 PALOOKA/PASSWORD=W7YA84MI/UIC=[360,114]
This example uses DEFAULT2 as a template to create a duplicate record for the user PALOOKA.
Notice that only the password and UIC values are changed.
206
Chapter 7. Managing User Accounts
1. Copy (or have the outgoing user of the account copy) any files of value to the ownership of
another account. Be sure to change the owner UIC of the files to match the owner UIC of the new
owner. You can also use the Backup utility (BACKUP) to save the files to a backup tape or disk.
2. Change the password and log in as a user of that account if you are working from a nonprivileged
account. This avoids inadvertently deleting files that might point to other files of different
ownership.
3. Delete the account's files and directories from the deepest level up to the top level, using the
following procedure:
a. Locate and examine all subdirectories using the DCL command DIRECTORY [directory-spec
…], where directory-spec is the name of the account's default directory.
b. Delete the files in each subdirectory, and then delete the subdirectory. Note that directory files
are protected against owner deletion; therefore, you must change the protection before deleting
directory files.
c. Delete the account's top-level directory. The command procedure in the next example deletes
an account's files from the bottom level up. Do not, however, execute this command procedure
from a privileged account.
4. Exit from the user account and return to a privileged account. Remove the user's account, using
the Authorize utility (AUTHORIZE).
When you run AUTHORIZE to remove a user's UAF record, AUTHORIZE also removes the
user's connections as a holder of identifiers in the rights database. However, if a departed user is
the only remaining holder of a given identifier, remove that identifier to avoid future confusion.
See the VSI OpenVMS Guide to System Security.
5. Remove the user's disk quota entry from the disk quota file, if one existed, with SYSMAN.
6. Remove associated mail information by entering the MAIL command REMOVE username. (See
the OpenVMS User’s Manual for more information.)
Note
Do not execute this command procedure from a privileged account.
207
Chapter 7. Managing User Accounts
Examples
1. The following example of a BACKUP command is used to remove files:
$ BACKUP/DELETE PUBLIC:[...]/BY_OWNER=[21,103] MTA0:PUBLICUIC.SAV
This BACKUP command copies and deletes only those files owned by the specified UIC on disk
PUBLIC. The files are copied into a save set named PUBLICUIC.SAV on device MTA0. Note
that the BACKUP/DELETE command does not delete the directory files (file type .DIR) for the
account.
See Section 9.13.3 for a complete description of how to recover lost files. See the VSI OpenVMS
System Management Utilities Reference Manual for information on using the Analyze/
Disk_Structure utility.
208
Chapter 7. Managing User Accounts
Task Section
Setting day types Section 7.8.1
Restricting logins to specific times Section 7.8.2
Restricting CPU time Section 7.8.3
Restricting login functions Section 7.8.4
Using login command procedures for restricted or captive accounts Section 7.8.5
Setting priorities for user processes Section 7.8.6
For a detailed description of the qualifiers used to restrict the use of accounts, see the Authorize utility
section in the VSI OpenVMS System Management Utilities Reference Manual.
You can assign two types of login restrictions to either day type:
Restriction Description
Time restrictions Limits logins to specific hours of the day
Function restrictions Limit types of login
The default user record defines the five weekdays (Monday through Friday) as PRIMARY days, and
the two weekend days (Saturday and Sunday) as SECONDARY days.
The way you define days and assign restrictions depends on your site. For example, suppose that
on weekdays your system supports a large number of interactive users, but on weekends it is used
for certain operations that require dedicated system resources. By assigning restrictions to the
SECONDARY day type, you can restrict users from accessing the system during the days defined
as SECONDARY. You can change these day type definitions for any account using the following
AUTHORIZE qualifier:
/PRIMEDAYS=([NO]day[,...])
The /PRIMEDAYS qualifier uses a list of day names to define the PRIMARY and SECONDARY
days of the week. To define a day as a SECONDARY day, use the prefix NO before the day name.
Any days you omit from the list take their default value.
209
Chapter 7. Managing User Accounts
Qualifier Meaning
/[NO]ACCESS Specifies access hours for all modes of logins
/[NO]DIALUP Specifies access hours for interactive logins from dial up terminals
/ Specifies access hours for interactive logins from any terminal
[NO]INTERACTIVE
/[NO]LOCAL Specifies access hours for interactive logins from local terminals
/[NO]REMOTE Specifies access hours for interactive logins from network remote terminals
(SET HOST)
Interactive users still logged in when the access time has expired receive the following warning
message and have 2 minutes to log out before their processes are terminated by the job controller:
Note that network connections are treated differently than interactive connections and batch jobs.
See the documentation for the network software you are running for information about disconnecting
established network connections.
You can limit the amount of CPU time that a user receives on the system by placing the user into
a scheduling class.Each scheduling class is assigned a percentage of the overall CPU time on the
system. As the system runs, the set of users in each scheduling class is limited to the percentage of
CPU execution time allocated to that class. Users in a scheduling class can get additional CPU time
if windfall is enabled for their scheduling class. Enabling windfall allows the system to give a small
amount of CPU time to a scheduling class when a CPU is idle and the time allotted to that scheduling
class has already been depleted.
To invoke the class scheduler, use the SYSMAN interface. SYSMAN allows you to create, delete,
modify, suspend, resume, and display scheduling classes. Table 7.7 describes the SYSMAN
command, class_schedule, and its sub-commands.
210
Chapter 7. Managing User Accounts
Sub-command Function
Resume Resumes a scheduling class
By using a permanent class scheduler, a process is placed into a scheduling class, if appropriate, at
process creation time. When anew process is created, it needs to be determined whether this process
belongs to a scheduling class. Since to determine this relies upon data in the SYSUAF file, and the
Loginout image already has the process' information from this file, Loginout class schedules the
process if it determines that the process belongs to a scheduling class.
When you use the SYSMAN command CLASS_SCHEDULE ADD, you can do the following:
• Specify the percent of CPU time allotted to processes run by users in this scheduling class on
primary days and secondary days and specify hourly ranges on during which the CPU time
restriction applies
• Specify days as either primary days or secondary days, and specify different CPU time restrictions
for primary days and secondary days
• Allow a scheduling class to receive additional CPU time when the CPU is idle
For example:
SYSMAN>
CLASS_SCHEDULE ADD MAINCLASS -
_SYSMAN> /ACCOUNT = (ACCTNAME1, ACCTNAME2) -
_SYSMAN> /USERNAME = HOTSHOT -
_SYSMAN> /CPU_LIMIT = (PRIMARY, 08-17=15, SECONDARY, 00-23=30) -
_SYSMAN> /WINDFALL
• Allots processes run by users in MAINCLASS 15 percent of CPU time between 8 am and 6 pm on
primary days (default Monday through Friday)
• Allots processes run by users in MAINCLASS 30 percent of CPU time all day (24 hours) on
secondary days (default SATURDAY and SUNDAY)
• Allows process run by users in MAINCLASS to receive extra CPU time during the specified days
and times when the CPU is idle
Note that you can use the /PRIMEDAYS qualifier to change the primary and secondary days assigned
to a scheduling class.
CPU time restrictions created with the class scheduler do not apply to system users (see
Section 12.4.2).
211
Chapter 7. Managing User Accounts
For more detailed information about the SYSMAN CLASS_SCHEDULE command, see the VSI
OpenVMS System Management Utilities Reference Manual: M-Z.
Keyword Meaning
[NO]AUDIT [Do not] audit all security-relevant actions.
[NO]AUTOLOGIN [Do not] prevent access except by automatic login
when automatic logins are enabled.
[NO]CAPTIVE [Do not] prevent user from changing any defaults
at login (implies DISCTLY).
212
Chapter 7. Managing User Accounts
Keyword Meaning
[NO]RESTRICTED [Do not] prevent user from changing any defaults
at login.
• Disable the use of Ctrl/Y (/FLAG=DISCTLY); however, a system manager can enable the Ctrl/Y
sequence for a restricted account by adding the DCL command SET CONTROL=Y at the end of
the login procedure.
• Prevent the use of the SPAWN command from Mail or the useof the SPAWN built-in procedure
from the DEC Text Processing Utility (DECTPU).
Once logged in, a person using a restricted account operates from the DCL level and can access any
available software.
A person using a captive account is locked into the application software where access to the DCL
level is denied, provided the system manager observes the following practices:
• When you need to prompt for and accept direct user input, do not execute the text entered by the
user directly; rather, first screen the input, and specifically permit only the set of characters that is
valid for the intended use. Reject all characters that are not appropriate for the intended use.
Prohibit the following character set from user input, as these characters have special meanings to
the DCL command interpreter:
• Use the DCL command READ/PROMPT in captive account login command procedures because
the INQUIRE command is not allowed.
• Set the subprocess limit to 0 to prevent the user from spawning out of the account. Set both the /
PRCLM qualifier and the SYSGEN parameter PQL_MPRCLM.
Example
A simple login command procedure for a captive account used for an inventory system might consist
of the following commands:
213
Chapter 7. Managing User Accounts
The application program INVENTORY assumes control when the user logs in to the account. Assign
the CAPTIVE flag to the login flags field of the captive account UAF record by specifying the
AUTHORIZE qualifier/FLAGS=CAPTIVE. Section 7.7.4 shows how to use AUTHORIZE to create a
UAF record for a captive account.
Example 7.4 is a command procedure for a highly secure captive account, which restricts the user to
a very limited set of commands. System managers must be sure to deny the account owner any write
access to the login command procedure and its directory. Note also that the security manager would
use the AUTHORIZE qualifier /NOINTERACTIVE when establishing this account.
For more information about captive and restricted accounts, see the VSI OpenVMS Guide to System
Security.
214
Chapter 7. Managing User Accounts
$ goto next_command
On VAX systems,priorities range in value from a low of 0 to a high of 31; 0 through 15 are
timesharing priorities; 16 through 31 are real-time priorities.
On Alpha and I64 systems,priorities range in value from a low of 0 to a high of 63; 0 through 15 are
timesharing priorities; 16 through 63 are real-time priorities.
Processes with real-time priorities are scheduled strictly according to base priority; in other words,
the executable real-time process with the highest base priority is executed first. Processes with
timesharing priorities are scheduled according to a slightly different principle to promote overlapping
of computation and I/O activities.
In the user's account record of the UAF, the default value of a user's priority is 4; for practical
purposes, the minimum value is 0. Ensure that the priority for timesharing users remains at
the default. Note that if you give some users an advantage over other users by raising their
priorities,ragged performance results, because the system reacts sharply to even small base priority
differences.
Task Section
Setting up an automatic login account with SYSMAN Section 7.9.1
Setting up a project account with ACL identifiers Section 7.9.2
Creating network proxy authorization files Section 7.9.4
Adding proxy accounts Section 7.9.5
Removing proxy accounts Section 7.9.6
Displaying proxy accounts Section 7.9.7
Controlling proxy logins Section 7.9.8
First, you must follow the steps described in the previous sections to create the top-level default
directory and to add the account. Then you can associate the account with a particular terminal or port
using the following format:
215
Chapter 7. Managing User Accounts
where:
device is the terminal or port name that you want to assign to a user name. Note that
device must be a terminal name if you do not specify qualifiers on the command
line.
user is the account user name that you want to assign to a particular terminal or port.
/TERMINAL causes SYSMAN to treat device as a terminal name. This is the default behavior.
/PORT causes SYSMAN to treat device as a port name. If the port name contains a
special character such as a slash ( / ) or if it contains lowercase letters that you
want to preserve, you must enclose the port name within quotation marks.
Be aware that anything within quotation marks is written literally to the ALF
database file. For example, if the actual port name contains uppercase letters
as well as special characters, be sure to specify uppercase letters within the
quotation marks. Otherwise, a mismatch will occur between the actual port name
and what is specified in the SYSALF.DAT file.
/PROXY causes SYSMAN to check that device is in the NODE::USERNAME format,
which can be up to 63 characters in length.
/LOG causes SYSMAN to display a message that the device and user have been added
to the ALF database.
To protect automatic login accounts, set the AUTOLOGIN flag in the account's UAF record. This flag
makes the account available only by autologin, batch, and network proxy.
Examples
The following example shows how to invoke SYSMAN and assign terminal TTA0 to the
INVENTORY25 account:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> ALF ADD TTA0 INVENTORY25
When you create ALF records for proxy accounts, the device parameter can be as long as 63
characters. For example:
For more information about autologin accounts and the SYSMAN ALF commands, see the VSI
OpenVMS System Management Utilities Reference Manual and the VSI OpenVMS Guide to System
Security.
216
Chapter 7. Managing User Accounts
You can set up the project account so that disk space is charged to the project, rather than to individual
users, by assigning the resource attribute to the project identifier.
Example
The following example summarizes the steps for setting up a project account:
1. Set up individual user accounts for each member sharing the project account (as described in
Section 7.5 and Section 7.6 on adding a user account).
2. Create the project identifier with the resource attribute and grant it to those users who will have
access to the project account. In the example that follows, the project identifier KITE_FLYING is
given the resource attribute. This identifier is then granted to users GEORGE and LINDORF:
$ RUN SYS$SYSTEM:AUTHORIZE
UAF> ADD/IDENTIFIER KITE_FLYING/ATTRIBUTES=RESOURCE
{message}
UAF> GRANT/IDENTIFIER KITE_FLYING GEORGE/ATTRIBUTES=RESOURCE
{message}
UAF> GRANT/IDENTIFIER KITE_FLYING LINDORF/ATTRIBUTES=RESOURCE
{message}
UAF> EXIT
3. Create the disk quota authorization for the project identifier. For example, the following command
invokes SYSMAN and assigns the identifier KITE_FLYING 2000 blocks of disk quota with 200
blocks of overdraft:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> DISKQUOTA ADD KITE_FLYING/PERMQUOTA=2000/OVERDRAFT=200
SYSMAN> EXIT
4. Create the project directory. For example, the following DCL command creates the project
directory [KITE_FLYING] and establishes the identifier KITE_FLYING as the owner:
$ CREATE/DIRECTORY [KITE_FLYING]/OWNER=[KITE_FLYING]
5. Set up the necessary ACL and default ACL on the project directory. For example, the following
DCL command places an ACL on the directory[KITE_FLYING] that permits any holder of the
identifier KITE_FLYING to gain read, write, or execute access to the directory; it also ensures that
files created in the directory receive the same ACE (access control list entry) as a default:
Access must be granted through ACL entries, because the owner identifier of the directory and the
files (KITE_FLYING) does not match the UIC of any of the project members; thus, only world access
is available through the UIC-based protection mask. The first ACE of the specified ACL gives all
217
Chapter 7. Managing User Accounts
project members read, write, and execute access to the directory; the second ACE gives them read,
write, and execute access for all files created in the directory.
Note that project members are not allowed to delete (or control) files created by others. However,
the members each have complete access to files that they have created in the directory, because the
file system supplies an additional default ACL entry that grants to the creator control access plus the
access specified in the OWNER field of the UIC-based protection mask. This ACE appears only when
the owner of the created file does not match the UIC of the creator.
Thus, when LINDORF creates the file [KITE_FLYING]THURSDAY.TXT, the file receives the
following access control list by default:
(IDENTIFIER=LINDORF,OPTIONS=NOPROPAGATE,
ACCESS=READ+WRITE+EXECUTE+CONTROL
(IDENTIFIER=KITE_FLYING,ACCESS=READ+WRITE+EXECUTE)
You can use the Creator ACE command in the ACL editor to add an extra ACE to the ACL for a file
created within the directory to which you assign the Creator ACE. The Creator ACE applies only
when the following conditions exist:
• The file being created is not owned by the user identification code (UIC) of the process creating
the file.
• The process creating the file does not have system privileges.
See the VSI OpenVMS System Management Utilities Reference Manual and the VSI OpenVMS
Guide to System Security for more information about the Creator ACE.
With proxy accounts, you can authorize one or more users on a remote node to enter DCL commands
that access data from a particular account on your system. Proxy accounts allow remote users to
access specific local data (for example,type and print files) without having to log in to your system or
use an access control string. Remote users assume the same file access rights as the local account and
also receive the default privileges of the local account. The following sections explain the procedures
for setting up proxy accounts.
For more information about proxy accounts, see the VSI OpenVMS Guide to System Security.
A proxy account permits an authorized user from a remote node to log in to a local node, as if the user
owned an account on the local node. Proxy accounts are created and maintained using the Authorize
218
Chapter 7. Managing User Accounts
utility (AUTHORIZE).See the VSI OpenVMS System Management Utilities Reference Manual for
more information about the Authorize utility.
On OpenVMS systems, the following information is stored in two proxy authorization files,
NETPROXY.DAT and NET$PROXY.DAT:
Note
Deleting either NETPROXY.DAT or NET$PROXY.DAT will result in incorrect functioning of proxy
access on systems running DECnet for OpenVMS Phase IV. Also, many applications such as ALL-
IN-1 rely on NETPROXY.DAT.
The SYSUAF.DAT file, on your local system, must associate proxy accounts with user accounts. You
will probably want to create a “standard access”account in the UAF for proxy accounts. For example,
you could create an account named REMOTE_MKT with limited privileges, which allows access to
certain data files on your local system.
Suppose you have a group of users on your local system who prepare marketing reports and who
rely on input from users on other systems. You would assign the REMOTE_MKT account in
SYSUAF.DAT the same group number and default privileges you assign to the local marketing group.
In this way, the remote contributors could access any data files that are “owned” by users in your
marketing group and that are not protected from group access.
You can allow remote users access to up to 16 total local accounts: 1 default proxy account and 15
alternate proxy accounts. Use the /DEFAULT qualifier to specify the default proxy account.
Examples
1. The following command adds a user proxy account:
219
Chapter 7. Managing User Accounts
Assume that you have created three accounts named REMOTE_MKT, PROXY2,and PROXY3
on your home node. The entry in this example permits the user WALTER on remote node HAL
to access data by way of the REMOTE_MKT account on your home node. WALTER can access
any data from his node that REMOTE_MKT can access locally. To access data through either
PROXY2 or PROXY3, WALTER must specify the desired proxy account in the access control
string of the DCL command used to perform network file operations.
Caution
Because the remote user receives the same privileges as the local user, do not set up proxy accounts
associated with local accounts that have special privilege. Granting remote users such access powers
poses a threat to the security of your system.
2. You can specify remote users by user name or, for remote systems that do not recognize the user
name syntax, by UIC. The following example allows the user associated with the UIC [360,54] on
remote node RSTS32 proxy access to the GENERIC account on the local node:
UAF> ADD/PROXY RSTS32::[360,54] GENERIC/DEFAULT
3. A number of your users might have accounts on a remote node and require ready access to their
local files. You can create a network proxy authorization file record that grants access to each of
them, provided the user name on your system is the same as the user name on the remote node.
The following form of the ADD/PROXY command adds such a record:
UAF> ADD/PROXY HAL::* */DEFAULT
This command authorizes any user on the remote node HAL to access any account with the same
user name on your system.
Similarly, you might want to permit this sort of access for just one user:
UAF> ADD/PROXY HAL::BARBARA */DEFAULT
4. On systems running DECnet-Plus, the system adds network proxies to the network proxy
authorization file NET$PROXY.DAT using DECnet-Plus full names. For example:
UAF> ADD/PROXY RUBY::DELAPORT DELAPORT/DEFAULT,SYSTEM
%UAF-I-NAFADDMSG, proxy from OMNI:.US.RUBY::DELAPORT to DELAPORT added
%UAF-I-NAFADDMSG, proxy from OMNI:.US.RUBY::DELAPORT to SYSTEM added
This example adds proxy access from RUBY::DELAPORT to the local accounts DELAPORT (the
default) and SYSTEM.
The system additionally stores node synonyms in NETPROXY.DAT for use by DECnet for
OpenVMS and for backward compatibility for layered products.
This command removes proxy access from RUBY::DELAPORT to the local SYSTEM account.
220
Chapter 7. Managing User Accounts
The following examples assume that proxy access from RUBY::DELAPORT to the local account
DELAPORT has been added to the network proxy authorization file as the default. (The second
example shows the DECnet-Plus equivalent of RUBY::DELAPORT.)
Examples
1. On systems running DECnet for OpenVMS, the system displays the following type of
information:
UAF> SHOW/PROXY *::*
2. On systems running DECnet-Plus, the system displays information in full names format:
UAF> SHOW/PROXY *::*
You can display information in the old format NETPROXY.DAT database by using the /OLD
qualifier with the SHOW/PROXY command; for example:
UAF> SHOW/PROXY/OLD *::*
On systems running DECnet for OpenVMS, you can change proxy access or disable it totally by using
the Network Control Program (NCP).The DECnet for OpenVMS Networking Manual describes how
to use NCP to control proxy access.
On systems running DECnet-Plus software, you can change proxy access by using the Network
Control Language utility (NCL). The manual describes how to use NCL.
Note
For information about proxies and user authentication when using TCP/IP Services, see the VSI TCP/
IP Services for OpenVMS Management.
221
Chapter 7. Managing User Accounts
• Change a user's mail profile; for example, change a user name or specify a default print queue for
the account
• Set a forwarding address for a user who has moved to another location
With SYSNAM, you can change the mail forwarding address for a user (including one without an
account) on the system with the Mail utility command SET FORWARD/USER= user.
Flag Meaning
[NO]DISNEWMAILEnables or disables the display of the new mail count when the user logs in to
the system.
[NO]DISMAIL Allows or restricts the receipt of new mail.
In most cases, Alpha and I64 systems present to users, and accept from users, units of memory in a
512-byte quantity called a pagelet. Thus, one pagelet is the same size as one VAX page. Also, on an
Alpha or I64 8KB computer, 16 pagelets equal 1 Alpha or I64 page. The following conversion table
shows the relationship between pages, pagelets, and bytes:
222
Chapter 7. Managing User Accounts
Authorize utility commands, parameters, and default values are identical. However, the default values
for process quotas related to memory use might be inappropriate for some Alpha and I64 system
users.
See Comparison of System Management on OpenVMS AXP and OpenVMS VAX for more
information about Alpha and I64 system management. (This manual has been archived.)
Limits control the way in which a process shares its allotment of a resource with the subprocesses
it creates. In addition to restricting the number of processes that a single user or account has at any
given time, the system uses four types of limits for sharing resources. Table 7.1 describes these limits.
When you create an account, you assign values to the limits shown in Table 7.8. These limits are
described in the following sections. Usually, you simply assign the default values for these quotas.
However, see the OpenVMS Performance Management for a discussion of how to evaluate and adjust
the limits in the context of performance optimization strategies.
Table 7.8 summarizes each of these limits, the value supplied in the UAF record for the SYSTEM and
DEFAULT accounts, and the type of limit.
Table 7.8. Limits and Suggested Values for SYSTEM and DEFAULT Accounts
Quota Type Description
a
ASTlm Nondeductible AST queue limit
a
BIOlm Nondeductible Buffered I/O count limit
a
Bytlm Pooled Buffered I/O byte count limit
CPUa Deductible CPU time limit (0 = no limit)
a
DIOlm Nondeductible Direct I/O count limit
a
Enqlm Pooled Enqueue quota
a
Fillm Pooled Open file limit
a
JTquota Pooled Initial byte quota for jobwide logical name table
Maxacctjobs Systemwide Maximum active processes for a single account(0 = no
limit)
Maxdetach Systemwide Maximum detached processes for a single user name (0 =
no limit)
Maxjobs Systemwide Maximum active processes for a single user name (0 = no
limit)
Pgflquoa Pooled Page file limit
Prclm Pooled Subprocess creation limit
a
TQElm Pooled Timer queue entry limit
a
WSdef Nondeductible Default working set size
223
Chapter 7. Managing User Accounts
Table 7.9 shows the names and descriptions of the SYSTEM and DEFAULT accounts whose values
are listed in Table 7.8.The /EXPIRATION qualifier is also described in Table 7.9.
This limit affects all system services that accept an AST address as an
argument, and the Schedule Wakeup ($SCHDWK) system service.
224
Chapter 7. Managing User Accounts
Account Description
The time must be specified in abbreviated delta format hh:mm:ss.cc.
In a direct I/O operation, the data transfer takes place directly from a
process-specified buffer. Direct I/O operations for a user process typically
include disk and tape I/O. The pages containing this buffer are locked in
memory by the operating system during the direct I/O operation.
For shared files, the value of Enqlm should represent the number of files
open as shared multiplied by the number of locks per process per file.
• If you use the default multibuffer counts, estimate the number of locks
as 4 for indexed sequential files and 3 for relative files.
• If you use a value other than the default value for the multibuffer
counts, estimate the number of locks per process per file as 1 per file,
plus the multibuffer count for that file,plus the number of records
locked, which is usually one.
Prior to OpenVMS Version 7.1, the limit for Enqlm was 32767.Setting
Enqlm to this former maximum value automatically scales Enqlm
internally to the architectural maximum value. Thus, in effect, the process
has an unlimited enqueue quota but does not need the privilege to ignore
quotas.
225
Chapter 7. Managing User Accounts
Account Description
Use the DCL command SHOW RMS_DEFAULT to display the default
multibuffer counts.
Fillm is a pooled limit. Note that each open file also requires at least 96
bytes of Bytlm. Note that PQL_MFILLM overrides the account's value
for Fillm if PQL_MFILLM is larger than Fillm.
Job Table Quota Specifies the initial byte quota with which the jobwide logical name table
(JTquota) is to be created.
226
Chapter 7. Managing User Accounts
Account Description
The process created when a user logs in to the system can in turn create
subprocesses. These subprocesses are all accountable to the user and
share the resources allotted to the initial process.
This limit does not govern the creation of permanent event flag clusters.
227
Chapter 7. Managing User Accounts
228
Chapter 8. Managing Peripheral
Devices
System managers are often responsible for setting up and managing peripheral devices such as
terminals and printers. This chapter describes these tasks. For information about managing storage
media such as disks and tapes, see Chapter 9.
Task Section
Getting information about devices on the system Section 8.3
Setting security protection characteristics on devices Section 8.4
Connecting devices and loading device drivers Section 8.5
Automatically configuring devices for OpenVMS Alpha systems Section 8.6
Managing terminals Section 8.7
Managing modems Section 8.8
Managing printers Section 8.9
Managing tape drives Section 8.10
dag
Managing card readers Section 8.11
dag
VAX specific
Concept Section
Device names Section 8.1
Add-on I/O adapter and console names Section 8.2
Device configuration Section 8.6.1
Spooled printers Section 8.9.2
Local Digital Storage Architecture (DSA) devices use a controller letter of “A” regardless of the
physical controller the device resides on. Preceding the letter “A”:
• All local DSA disk devices are named DUA n, where n is a unique disk unit number.
• All local DSA tape devices are named MUA n, where n is a unique tape unit number.
Use of a single controller letter requires that the unit number for each local DSA device be unique.
Duplicate unit numbers are possible if the local disks reside on different controllers.
If the system is part of an OpenVMS Cluster environment, device names are formatted in one of the
following ways:
229
Chapter 8. Managing Peripheral Devices
• If the device is attached to a single computer or hierarchical storage controller (HSC) subsystem,
the device name includes the node name in the format node$ddcu, where node refers to the node
name of the system that the device resides on.
• If the device is to be accessed (or dual-ported) by two computers or HSC subsystems, you must
identify the device with a unique, path-independent name that includes an allocation class.
The allocation class is a numeric value from 1 to 255, which is used to create a device name in the
form $allocation-class$device-name. For example, the allocation class device name $11$DUA8
identifies a disk that is accessed by two computers or HSC subsystems, both having an allocation
class of 11.
• If the device is connected to a SCSI bus and the system parameter DEVICE_NAMING is set to 1,
you can assign the device a port allocation class, a number from 0 to 32767 inclusive.
• If the device is assigned port allocation class 0, its name will be in the form node $ddcuuu. The
device cannot be located on a SCSI bus that is also attached to another CPU.
• If the device is assigned a nonzero port allocation class, its name will be in the form $allocation-
class$ddAuuu. The device can be located on a SCSI bus attached to another CPU, provided the
other CPU has assigned the same port allocation class to the SCSI bus.
For more information about the device name format in VAXcluster or OpenVMS Cluster
environments, refer to OpenVMS Cluster Systems.
For information about the naming conventions for Fibre Channel disk and tape devices, see
Guidelines for OpenVMS Cluster Configurations.
For example, on platforms prior to the EV6 systems (except the GS AlphaServer 140), the console
designation for a SCSI device on the integral SCSI adapter might be DKA100. However, when two
additional add-on SCSI adapters are added, the A designation becomes C, and DKA100 appears as
DKC100 when OpenVMS is running.
This discrepancy in device naming does not exist on EV6 and higher platforms.
Note that even when the console and OpenVMS device names are different, the unique specification
of a device name from the console to the device name under OpenVMS stays the same, provided add-
on SCSI or network adapters are not added or removed.
230
Chapter 8. Managing Peripheral Devices
When you invoke the SHOW DEVICES command and do not specify a device or use a qualifier, the
system displays information about all recognized devices.
Note
If a device does not appear in the display, it is not recognized by the system. The device may not be
connected, or the driver may not be loaded. For certain devices, you must manually connect them and
load their device drivers. For more information, see Section 8.5.
If you specify a device name with the SHOW DEVICE command, the system displays information
about the device you specified. If you use certain qualifiers with SHOW DEVICES, information is
displayed about those devices that currently have volumes mounted or that have been allocated to
processes. Refer to the VSI OpenVMS DCL Dictionary for a list of qualifiers that can be used with
the SHOW DEVICES command.
The following examples use the SHOW DEVICES command. Device protection is RWPL (read,
write, physical, logical).
The SHOW DEVICES/FULL examples include both volume protection and device protection. In
addition, if a volume has a protected subsystem enabled, it also appears in the display.
Examples
1. The following command shows all devices on the system:
$ SHOW DEVICES
Device Device Error Volume Free Trans
Mnt
Name Status Count Label Blocks Count
Cnt
$11$DUA9: (SNAP) Online 0
$11$DUA10: (SNAP) Mounted 2 PAGE 83643 3
26
$11$DUA13: (SNAP) Mounted 0 WORK1 192297 36
26
$11$DUA23: (SNAP) Online 0
$11$DUA24: (SNAP) Mounted 0 MONITORPLUS 776808 86
26
DAD0: (TULIP) Online 0
DAD9: (TULIP) Online 0
DAD44: (TULIP) Mounted wrtlck 0 CDBIN06JUL23 97947 1
1
ROSE$MUA0: Online 0
LAVNDR$MUA0: Online 0
TULIP$MUA1: Online 0
IRIS$MUA1: HostUnavailable 0
OPA0: Online 0
DBA0: Offline 0
FTA0: Offline 0
FTA239: Online 0
LTA0: Offline 0
LTA3401: Online spooled 0
LTA3402: Online spooled 0
RTA0: Offline 0
RTA1: Mounted 1
RTA2: Mounted 0
231
Chapter 8. Managing Peripheral Devices
RTB0: Offline 0
TXA0: Online 0
TXA1: Online 0
XT0: Offline 0
2. The following command requests a full listing of the status of the DAD42: RRD40 device. The
device is located on node IRIS in an OpenVMS Cluster environment.
3. The following command requests a full informational display about each DG device. This
display shows only the first two devices: the mounted $1$DGA5001: device and the unmounted
$1$DGA5004: device.
$ SHOW DEVICES/FULL DG
Disk $1$DGA5001: (CEAGLE), device type HSV110, is online, mounted, file-
oriented
device, shareable, device has multiple I/O paths, served to cluster via
MSCP
Server, error logging is enabled.
Error count 0 Operations completed 5773
Owner process "" Owner UIC [SYSTEM]
Owner process ID 00000000 Dev Prot S:RWPL,O:RWPL,G:R,W
Reference count 1 Default buffer size 512
Current preferred CPU Id 0 Fastpath 1
WWID 01000010:6005-08B4-0001-42DC-0001-F000-0111-0000
Total blocks 20971520 Sectors per track 128
Total cylinders 1280 Tracks per cylinder 128
Host name "CEAGLE" Host type, avail AlphaServer ES40, yes
Alternate host name "CLETA" Alt. type, avail AlphaServer ES40, yes
Allocation class 1
Volume label "5001" Relative volume number 0
Cluster size 21 Transaction count 1
Free blocks 19598208 Maximum files allowed 476625
Extend quantity 5 Mount count 9
Mount status System Cache name "“_$1$DGA3105:XQPCACHE"
232
Chapter 8. Managing Peripheral Devices
233
Chapter 8. Managing Peripheral Devices
REBUILD_STATUS qualifier with any other SHOW DEVICES qualifiers, except the /OUTPUT
qualifier.
For each volume, SHOW DEVICES/REBUILD_STATUS returns one of the following values:
Value Meaning
Yes Rebuild needed
No Rebuild not needed
Not applicable The volume cannot be rebuilt; the volume is not a disk or the volume is write-
locked
Information Rebuild information is not available; the volume is not mounted or mount
unavailable verification is taking place
• Dismount the volume and then mount the volume again using MOUNT /REBUILD
$ SHOW DEVICES/REBUILD_STATUS
Device Name Rebuild needed?
ADU15$DKA300: Information unavailable
EDIV$DKA300: Information unavailable
EMUL$DKB200: No
EMUL$DKB300: No
EMUL$DKB500: Yes
FTA0: Not applicable
OPA0: Not applicable
234
Chapter 8. Managing Peripheral Devices
• INITIALIZE
• MOUNT
• SET SECURITY/PROTECTION
• SET VOLUME
For more information about these commands, refer to the VSI OpenVMS DCL Dictionary.
By default, allocating a tape or disk device requires VOLPRO privilege. However, you can grant
access to unprivileged users in two ways:
• Add an ACL to the device and grant a general identifier to all users who should have access.
This example grants world read, write, and control access for the deviceDKA300.
235
Chapter 8. Managing Peripheral Devices
This example grants control access for the device DKA300 to users with the CHEKOV identifier.
1. Set the security template for a particular device type to allow access to a desired class of users.
Use a command such as the following one, which sets the template for disk devices:
This access will apply to all specified devices initialized in the future.
SYS$EXAMPLES:RESET_DEVICE_PROTECTION. COM
This command procedure applies the protection specified in the security template to all current
devices.
The AUTOCONFIGURE command connects all devices physically attached to the system and loads
their device drivers. Using AUTOCONFIGURE saves effort and reduces the possibility of error.
On Alpha and I64 systems, the following commands in STARTUP. COM perform autoconfiguration:
During autoconfiguration, the CONFIGURE phase of STARTUP. COM creates a detached process to
perform the following tasks:
• Make disk and tape devices served by OpenVMS hosts known to the system
236
Chapter 8. Managing Peripheral Devices
Note
For this discussion, an HS x device can be an HSC, HSG, or HSJ device.
In general, when you add a SCSI disk or tape, you should shut down the system and power down the
machine before you connect the device. When you power the system up, OpenVMS automatically
configures the device.
Some controllers, such as the HSZ series, allow you to quiesce the SCSI bus and then add or remove
a device. When you add a device, you must rerun AUTOCONFIGURE. Note however, that for served
storage devices, your system must be running the CONFIGURE process.
In certain cases, you might want to suppress autoconfiguration of devices in system startup. See the
following sections for more details.
• Virtual terminals
In addition to these devices, other devices and drivers might be present that AUTOCONFIGURE does
not connect and load. On VAX systems, use the System Generation utility (SYSGEN) to manually
connect devices and load device drivers.
For more information, refer to the SYSGEN section of the VSI OpenVMS System Management
Utilities Reference Manual and the OpenVMS VAX Device Support Manual. (The latter manual has
been archived. )
Caution
Use extreme care when issuing SYSGEN CONNECT and LOAD commands because the system does
little error checking. An incorrect vector address or misspelled device name, for example, will damage
the I/O database and could cause the system to fail.
237
Chapter 8. Managing Peripheral Devices
To manually connect special devices each time the system starts up, add these SYSGEN commands
to the site-specific startup command procedure SYCONFIG. COM. For more information, see
Section 5.2.4.1.
$ RUN SYS$SYSTEM:SYSGEN
SYSGEN> CONNECT CONSOLE
SYSGEN> EXIT
Note
This command may be different on some platforms. See the VAX installation and upgrade manual for
information about the console commands available for your specific platform.
Virtual Terminals
For information about connecting virtual terminals and loading their driver, see Section 8.7.2.
For information about configuring virtual terminals in conjunction with TCP/IP Services Telnet, see
VSI TCP/IP Services for OpenVMS Management.
Example
The commands in the following example autoconfigure the devices attached to a VAX system, and
connect the console block storage device and the network software device:
$ RUN SYS$SYSTEM:SYSGEN
SYSGEN> AUTOCONFIGURE ALL
SYSGEN> CONNECT CONSOLE
SYSGEN> EXIT
$ @SYS$MANAGER:STARTNET
238
Chapter 8. Managing Peripheral Devices
IO AUTOCONFIGURE does not connect or load the device driver for the network communications
logical device. In addition, other devices and drivers might exist that IO AUTOCONFIGURE does
not connect and load.
You can connect unattached devices and devices that have nonstandard names, as well as load device
drivers with the SYSMAN commands IO CONNECT and IO LOAD.
For more information, refer to the SYSMAN section of VSI OpenVMS System Manager’s Manual,
Volume 2: Tuning, Monitoring, and Complex Systems
Caution
Exercise great care in issuing IO CONNECT and IO LOAD commands. Incorrect use of these
commands could cause the system to fail.
The commands in the following example autoconfigure the devices physically attached to the Alpha
or I64 system, load their drivers, and connect the network software device:
Virtual Terminals
For information about connecting virtual terminals and loading their driver, see Section 8.7.2.
For information about configuring virtual terminals in conjunction with TCP/IP Services Telnet, see
VSI TCP/IP Services for OpenVMS Management
239
Chapter 8. Managing Peripheral Devices
• To allow Small Computer System Interface (SCSI) based workstations to use devices on another
workstation's SCSI bus without causing conflicts during boot time
To suppress autoconfiguration, add the following command as the last line of SYS
$MANAGER:SYCONFIG. COM:
$ STARTUP$AUTOCONFIGURE_ALL == 0
Caution
If you set STARTUP$AUTOCONFIGURE_ALL to 0 in the last line of SYCONFIG. COM, the
CONFIGURE phase of STARTUP. COM will not execute. As a result, DSSI or HSC controllers
(except for a controller through which the system booted) and MSCP-served devices on remote nodes
will not be available and satellite nodes will not be able to access network devices and boot disks.
This could prevent satellite nodes from booting.
To suppress autoconfiguration, and still configure HSCs and MSCP-served devices on remote nodes,
add the following lines to the end of SYCONFIG. COM:
$ STARTUP$AUTOCONFIGURE_ALL == 0
$ @SYS$SYSTEM:STARTUP CONFIGURE$ EXIT
These commands suppress autoconfiguration but still execute the CONFIGURE phase of STARTUP.
COM.
This error is caused because SYCONFIG. COM is invoked by both STARTUP. COM and
AUTOGEN. When AUTOGEN runs, the CONFIGURE process already exists (it was started when
SYCONFIG. COM was executed by STARTUP. COM). When AUTOGEN invokes SYCONFIG.
COM, the command you added attempts to start a second CONFIGURE process. This command fails,
causing AUTOGEN to fail.
240
Chapter 8. Managing Peripheral Devices
Beginning with OpenVMS Alpha Version 7. 1, device configuration tables are constructed
from ASCII text files on the OpenVMS Alpha and I64 operating system disk. By adding simple
descriptions of their devices in the appropriate ASCII text file, third parties and end users can
configure supported third-party devices and load user-written device drivers.
The following sections briefly explain device configuration and describe how to use the new file-
based autoconfiguration method to configure supported third-party devices.
OpenVMS discovers devices during the boot process in a bus-specific manner. The discovery process
includes storing data about detected devices in bus-specific data structures. These data structures
are later used to search configuration tables of known devices. The configuration table provides
the information necessary to determine the driver name, the device name, and other parameters for
loading and connecting the appropriate driver.
Prior to OpenVMS Alpha Version 7. 1, configuration tables were built into the OpenVMS kernel
and could not be modified without replacing a system image. As of OpenVMS Alpha Version 7. 1
and I64, the configuration tables are constructed from ASCII text files on the system disk. A system
file(SYS$SYSTEM:SYS$CONFIG. DAT) is provided for all OpenVMS supported devices, and a user
file (SYS$SYSTEM:SYS$USER_CONFIG. DAT) is provided for all third-party, layered-product,
and user-written device drivers. The system reads these files during the boot process and uses the
files to create a set of configuration tables. These tables are used for subsequent autoconfiguration of
hardware devices. Although the tables are built from two files and collected by bus type, they can be
considered one logical configuration table of known devices.
SYS$SYSTEM:SYS$USER_CONFIG. DAT
SYS$SYSTEM:SYS$CONFIG. DAT
Both files use the same format, and the data from both files are combined to create the configuration
tables for each bus on the system. The SYS$USER_CONFIG. DAT file is read first, and takes
precedence over any duplicate device descriptions contained in both files. If multiple device
descriptions exist in a single file, the first occurrence of the description is used.
The configuration files consist of device description blocks, each of which provides the information
needed to configure the correct device driver for a device.
Each device description block consists of a series of statements starting with a DEVICE keyword and
ending with the END_DEVICE keyword. Between these two keywords, additional keywords define
the hardware ID, the device name, the driver name, the bus type, and any other required or optional
information.
241
Chapter 8. Managing Peripheral Devices
The SYS$USER_CONFIG. DAT file is an ASCII text file, which can be processed with any utility
that handles variable-length record files (for example, a text editor or DCL commands).
Note
The SYS$CONFIG. DAT file is read-only and should not be modified by users or by third parties. It
should only be modified by VSI, and it might be replaced by OpenVMS upgrades. Inappropriate edits
to this file could result in the inability to boot the system.
where the value is a string, a quoted string, or a numeric value. The END_DEVICE keyword has
no associated value. For example, a minimal description of a non-disk device might look like the
following:
DEVICE = "My device"
NAME = UU
DRIVER = USER$UUDRIVER
ID = 0x0005111
ADAPTER = PCI
FLAGS = NOVECTOR
END_DEVICE
In this example, the description indicates that when a device with the hardware ID of 5111 (hex) is
found on a PCI bus, the device named UU should be configured, and the USER$UUDRIVER device
driver should be loaded. This example also specifies that the driver does not want to be connected to
an interrupt vector. (If the bus information had a vector, it would be ignored. )
In addition to the values shown in the previous example, the following implied values can also be
specified:
UNITS = 1
NUM_VECTORS = 1
These values usually default to the correct values for a single unit controller.
• All white space is equivalent to a single space. Blank lines, multiple spaces, and tabs may be used
for clarity, but they are treated by the parser as a single space.
• All numbers are in the C language format: the default is decimal, octal may be specified by
providing a leading “0”, hex by providing a leading "0x".
• Comments can occur anywhere in the file and can begin with an exclamation point (!). All text on
the line from the exclamation point to the end of the line is ignored.
242
Chapter 8. Managing Peripheral Devices
• DEVICE = string
The DEVICE keyword starts a device description. The DEVICE keyword takes a string argument,
which is an arbitrary description of the device being defined.
The string argument is used by utilities such as the CLUE CONFIG command in $ANALYZE/
SYSTEM. It should be kept short enough to look correct.
• END_DEVICE
The END_DEVICE terminates the current device description, and causes the parser to create a
new table entry if all required keywords have been supplied. No parameters are required.
The ID keyword specifies the hardware ID of the device. The hardware ID is a 64-bit quantity and
can be specified by a pair of 32-bit values (low-order, high-order), or can be specified as an ASCII
string of up to 8 characters. If only one numeric value is provided, the high-order 32 bits are set to
zero.
The number of bits used by the system depends on the adapter type. EISA and PCI use 32 bits.
ISA uses 64 bits. PCI can be extended to64 bits by using the FLAGS=EXTENDED_ID keyword.
• NAME = string
The NAME keyword specifies the mnemonic for the device. This is usually a two-character name,
but it can be more.
Example: NAME = PK
• DRIVER = string
243
Chapter 8. Managing Peripheral Devices
The DRIVER keyword specifies the file name of the device driver for the device.
• ADAPTER = string
The ADAPTER keyword indicates the bus type of the device. The current adapters are: PCI,
EISA, ISA, TC (TURBOchannel).
• UNITS = number
The UNITS keyword indicates the number of units (UCBs) that are created for the controller. If
not specified, the default is 1.
Example: UNITS = 1
• FLAGS = string
The FLAGS keyword shows optional information about how to load the driver. More than one
flag may be specified, separated by a comma (, ).
FLAGS = EXTENDED_ID
ID = 0x906D1OB5, 0 x 113310DF
If the EXTENDED_ID flag will be used to load a special driver, but the
same ID without the EXTENDED_ID bit will be defined to load a generic
driver, the description with the EXTENDED_ID should be located before
the generic description.
ISA_ON_EISA This flag is valid only when the value EISA is given to the ADAPTER
keyword, and the device is an ISA device. ISA devices should set this
flag to ensure that the value given to the ID keyword is interpreted
correctly. For ISA devices, the system keeps the ID value as an ASCII
string. When the system believes that this is an EISA device, the ID value
is compressed into binary format.
244
Chapter 8. Managing Peripheral Devices
• PRIVATE_DATA = string
This keyword is supported only when the value ISA is given to the ADAPTER keyword. The
statement may not span lines. If the string contains more than one word, the string should be in
quotes. The quotes are not passed as part of the string. An ISA driver can retrieve this string by
calling IOC$NODE_DATA and passing the function code IOC$K_ISA_USER_PARAM.
• BEGIN_PRIVATE
This keyword is supported only when the value ISA is given to the ADAPTER keyword. The
BEGIN_PRIVATE and END_PRIVATE keywords can be used instead of PRIVATE_DATA.
They are not used as part of a PRIVATE_DATA statement. When using BEGIN_PRIVATE and
END_PRIVATE, all data contained between the keywords is passed to the driver. The data may
contain special characters like quotation marks. The data may span multiple lines. When multiple
lines are used, the driver will find a line-feed character to indicate a new line.
BEGIN_PRIVATE and END_PRIVATE must be used when trying to convert some entries in
ISA_CONFIG. DAT to file; for example, the statement in ISA_CONFIG. DAT:
must be converted to
BEGIN_PRIVATE
"some data"
END_PRIVATE.
An ISA driver can retrieve the data between BEGIN_PRIVATE and END_PRIVATE by calling
IOC$NODE_DATA with the function code IOC$K_ISA_USER_PARAM.
• END_PRIVATE
The END_PRIVATE keyword can only be used to terminate data that is added after a
BEGIN_PRIVATE statement.
• NUM_VECTORS = number
The NUM_VECTORS keyword specifies the number of vectors that the device uses. The default
if not specified is 1.
Example: NUM_VECTORS = 4
Table 8.1 indicates keywords that can be included in the configuration file.
245
Chapter 8. Managing Peripheral Devices
$ MC SYSMAN IO REBUILD
$ MC SYSMAN IO AUTOCONFIGURE
Note that once a driver has been loaded for a device, it cannot be reloaded.
The MC SYSMAN IO REBUILD/VERIFY command causes SYSMAN to read and process the
SYS$SYSTEM:SYS$USER_CONFIG.DAT and SYS$SYSTEM:CONFIG.DAT files, but not to
rebuild the configuration files for OpenVMS. Messages will be displayed for any errors that are
encountered. This command can be used by developers to test new changes to SYS$SYSTEM:SYS
$USER_CONFIG.DAT without modifying the current system.
ISA devices may be used on either an ISA bus or an EISA bus. If the system has an ISA bus, the
device is configured at the console using ISACFG. If the system has an EISA bus, the ISA device is
configured using ECU. Both console utilities allow the users to reserve device resources.
In previous versions of OpenVMS Alpha, ISA devices on an ISA bus required an entry in the SYS
$MANAGER:ISA_CONFIG. DAT file that defined the hardware and the use of the console command
ISACFG to reserve system resources like IRQs.
246
Chapter 8. Managing Peripheral Devices
Caution
Beginning with OpenVMS Alpha Version 7.2, the ISA_CONFIG. DAT file is no longer supported.
Refer to Section 8.6.4 for more information.
ISA devices must be manually configured using the EISA Configuration Utility (ECU) which is run
from the console. Devices must have a CFG file provided on a DOS floppy. The CFG file provides a
string (up to7 characters) as the device ID.
See your card manufacturer, or the EISA Bus Specification for details on CFG file format.
The ECU floppy (DOS format) contains an example ISA CFG file (ISA000. CFG)that may be used as
a model for new configuration files. For more information, refer to the EISA Bus Support chapter in
Writing OpenVMS Alpha Device Drivers in C.
Once the ECU has been run, the device can be configured using file-based autoconfiguration.
Note
ISA devices cannot be easily autoconfigured on EISA bus systems on versions prior to OpenVMS
Alpha Version 7.1 because the ID is not copied from the ECU data into the OpenVMS bus structures.
Table 8.2 contains a list of keywords from ISA_CONFIG.DAT and their equivalents in either file-
based autoconfiguration or the ISACFG utility.
247
Chapter 8. Managing Peripheral Devices
An entry in ISA_CONFIG. DAT is matched to internal data kept for an ISA device using the number
specified with the NODE keyword. When you use the SYS$USER_CONFIG. DAT file to configure
an ISA device, however, the ID keyword is used to match the block, which defines the device, to data
entered from the console with the ISACFG command. The value given to the ID keyword must be the
same as the value specified with the ISACFG-handle keyword.
Any identification string can be used for an ISA device. It should be eight characters or less. The
ISACFG command does not set the -handle value to upper case, so two methods can be used to force
the value to match one specified using the configuration keyword ID. You can specify the ID value in
the correct case inside of quotation marks (matching the case you used for the -handle value). Or you
can use the configuration keyword FLAGS=CASE_BLIND, which will cause a blind comparison to
be done.
NAME = xx
Use the NAME keyword in SYS$USER_CONFIG. DAT. Use the same value, where xx is the
device code. (The device code is usually 2 letters. )
Example: NAME = ER
DRIVER = driver_name
Use the DRIVER keyword in SYS$USER_CONFIG. DAT. Use the same value for file-based
autoconfiguration. driver_name is the name of the driver in SYS$LOADABLE_IMAGES.
IRQ = i
Use IRQ x in the ISACFG utility. You can express four IRQs: -IRQ0 through -IRQ3. Use the
same value used for ISA_CONFIG. DAT. The IRQ is a value from 0 to 15, which specifieswhich
ISA IRQ the device uses to report interrupts.
Example:
248
Chapter 8. Managing Peripheral Devices
NODE = n
Use -slot in the ISACFG utility. The slot number (n) does not represent the slot in which the
device resides. It is a logical, not a physical number. However, the number must be between 1 and
the maximum number of slots on the machine. Slot number 0 is not available to users.
Example:
This example assigned values to a device represented by slot 3. There must be at least 3 slots on
the machine on which this command is executed. To see which logical slots are being used, enter
the following command:
>>>isacfg -all
DMA = (j, k, . . . )
Use -dmachan x in the ISACFG utility. Values j, k, and so on are values 0 through 7, which
specify the channels of the DMA controller that the device is using to relay information. Use the
same values for j, k, and so on with ISACFG, but assign each one to a different DMA channel.
You can specify four DMA channels, using the keywords-dmachan0 through -dmachan3.
Example:
Use -iobasex in the ISACFG utility. You can specify six ports using the keywords -iobase0
through -iobase5. There is no equivalent for the length fields b, d etc. The ISACFG utility
assumes that the driver knows the length of the port. Drivers that called the IOC$NODE_DATA
routine with the keyword IOC$K_EISA_IO_PORT to obtain the length in the upper word of the
returned longword should stop examining the upper word. With ISA_CONFIG. DAT, the length
was returned; but with ISACFG, the length is always 8.
Example:
Use the ISACFG keywords -membasex to specify the memory base, and -memlenx to specify the
memory length. Use the same values for ee, gg etc. and f, h etc. as you used for ISA_CONFIG.
DAT. You can specify three memory regions using the keywordsmembase0 through membase2
and memlen0 through memlen2.
249
Chapter 8. Managing Peripheral Devices
Example:
FLAGS = n
Because it was never possible to use bit 0, it is not currently supported in file-based
autoconfiguration. Bit 1 can be expressed with the file-based autoconfiguration
FLAGS=NOVECTOR statement.
USER_PARAM = text
While using ISACFG, you must also be familiar with the following commands:
>>>isacfg -init
>>>init
To delete an entry:
>>>isacfg -all
250
Chapter 8. Managing Peripheral Devices
The following sections explain setting terminal characteristics and setting up virtual terminals.
To change the terminal device characteristics, use a SET TERMINAL command with the appropriate
qualifiers in the following format:
For example, the following command indicates that the width of terminal lines is 132 characters
and that the size of each page is 60 lines. The /NOBROADCAST qualifier disables the reception
of broadcast messages. The /PERMANENT qualifier allows you to keep terminal characteristics
between terminal sessions. (You must reset characteristics each time the system reboots by adding
these commands to a site-specific startup command procedure. )
$ SET TERMINAL/WIDTH=132/PAGE=60/NOBROADCAST/PERMANENT
For more detailed information about the SET TERMINAL command and its qualifiers, refer to the
VSI OpenVMS DCL Dictionary.
251
Chapter 8. Managing Peripheral Devices
a separate command procedure (for example, TERM_SETUP.COM) and execute it from the
SYSTARTUP_VMS.COM. When the device setup command procedure finishes executing, control
returns to SYSTARTUP_VMS. COM.
Caution
VSI recommends that you limit the number of SET TERMINAL commands you include in startup
command procedures. Large numbers (for example, hundreds) of SET TERMINAL commands can
significantly slow down system startup. If you have a large number of terminals, change the default
characteristics using the system parameters TTY_DEFCHAR and TTY_DEFCHAR2 as explained in
Section 8.7.1.1.
You may want to include comments to provide the names of terminal owners, as shown in the
following example.
Example
The following example provides sample commands you could include in your startup procedure to set
up terminal devices:
$ RUN SYS$SYSTEM:SYSGEN
SYSGEN> CONNECT VTA0/NOADAPTER/DRIVER=TTDRIVER
SYSGEN> EXIT
On Alpha and I64 systems, you set up virtual terminals by entering the following commands:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> IO CONNECT VTA0/NOADAPTER/DRIVER=SYS$TTDRIVER
SYSMAN> EXIT
Virtual terminals are identified by the VTA n: device name. After the SYSGEN or IOGEN command
is entered, any terminal with the TT2$M_DISCONNECT characteristic set prior to login is treated as
a virtual terminal
252
Chapter 8. Managing Peripheral Devices
Note
LAT terminals (LTA n:) can be disconnected if the TT2$M_DISCONNECT characteristic is set, but
remote terminals (RTAn:) cannot be disconnected.
• Enable the feature on a systemwide basis by setting the appropriate bit in the system parameter
TTY_DEFCHAR2. You must use this method for dynamically created terminal devices; for
example, LTAn: devices.
• Enable the feature on a per-terminal basis by using the DCL command SET TERMINAL/
DISCONNECT.
• Specify the maximum number of detached processes that individual users can create by specifying
a value for the UAF resource limit MAXDETACH. See the documentation of the MAXDETACH
user quota in Table 7.9 for the implications of using this quota, as well as information about how
to set this quota.
• Using the system parameter TTY_TIMEOUT, specify the length of time a disconnected session
remains before being logged out.
• Restrict individual users from being able to reconnect to disconnected terminal sessions by
specifying the UAF flag DISRECONNECT.
• Create a site-specific LGI callout module that provides the preferred policy at your site.
Information about LGI callouts is in the OpenVMS Utility Routines Manual.
253
Chapter 8. Managing Peripheral Devices
See the DECnet-Plus for OpenVMS Applications Installation and Advanced Configuration for a
detailed description of the procedure for setting up dynamic asynchronous DECnet lines.
Note
Using the command SET TERMINAL/INQUIRE clears the type-ahead buffer.
The following command procedure determines the physical terminal characteristics of both direct
and LAT lines at system startup. Insert the following lines in your systemwide login procedure
(SYLOGIN. COM). (This procedure assumes that your startup procedure has set all switches and LAT
lines to “unknown. ”
$ DEVCLASS = 'F$GETDVI ("SYS$COMMAND", "DEVCLASS")'
$ IF DEVCLASS . ne. 66 then goto alldone !Not a terminal
$ DEVTYPE = 'F$GETDVI ("SYS$COMMAND", "DEVTYPE")'
$ IF DEVTYPE . ne. 0 then goto got_devtype
$ SET TERMINAL/INQUIRE !Try to determine the device type
$ DEVTYPE = 'F$GETDVI ("SYS$COMMAND", "DEVTYPE")'
$ got_devtype:
$! Can now dispatch on 'devtype' to do different things depending
$! on the type of terminal.
$ alldone:
You can uniquely identify a LAT terminal by using the F$GETDVI lexical function and specifying the
item TT_ACCPORNAM. The function returns the terminal server node name and port name.
With a pair of modems, you can transmit digital communications over analog media such as telephone
lines, and then convert the communications back into digital signals at a remote location. Pairs of
modems are used to connect a terminal or a local computer to a remote computer system, and to
connect two remote computers to each other.
• Understanding modems
• Setting up modems
254
Chapter 8. Managing Peripheral Devices
• Troubleshooting modems
Figure 8.1 represents communications between a terminal and a remote computer system, but the
principles apply equally to communications between two computer systems. One modem converts
digital to analog signals on the local end of the analog telephone connection, and another modem
converts analog to digital signals on the remote end of the connection.
Modems are always used in pairs; each one of the pair can act as both a transmitter and a receiver.
• Each modem supports a digital format compatible with the attached terminal or computer.
Once a modem connection has been established, you can layer data communications over the
connection. You can layer at least one, and sometimes more, of a wide variety of communications
protocols on the basic asynchronous serial ASCII protocol that most modems provide. Point-to-Point
Protocol (PPP)and asynchronous DECnet are examples of protocols that can operate over a modem
link.
Table 8.3 lists references to OpenVMS documentation that discuss other communications protocols
and topics relevant to the use of modems:
255
Chapter 8. Managing Peripheral Devices
Reference Description
VSI TCP/IP Services for OpenVMS Management Explains the use of modems to establish a serial
connection using the PPP (Alpha and I64 only)
and SLIP protocols and TCP/IP Services.
VSI OpenVMS Guide to System Security Discusses how to maintain the security of
DECnet modem connections and dial-in modem
lines.
TCP/IP Networking on OpenVMS Systems Explains the use of PPP on OpenVMS Alpha,
I64, and OpenVMS VAX to communicate with
remote systems.
VSI OpenVMS System Management Utilities Describes the PPP utility and associated
Reference Manual: M-Z commands.
Section 8.7.2 Explains how to configure and manage virtual
terminals.
VSI OpenVMS DCL Dictionary> and online help The DCL command SET HOST/DTE discusses
the use of modems to connect to a remote
system. The DCL commands CONNECT and
DISCONNECT explain how to set up and
disconnect virtual terminals.
You can choose to connect a modem directly to a host system, or you can connect the modem
indirectly to an intermediate network server device such as a DECserver. Explanations of these two
types of connections follow.
• Direct connection
A direct connection dedicates the modem to a particular host system. This reduces the amount of
access available to the modem caller, and can reduce to one the number of systems that you must
protect against unauthorized access through this modem.
This is often the configuration of choice for smaller computing environments, or for connecting a
modem to a single computer or terminal.
• Indirect connection
An indirect connection creates a pool of modems for a variety of computer systems on the local
area network, including servers that communicate with the host computers using protocols such
as LAT and Telnet. This type of connection makes better use of the available telephone lines but
increases security requirements.
This is often the configuration of choice for larger computing environments. An indirect
connection is commonly used when you use LAT or Telnet protocols to configure a number of
modems, called a modem pool, to share access to a number of computer systems.
With either type of connection, you cannot use the modem if the host or the server the modem is
connected to is not operational.
256
Chapter 8. Managing Peripheral Devices
Figure 8.2 depicts direct and indirect modem configurations. The remote devices T1 and T2 are
indirectly connected to both Host1and Host2 host computers using the DECserver and the LAT
protocol;T3 is connected directly to Host2.
Once you decide which serial communications port to use, either on a host or a terminal server, you
need to determine the connectors and the pinouts for the port and how to wire the modem to the port.
Refer to the documentation for the modem and for the port; also see Section 8.8.2.
The connector and pinout determine the specific wiring adapters and cables you need to connect
the modem to the port. To determine the pinout and the connector on the modem, and the pinout
and connector on the port you are connecting the modem to, refer to the modem and the port
documentation.
Two common pinouts found on the EIA-232 DB25 connection are shown in Table 8.4.
257
Chapter 8. Managing Peripheral Devices
Pinout Description
Data Terminal Equipment (DTE) Transmit information through pin 2, and
receive information through pin 3, among other
standardized pin assignments.
Data Communications Equipment (DCE) Transmit information through pin 3, and receive
information through pin 2, among other EIA-232
pin assignments.
• DCE devices communicate straight-through with DTE devices: the transmit pin on each end
of the cable is wired to the corresponding receive pin on the other end. Pin 2 on one cable is
connected to pin 2 on the other cable, and pin 3 on one cable is connected to pin 3 on the other
cable.
• Equipment wired with a DCE pinout requires a cross-overto communicate with another
connector wired DCE; pins 2 and 3 on one cable are connected to pins 3 and 2 on the other
cable, respectively. A cross-over is required in certain situations, because two transmit pins
or two receive pins cannot be wired together. As a specific example, you need a cross-over to
wire two DTE devices together, or to wire two DCE devices together.
A cable with cross-over wiring is sometimes referred to as a null modem cable, because a null
modem cable of an appropriate length could logically replace all components of a modem-
based communications connection; that is, it could replace the local serial cable, the local
modem, the intervening telephone circuit, the remote modem, and the remote serial cable.
Table 8.5 describes the most common connectors used to wire a modem.
Connector 1 Description
DB9 A 9-pin connector, containing a row of four pins, and a row of five pins. The
DB9 can have the EIA-574commonly used on PC systems or an older standard
connection used on MicroVAX consoles.
DB25 A 25-pin connector, with a row of twelve pins and a row of thirteen pins. The
DB25 typically uses the EIA-232 pinout and can be wired as Data Terminal
Equipment (DTE) or as Data Communications Equipment (DCE).
MMJ A 6-pin modular jack, which uses DEC-423 signaling, commonly referred to
as DECconnect wiring. DECconnect wiring greatly simplifies wiring devices,
as one need consider only the appropriate adapter for the device connection;the
associated BC16E cabling is wired consistently.
1
All connectors in this table are available in both male and female genders.
The pinouts and applications for the common connectors are shown in Table 8.6.
258
Chapter 8. Managing Peripheral Devices
If your application does not use one of the serial wiring connections shown in the table, you
need to determine the specific requirements of the device, as well as the specific pinout. You also
need to determine the cabling appropriate for the application. Contact your hardware support
organization, your VSI support representative, or your local VSI reseller.
MMJ Accessories
Table 8.7 lists order numbers and descriptions of some DECconnect accessories available from
VSI.
259
Chapter 8. Managing Peripheral Devices
As part of connecting a modem to a device, you can add wires to the host port and the modem.
These wires are used to pass signals called the modem control signals.
When you connect to a local terminal for dial out, modem control is not particularly significant:
either the modem is wired or configured to ignore modem control, or the wiring is set up to pass
the modem control signals from the terminal to the modem.
When you connect a modem to a computer, modem control is far more significant, because the
host uses the modem control signals to direct the modem to accept incoming telephone calls. The
modem control signals also enable the modem to signal the host that a call has been received or
that a call has ended. These signals allow the host and the modem to take the appropriate actions
for a particular event.
Note
In addition to their use by modems, modem control signals are also often used to communicate device
status between the host and other serial devices such as serial printers. Various serial printers use
modem control signals as modems do: to indicate to the host that the printer is powered up and ready
to accept output, or that the printer is powered down or otherwise unable to process output.
Table 8.8 contains descriptions of types of modem control that devices can support.
260
Chapter 8. Managing Peripheral Devices
Refer to the device documentation to determine the type of modem control signal that the device
and modem support. This determines the number of wires and the wiring connections needed
for communications. The following examples show types of modem control and the wires they
require:
• DECconnect supports limited modem control, which requires two of the six wires in the
DECconnect cabling. The other four wires are used for the following purposes:
• Transmitting data
• Receiving data
• Full modem control requires more than two wires dedicated to the modem control signaling.
• Devices that do not support modem control require no wires dedicated to modem signaling.
261
Chapter 8. Managing Peripheral Devices
With modem commands or custom-wired cabling, you can force a modem to operate with a device
that does not support modem control. However, this is not recommended for general use on a host
system, because this wiring can potentially result in security problems.
The command set includes the commands used to request that the modem place a telephone call,
the telephone number to be called, and the commands used to configure the modem.
• AT command set:
ATDT phone-number
where:
where:
The command set is used to communicate with the modem to request that the modem perform
some action, such as dialing a telephone number and connecting to a remote modem. You
can enter direct modem commands at a terminal directly connected to a modem, or you can
communicate indirectly with the modem using DCL commands such as SET HOST/DTE.
After wiring the modem to the connector on the OpenVMS computer or DECserver, you must
configure the port to recognize and properly operate the modem, and to enable autobaud speed
detection.
Note
The autobaud operation detects the speed – the baud rate – of the communications. Including the /
AUTOBAUD qualifier is not required; however, if autobaud detection is disabled, you must configure
both the host terminal or DECserver port, and the modem, for the same baud rate.
The commands you give depend on whether you are using an OpenVMS host system or a
DECserver:
• On an OpenVMS host system, execute the following command interactively, and also place
this command in the system-wide startup file, SYS$MANAGER:SYSTARTUP_VMS. COM:
262
Chapter 8. Managing Peripheral Devices
where TTA0: is the name of the terminal device the modem is wired to.
The commands enable the modem, XON, and autobaud. These commands require privileges
on the DECserver.
Dial-in lines allow remote, unauthorized users access to your system. You need to maintain
consistent security and good system and user password management to keep your system secure
from unauthorized users.
The following list contains some ways to increase security on your system:
• You can configure a DECserver with a password to prevent a modem from accessing any
other feature. This password prevents an unauthorized user from accessing or seeing any
information about the local network configuration until after the user enters the password. You
can enable this password on specific ports.
• With OpenVMS, you can establish a system-wide password requiring the user to specify
a password before the system prompts for a password. This additional password helps
reduce the security risk caused by users with poor passwords. You can enable a system-wide
password on specific host ports.
• With OpenVMS, you can establish minimum password lengths, and you can enable system-
generated passwords. These measures can help reduce the security risk caused by users with
poor passwords.
• Always use and configure some form of modem control. Without modem control, a telephone
connection that is disconnected for any reason might be left logged into the host, and a
subsequent modem caller will receive the logged-in session without specifying a password.
Also, without modem control, the host cannot request that a modem session be dropped when
certain system events such as a process logout occur.
These and other techniques for protecting your system from unauthorized access are discussed in
detail in the VSI OpenVMS Guide to System Security.
Table 8.9 contains some general troubleshooting suggestions, but it is not a complete list. Basic
serial communications test equipment such as a serial-line break-out box, can often help you locate
263
Chapter 8. Managing Peripheral Devices
communications and wiring problems. For further assistance, contact your local hardware support
organization.
Problem Considerations
Modem does not answer Check that the telephone number being called is
correct.
Check that the modem has power.
Check that the host system or device has power
and is operating.
If possible, directly connect a standard terminal
in place of the modem, and test the operation
directly.
Check that the host modem control signals are
present, and correctly wired.
Check that the host device is configured correctly
for a modem by using a SET TERMINAL, SET
PORT, or other appropriate host command.
Check the wiring. Look for a broken, miswired,
or disconnected wire.
Look for a disconnected connector or a broken,
missing, or bent connector pin.
Telephone malfunction Using a standard telephone handset, test that
voice calls can be established on the telephone
line.
Is static or other interference noticeable on the
telephone line?
No modem indicator lights Check the power connection.
Check to see that the modem is turned on.
Check to see that the modem has passed
applicable self-tests.
Try swapping the modem for another device.
No response, or garbled response to typing Check that the modem status lights indicate
received data on the transmit line, and transmitted
data on the receive line. This can point to the
miswiring of the transmitted and received data.
You can wire serial cables and adapters straight-
through or with a cross-over.
Check for crossed signals.
Check for incorrect speed detection. Autobaud
detection sometimes sets the speed incorrectly.
On lines that are not enabled for autobaud
detection, check that the line is set for the correct
speed. On ports that support it, check the speeds
for both the transmitted and the received data.
264
Chapter 8. Managing Peripheral Devices
Problem Considerations
Make sure that the port has autobaud enabled, and
that the port and the modem are configured for
the same data rate.
Check for interference or a disconnection in the
wiring.
Check the wiring for any problems.
Check for any adjacent wiring, power, or video
signals that might interfere with the serial
communications.
In addition, if you want to spool your printers, you must do so before starting the queues to be
associated with those printers. For information about spooled printers, see Section 8.9.2.
To execute these commands each time your system boots, add these commands to your site-
specific startup command procedure. If your configuration is simple, you can add the commands
to SYSTARTUP_VMS. COM. If your configuration requires a large number of commands, create
a separate command procedure (for example, PRINTER_SETUP. COM) and execute it from
SYSTARTUP_VMS. COM. When the device setup command procedure finishes executing, control
returns to SYSTARTUP_VMS. COM.
Example
The following example provides sample commands you could include in your startup procedure
to set device characteristics for printers. This example also includes the commands used to spool
printers. You generally include the commands to spool printers along with the commands to set device
characteristics.
$! Set up line printer devices
$!
$ SET PRINTER/PAGE=60/LOWERCASE/TRUNCATE LPA0:
$ SET PRINTER/LA11/UPPERCASE/WRAP LPB0:
$ SET DEVICE/SPOOLED=(LINE_PRINT, SYS$SYSDEVICE) LPA0:
$ SET DEVICE/SPOOLED=(SYS$PRINT, SYS$SYSDEVICE) LPB0:
$!
265
Chapter 8. Managing Peripheral Devices
When you spool a printer, you specify a storage device and an output queue to be associated with
that printer. When a process running an application directs its output to the spooled printer, the
output is instead placed in a temporary file on the storage device. When the file is closed, the system
submits the file for printing on the associated output queue. Both the spooling of the output file to an
intermediate storage device and the subsequent queuing of a job consisting of this file occur without
the direct intervention of the user.
If your system runs application programs that might write output directly to a printer, VSI
recommends that you spool your printers. VSI recommends that you also spool your LAT printers to
prevent privileged users from writing directly to a LAT printer. Writing directly to a LAT printer can
cause problems for output queues that use the printer.
Figure 14.9 illustrates a sample configuration using spooled printers. Section 8.9.2.1 describes how to
set up a spooled printer.
You must spool a printer before you start the queue to be associated with the printer.
You should always specify the intermediate disk and queue explicitly. If the queue you associate with
the spooled output device is a generic queue, a file written to that device is sent to the generic queue,
which in turn places the job in one of its target queues. As a result, a job copied to the LPA0: device,
for example, might not necessarily print on the printer LPA0:, but instead might print on one of the
other printers targeted by the generic queue.
When you select an intermediate storage device, make sure that it has sufficient free space for the
volume of spooled output. If you plan to enforce disk quotas on the intermediate device, make sure
that all expected users have a quota authorized on the intermediate device. The intermediate device
must be mounted before files can be written to it.
After establishing an output device as spooled, you should test the device, because errors in disk or
queue names are not detected until spooling is attempted. This step is described in Section 8.9.2.3.
266
Chapter 8. Managing Peripheral Devices
You should create a command procedure to set up your output devices each time the system reboots.
Include the commands to set up spooled devices in this command procedure. For more information,
see Section 8.9.1.
Example
The following example illustrates sample commands used to set up spooled printers. This example
also includes the command used to set device characteristics. You generally include the commands to
spool printers along with the command to set device characteristics in a startup command procedure to
set up output devices.
$! Set up and spool line printer devices
$!
$ SET PRINTER/PAGE=60/LOWERCASE/TRUNCATE LPA0:
$ SET PRINTER/LA11/UPPERCASE/WRAP LPB0:
$ SET DEVICE/SPOOLED=(SYS$PRINT, SYS$SYSDEVICE) LPA0:
$ SET DEVICE/SPOOLED=(SYS$PRINT, SYS$SYSDEVICE) LPB0:
$!
$! Set up and spool LAT printers
$!
$ SET TERMINAL LTA331:/SPEED=9600/DEVICE=LN03 -
/NOBROADCAST/NOECHO/HARDCOPY/NOTYPE_AHEAD/PERMANENT
$ SET DEVICE LTA331:/SPOOLED=(MKTG$LN03_1, SYS$SYSDEVICE)
$!
$ SET TERMINAL LTA332:/DEVICE=LA210/PAGE=66 -
/NOBROADCAST/PERMANENT
$ SET DEVICE LTA332:/SPOOLED=(LA210$PRINT, SYS$SYSDEVICE)
Spools the output device LPA0: by associating it with the storage device SYS$SYSDEVICE
and the queue SYS$PRINT. When output from an application is directed to LPA0:, the data is
temporarily stored on SYS$SYSDEVICE until the application completes. This keeps the output
device LPA0: available for other jobs until the application's output is ready for printing. When
the application completes, its output is submitted to the queue SYS$PRINT.
Spools the LN03 device on LAT port LTA331: by associating it with the storage device SYS
$SYSDEVICE and the queue MKTG$LN03_1.
Spools the LA210 device on LAT port LTA332: by associating it with the storage device SYS
$SYSDEVICE and the queue LA210$PRINT.
You must stop the corresponding queues before you can change the spooling status.
For more information about the SET DEVICE/NOSPOOLED command, refer to the VSI OpenVMS
DCL Dictionary.
267
Chapter 8. Managing Peripheral Devices
$!
$! set the device spooled
$ SET DEVICE/SPOOLED=(SYS$PRINT, SYS$SYSDEVICE:) LPA0:
$!
$! create a test file
$ CREATE TEST. LIS
!Add the first test record here.
!Ctrl/Z to exit the file
$!
$! write the file to the output device
$ COPY TEST. LIS LPA0:
$ EXIT
For information about managing volumes on tape drives, see Section 9.2.
For information about managing Fibre Channel tape devices, see Guidelines for OpenVMS Cluster
Configurations.
The following examples illustrate uses of the SET MAGTAPE command in conjunction with the
MOUNT command
Examples
1. $ MOUNT MTB1:/FOREIGN
$ SET MAGTAPE MTB1:/DENSITY=800
The MOUNT command mounts a tape on the MTB1: device. The /FOREIGN qualifier indicates
that the tape is not in the standard format used by the operating system. For example, certain
Backup utility (BACKUP) operations require you to mount a tape with the /FOREIGN qualifier.
The SET MAGTAPE command defines the density at 800 bpi for writing to the magnetic tape.
(The density is reset only if the magnetic tape has never been written before. )
268
Chapter 8. Managing Peripheral Devices
2. $ MOUNT MTA0:/FOREIGN
$ SET MAGTAPE MTA0:/SKIP=FILES:4
The MOUNT command mounts a foreign magnetic tape on the MTA0: device; the
SETMAGTAPE command directs the I/O subsystem to position the magnetic tape to skip four
files.
3. $ MOUNT MTA1:/FOREIGN
$ SET MAGTAPE/REWIND MTA1:
The MOUNT command mounts a foreign tape on the MTA1: device; the SET MAGTAPE/
REWIND command rewinds the volume.
To ensure that card decks are processed efficiently, you must understand their characteristics and
the use of the card reader. The following sections describe which cards you should check before
processing a deck through a card reader, and how to determine which cards are damaged.
• Whether the deck is a batch job or a data deck, because their processing requirements differ
• Initial cards
• Program cards
• Last card
The initial two cards in a batch job card deck are the $JOB and the $PASSWORD cards. These cards
log in the user and the batch job to the system. Following the initial two cards are program cards.
Program cards contain instructions that direct the system to libraries, routines, and data needed to
complete the batch job. The last card must be either an end-of-job command ($EOJ) card or an end-
of-file (EOF) card. Either of these cards tells the system that this is the end of the job.
269
Chapter 8. Managing Peripheral Devices
Checking Input
The system cannot execute the job without $JOB and $PASSWORD cards. If you are given a card
deck with these cards omitted, return the deck so that the user can insert them.
Since the card deck contains the user's password, you must ensure that it is always handled with care
to preserve the security of the user's account.
The last card in the deck must be either an $EOJ or an EOF card.
If the last card is not one of these end cards, you can type an end card on the card punch
(12-11-0-1-6-7-8-9 overpunch in column 1) and place it at the end of the deck.
Checking Output
The log file produced by a card reader batch job is queued for printing to the default system printer
queue, SYS$PRINT. To have the log file queued to a different queue, the user can specify the /
PRINTER qualifier on the $JOB card.
If an error occurs while the system is attempting to validate the $JOB and$PASSWORD cards, the
operator communication manager (OPCOM) sends to the card operator an error message that reports
the job card and the error.
When a user wants a data deck to be read, you must make sure the user has allocated the card reader.
If the card reader is not allocated, the system tries to submit the deck as a batch job and subsequently
flushes the deck through the reader, rejecting the job.
If the program does not read the exact number of cards (as with the COPY command), the EOF card
must be the last card in the deck, to inform the program that this is the end of the deck. Without
this card, the program waits indefinitely for more cards, and the system prints “card reader off
line”messages on the operator's terminal. If the card deck lacks an EOF card, you can type one on a
card punch and insert it at the end of the deck.
Make sure the following conditions exist so you can set the card reader to the correct translation
mode:
• The first card in the deck must be the translation mode card.
• You must know the mode in which the cards were punched.
270
Chapter 8. Managing Peripheral Devices
To set the translation mode of the card reader for many decks of the same type, use the SET
CARD_READER command. This command is described in the VSI OpenVMS DCL Dictionary. By
default, when the system is booted, the translation mode is set to 029.
For example:
$ RUN SYS$SYSTEM:INPSMB
• CMKRNL privilege
All messages are displayed to the terminal rather than to the card operator.
271
Chapter 8. Managing Peripheral Devices
272
Chapter 9. Managing Storage Media
This chapter discusses the following subjects:
Tasks related to setting up both disks and magnetic tape drives: initializing and mounting
• Disks
Tasks related to disk maintenance: the management of disk space and methods for detecting and
repairing disk errors
Task Section
Allocating and deallocating disk and tape drives Section 9.2
Initializing volumes Section 9.3
Protecting volumes Section 9.4
Mounting volumes Section 9.5
Setting up disk volume sets Section 9.6
Mounting ISO 9660 volume sets and groups Section 9.8
Mounting tape volume sets Section 9.9
Dismounting volumes and volume sets Section 9.10
Using command procedures for media setup Section 9.11
Managing disk space Section 9.12
Using the Analyze/Disk_Structure utility to check and repair disks Section 9.13
Using mount verification for recovery Section 9.14
Using Interrupt Priority Level C (IPC) Section 9.15
Using the Bad Block Locator utility to detect media errors Section 9.16
Concept Section
Disks and CD–ROMs Section 9.1.1
Extended File Specifications on OpenVMS Alpha and I64 systems Section 9.1.2
Magnetic tape Section 9.1.3
Public and private disk volumes Section 9.1.4
Tape and disk volume protection Section 9.4
Disk volume sets Section 9.6.1
Disk quotas Section 9.12.1
Mount verification Section 9.14.1
273
Chapter 9. Managing Storage Media
Term Definition
Device (or Drive) Hardware that allows access to storage media.
Media Physical items on which you can store data.
Volume Logical unit of data storage; one or more media
units. A disk or tape must be mounted on a device
for the operating system to recognize it as a
volume.
Compact disc read-only memory (CD–ROM) discs and readers used with computers are very
similar to the CD–ROMs used for audio applications. The major differences are that CD–ROM drives
have a digital (rather than an audio) interface, and that CD–ROM discs employ additional layers of
error correction and formatting to encode data blocks.
The advantages of storing data on CD–ROMs rather than on tape or other removable media are:
• You can access data directly, which you cannot do with tape.
• CD–ROMs are much less expensive than other direct-access media. They are typically used for
publishing and distribution.
• CD–ROMs have exceptional storage space capability. A CD–ROM can hold approximately 650
megabytes of data.
274
Chapter 9. Managing Storage Media
Term Definition
Cluster 1 Logical grouping of blocks;basic unit by which disk (not CD–ROM) space is
allocated.
Extent Contiguous logical blocks allocated to a particular file.
File Array of consecutive virtual blocks 2, numbered 1 to n, plus a set of attributes
with values. A file is either a data file or a directory file. Directories can contain
both data files and directory files.
Volume Disk that has been prepared for use by placing a new file structure on it.
Volume set Combination of several volumes; has the appearance of one large volume.
1
This usage of cluster does not refer to a set of nodes that form an OpenVMS Cluster environment; it refers only to disks.
2
A logical block resides at an absolute address on a disk; a virtual block, on the other hand, resides at an address relative to a file.
Information on a disk or CD–ROM can be accessed as logical blocks on the disk or as virtual blocks
of files on the disk.
Figure 9.1 shows the hierarchy of blocks, clusters, extents, and files in the On-Disk Structure. The
number of blocks in anyone extent is a multiple of the cluster size. The figure assumes a cluster size
of 2 blocks.
On-Disk Structures include Levels 1, 2, and 5. (Levels 3 and 4 are internal names for ISO 9660 and
High Sierra CD formats.) ODS-1 and ODS-2 structures have been available on OpenVMS systems
for some time. With OpenVMS Version 7.2 on Alpha and I64 systems, you can now specify ODS-5 to
format disks as well.
The OpenVMS Alpha operating system recognizes all the file structures for disks and CD–ROMs
shown in Table 9.2 except ODS-1.On VAX systems, you can mount ODS-5-enabled volumes, but you
275
Chapter 9. Managing Storage Media
cannot access ODS-5-specific features. You can use one or more formats to incorporate a volume and
file structure that is compatible with the input/output processing used by the system.
When you create a file, you normally specify a file name to OpenVMS Record Management Services
(RMS), which assigns this name to the file on an on-disk volume. RMS places the file name and file
ID associated with the newly created file in a directory, which contains an entry defining the location
for each file.
When you access a file, you supply the file name, which supplies a path to the file identifier through
the directory entry. The file identifier, in turn, points to the location of the file header, which contains
a listing of the extent or extents that locate the actual data.
The files listed in Table 9.3 are in the master file directory (MFD), [000000]. VSI OpenVMS System
Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex Systems contains a description of
each reserved file.
276
Chapter 9. Managing Storage Media
dag
Reserved File File Name Structure Level 1 Structure Levels 2 and
5
Bad block file BADBLK.SYS;1 X X
Master file directory 000000.DIR;1 X X
Core image file CORIMG.SYS;1 X X
Volume set list file VOLSET.SYS;1 X
Continuation file CONTIN.SYS;1 X
Backup log file BACKUP.SYS;1 X
Pending bad block BADLOG.SYS;1 X
Volume security profile SECURITY.SYS;1 X
dag
VAX specific
In previous versions of OpenVMS, both storage and index file bitmaps were limited to 255 blocks.
This size, in turn, limited a volume to approximately one million allocation units, or clusters. Larger
disks were required to have a larger cluster factor to accommodate the limit;for example, a 9 GB disk
required a cluster factor of 18.
Beginning with OpenVMS Version 7.2, the limits of storage and index file bitmaps have been
increased as follows:
• They allow you to use space more efficiently with small files.
• They increase the number of files allowed on a volume to the architectural maximum of
approximately 16 million.
The behaviors of the INITIALIZE and BACKUP commands reflect the larger bitmap sizes. Refer
to the VSI OpenVMS DCL Dictionary for INITIALIZE command details and the VSI OpenVMS
System Management Utilities Reference Manual for BACKUP utility details.
The following message is displayed on pre-Version 7.2 systems when you attempt to access a disk that
was initialized on a Version 7.2 or later system:
The increased size of the BITMAP field is incompatible with earlier versions of OpenVMS.
Check the size of BITMAP.SYS on the disk you want to access. If the size is 256 or greater and
you want to access the disk from a pre-Version 7.2 system, you must copy the data to a disk with a
BITMAP.SYS that is less than 256 blocks. If you use the DCL command BACKUP/IMAGE, be sure
to use the /NOINITIALIZE qualifier.
277
Chapter 9. Managing Storage Media
278
Chapter 9. Managing Storage Media
Note
Future enhancements to OpenVMS software will be based primarily on Structure Levels 2 and 5;
therefore, Structure Level 1 volumes might be further restricted in the future. However, VSI does
not intend for ODS-5 to be the default OpenVMS file structure. The principal function of ODS-5is
to enable an OpenVMS system to be a server for other systems(such as Windows NT) that have
extended file names.
Two aspects of an implementation are required to support ISO 9660 file structures in an OpenVMS
environment:partially recorded data blocks and data interleaving.
ISO 9660 files are recorded in the data area of the media, using extents that consist of blocks. A
block might not be filled with data but also might not be the final block of a file. The OpenVMS
implementation of Files–11 ensures that the system does not treat an unfilled block as the end of
the file unless it actually is the final file block. This is not visible to the user.
279
Chapter 9. Managing Storage Media
• Data interleaving
Within an extent, data is recorded using file units separated by an interleave gap, which consists
of a specified number of blocks. Data interleaving allows you to control the speed of access to file
data.
• Extended file names are allowed on ODS-5, but not onODS-2 volumes.
For detailed definitions of traditional and extended file names as well as other introductory
information about Extended File Specifications, refer to the OpenVMS User’s Manual.
The following sections describe the current levels of disk, mixed-version, mixed-architecture, and
network support for Extended File Specifications on OpenVMS systems.
• You can mount an ODS-5 volume only on an OpenVMS VAX or an Alpha Version 7.2 or later
system. Most applications can access only traditionally named files on a VAX system.
• VSI does not support creating the system disk as (or changing it to) an ODS-5 volume.
The following sections describe support on OpenVMS Version 7.2 and on prior versions of OpenVMS
in a mixed-version cluster.
Users on OpenVMS Version 7.2 systems can continue to access pre-Version 7.2 files and directories.
For example, they can perform all of the following actions:
280
Chapter 9. Managing Storage Media
• Use DECnet to copy a file with an ODS-5 name to a file with an ODS-2 name on a system
running an earlier version of OpenVMS.
• Cannot access any files on an ODS-5 volume. This is true regardless of whether the volume is
connected physically on a CI or SCSI, or by an MSCP or QIO server.
• Cannot successfully create or restore an ODS-5 image save set. However, these users can
successfully restore ODS-2-compliant file names from an ODS-5 save set.
The following sections describe support on OpenVMS VAX and Alpha systems in a mixed-
architecture cluster.
BACKUP Limitations
On an OpenVMS VAX system, users cannot successfully create or restore an ODS-5 image save set.
However, these users can successfully restore ODS-2-compliant file names from an ODS-5 save set.
Users can also perform a disk-to-disk copy from ODS-5 to ODS-2 as long as they do not specify /
IMAGE.
For more information, refer to the VSI OpenVMS System Management Utilities Reference Manual.
Task Reference
Initialize a new volume as ODS-5 Section 9.3.3
281
Chapter 9. Managing Storage Media
Task Reference
Convert an existing volume from ODS-2 to Section 9.5.5.1
ODS-5
Creating ODS-5 volumes allows you to take advantage of extended file names for VSI Advanced
Server for OpenVMS clients; you can see and manage these names from OpenVMS Alpha and I64
systems.
Note
Extended File Specifications are not available on systems running versions of OpenVMS Alpha prior
to Version 7.2. On these systems, you cannot mount ODS-5 volumes nor take advantage of extended
file names on an OpenVMS file system.
For more information about tape concepts, refer to the Guide to OpenVMS File Applications.
The EOT marker indicates the start of the end of the writable area of the tape,
rather than the physical end of the tape. Therefore, data and labels can be written
after the EOT marker.
Data record Within tape files, data records are stored in variable-size data blocks. Each block
storage contains one or more records. RMS provides management of records.
282
Chapter 9. Managing Storage Media
Term Definition
Header labels Set of labels that the tape file system writes on the tape immediately preceding
the data blocks when you create a file on tape. These labels contain information
such as the user-supplied file name, creation date, and expiration date. To access
a file on magnetic tape by the file name, the file system searches the tape for the
header label set that contains the specified file name.
Trailer labels Set of labels that the tape file system writes on the tape following the file.
Multivolume file Additional volume on which a file is continued when the data blocks of a file or
related files do not physically fit on one volume (a reel of magnetic tape).
Volume set The volumes on which a set of files is recorded.
Assume that a 1600-bits-per-inch magnetic tape contains 10 records that are not grouped into a block.
Each record is 160 characters long (0.1 inch at 1600 bits per inch) with a0.6-inch IRG after each
record, which uses 7 inches of tape. However, placing the same 10 records into one block uses only
1.6 inches of tape (1 inch for the data records and 0.6 inch for the IRG).
Record blocking also increases the efficiency of the flow of data into the computer. For example, 10
unblocked records require 10 separate physical transfers, while 10 records placed in a single block
require only one physical transfer. Moreover, a shorter length of magnetic tape is traversed for the
same amount of data; thus, the operation is completed in less time.
However, record blocking requires more buffer space to be allocated for your program. The greater
the number of records in a block, the greater the buffer size requirements. You must determine the
point at which the benefits of record blocking cease. Base this determination on the configuration of
your computer system and your environment.
283
Chapter 9. Managing Storage Media
• $ INITIALIZE
Refer to the VSI OpenVMS DCL Dictionary for details about using the /DENSITY qualifier with
these DCL commands.
You can also set densities using the following system management utilities:
• $ BACKUP
Refer to the MOUNT command in the VSI OpenVMS DCL Dictionary and to the BACKUP utility
in the VSI OpenVMS System Management Utilities Reference Manual for details about using the /
DENSITY qualifier. Also refer to Chapter 11 for details about using the /DENSITY qualifier with
BACKUP.
Example
$ INITIALIZE/DENSITY=tk85 MKA500: TEST
The command in this example initializes the media in the MKA500: drive to tk85 density with a label
of TEST.
Densities Supported
The following densities are valid in the command strings for DCL commands and system
management utilities: 800, 1600, 6250, DAT, 833, DDS1, DDS2, DDS3, DDS4, TK50, TK70, TK85,
TK86, TK87, TK88, TK89, 8200, 8500, 3480, 3490E, AIC, AIT, and DEFAULT.
Usage Notes
You cannot use multiple tape densities on one piece of media. In other words, one density applies
to one piece of media. If you do not specify a density, the default density is used; the default is the
highest density a particular drive supports.
Density changes can occur only at beginning-of-tape (BOT). Once media is initialized to a density, the
media remains at that density until it is reinitialized to a different density.
If a density is not supported on a particular device, depending on the drive, the density field either
remains the same or takes the default. If a drive does not support the density you select, the system
displays an invalid density error. Some drives do not report the error and simply ignore your selection,
leaving the media at the previous density.
When media is set to a specific density, the “density” field displayed when you enter $ SHOW
DEVICE/FULL MKA300:, for example, displays the corresponding ASCII string for density.
284
Chapter 9. Managing Storage Media
As long as file protections permit it, all users have access to public volumes and to the files on them.
One way to permit users to create and store files on a public volume is to create a default directory
on the public volume for each authorized user. You control access to public files and volumes by the
protection codes that you establish.
A user is free to create, write, and manipulate files on a public volume only under the following
conditions:
• Volume and file protection allow access, or you have privileges that allow you to access the files.
The following sections contain guidelines for setting up and maintaining public files and volumes.
285
Chapter 9. Managing Storage Media
Configuration Characteristics
Small mass storage Both system files and user files are on the same
public volume. You might want to set disk quotas
to ensure that user files do not exhaust the free
space on the disk volume.
Large mass storage Keep all system files on one disk volume (known
as a system disk or a system volume), and keep
all user files on separate volumes.
The most common arrangement is to have one public volume with system files and the directories of
privileged users, and other public volumes dedicated to user directories, databases, and applications
required by your site.
Whichever arrangement you select, plan each public volume and monitor disk performance once the
system is running:
• Be sure the system disk has enough space for the operating system to boot and accept updates.
• Once the system is running, use the Monitor utility (MONITOR) to analyze disk use to determine
whether disk I/O is balanced across the configuration. VSI OpenVMS System Manager’s Manual,
Volume 2: Tuning, Monitoring, and Complex Systems discusses this utility in detail.
You can often move system files off the system disk and use search lists or logical names to access
them. See VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex
Systems for more information.
In large configurations, you can place secondary paging and swapping files on other devices to
balance disk load. See VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring,
and Complex Systems for more information. The OpenVMS Performance Management provides
detailed information about redistributing system files and achieving a balanced disk load.
Under some circumstances, users might want to perform their work on a device that unauthorized
users cannot access. By creating a private volume and mounting it on a device allocated exclusively to
a user's process, you ensure that users can perform their work without fear of interference from others.
Users can often prepare and manipulate their own private volumes. They might, however, need your
assistance if the computer and its peripheral devices are off limits to or remotely located from them.
Users requiring assistance can use the operator communication manager (OPCOM) to communicate
with an operator. See Section 9.5.3 for instructions on answering users' requests for assistance.
286
Chapter 9. Managing Storage Media
across dismounts. An example of this is when you alternate between mounting a tape using the /
FOREIGN and/NOFOREIGN qualifiers.
The ALLOCATE command allocates only one device to a process. To allocate several devices, you
must use multiple commands.
where:
Examples
1. $ ALLOCATE DUA2:
%DCL-I-ALLOC, _MARS$DUA2: allocated
In this example, the ALLOCATE command specifies a physical device named DUA2:, which
requests the allocation of a specificRK10 disk drive; that is, unit 2 on controller A. The response
from the ALLOCATE command indicates that the device was successfully allocated.
This example shows how to use the /GENERIC qualifier with the ALLOCATE command to
allocate a particular type of device. In this case, the system allocates the first available RA90 drive
to your process.
For further discussion of the /GENERIC qualifier and other qualifiers that you can use with the
ALLOCATE command, refer to the VSI OpenVMS DCL Dictionary. The OpenVMS User’s Manual
contains additional examples of the ALLOCATE command.
Logging out of a process from which drives have been allocated automatically deallocates all
explicitly and implicitly allocated drives;therefore, explicitly deallocating a disk or a tape drive
that has been allocated to your process is not necessary. VSI, however, recommends that you use
the DEALLOCATE command (or a command procedure containing this command) explicitly to
deallocate all the drives you allocated with the ALLOCATE command.
287
Chapter 9. Managing Storage Media
DEALLOCATE device-name[:]
where:
Example
The following example shows how to explicitly deallocate a tape drive or a disk drive:
$ DEALLOCATE MUA1:
In this example, the DEALLOCATE command logically disconnects tape drive MUA1: from your
process. The system returns you to DCL level.
This structure prepares a volume to receive data and stores it so that the operating system can
locate it easily.
Before you or any user can write files or data to a disk, tape, or CD-ROM volume, you must set up
that volume. The steps for doing this are somewhat different for disk and tape volumes or for CD-
ROM volumes, as explained in the next two sections.
288
Chapter 9. Managing Storage Media
Caution
Initializing a disk volume removes links to existing files on the volume, which, in effect, deletes (but
does not erase) the files. To erase the data in a file, use the INITIALIZE/ERASE command.
Do not initialize a volume that contains data that users want to keep. (Initializing a volume each time
you use it is not necessary.)
Section 9.5 contains instructions for mounting volumes. Before you initialize a volume, you might
want to refer to Section 9.4, which contains information about volume protection.
For additional information about manipulating removable media on your workstation, refer to the
hardware manuals that accompany your workstation.
On VAX systems, also refer to the upgrade and installation supplement for your computer.
289
Chapter 9. Managing Storage Media
where:
device-name Specifies the name of the device on which the volume is to be physically
mounted and then initialized. To prevent initializing another user's volume,
allocate a device before you initialize the volume. (Prior allocation is not
required, however.)
volume-label Specifies the identification to be encoded on the volume. For a disk volume, you
can specify a maximum of 12 ANSI characters; for a magnetic tape volume, you
can specify a maximum of 6 alphanumeric characters.
To initialize a public volume, you must specify the /SYSTEM qualifier with the DCL command
INITIALIZE:
For more details on INITIALIZE command format, refer to the VSI OpenVMS DCL Dictionary.
Examples
1. $ INITIALIZE DUA2: TEMP
The command in this example initializes the disk volume DUA2: and labels the volume TEMP.
The command in this example initializes the tape volume on MUB2: and labels the volume TEST.
The OpenVMS User’s Manual contains additional examples of the INITIALIZE command.
290
Chapter 9. Managing Storage Media
Qualifier Description
default value of 16 leaves room for fewer than
10 files to be created before INDEXF.SYS must
extend. Therefore, estimate the total number of
files that will be created on the disk and specify it
here. A good estimate improves performance of
disk access. Setting the number too low can result
in a fragmented index file. However, if you set
the number too high, space allocated to headers
cannot be made available later for file storage and
can lead to wasted disk space. This value cannot
be changed without reinitializing the volume.
Caution
The default value for the /HEADER qualifier is generally insufficient for ODS-2 disks. To improve
performance and avoid SYSTEM-F-HEADERFULL errors, VSI strongly recommends that you set
this value to be approximately the number of files that you anticipate having on your disk. However,
grossly overestimating this value will result in wasted disk space.
Examples
1. $ INITIALIZE/HEADERS=100000 DUA3:
This example shows how many entries to allocate in the index files for a largedisk (a small disk
might allocate 2000 entries).
2. $ INITIALIZE/MAXIMUM_FILES=20000 DUA3:
291
Chapter 9. Managing Storage Media
This example shows how to specify the characteristics of a small disk. Note that each directory
and each extension header of a multiheader file counts as a file against this maximum value.
3. $ INITIALIZE/WINDOWS=10 DUA3:
This example shows how to cite a large number of pointers for a large disk of 500 MB.
For example:
$ INITIALIZE /STRUCTURE_LEVEL=5 DKA300: DISK1
$ MOUNT DKA300: DISK1 /SYSTEM
%MOUNT-I-MOUNTED, DISK1 mounted on _STAR$DKA300:
The first command initializes the DKA300: device as an ODS-5 volume and assigns the volume-label
DISK1. The second command mounts the DISK1 volume as a public volume.
To verify that the volume has been initialized as an ODS-5 volume, you can enter a SHOW DEVICE/
FULL command; the system displays messages similar to the following:
$ SHOW DEVICE DKA200:/FULL
Disk $10$DKA200:, device type RZ74, is online, allocated, deallocate
on dismount, mounted, file-oriented device, shareable.
Error count 0 Operations completed 155
.
.
.
Volume Status: ODS-5, subject to mount verification, file high-water
marking, write-back caching enabled.
An alternative method for displaying the volume type is to issue a command and receive a response
similar to the following:
$ WRITE SYS$OUTPUT F$GETDVI ("DKA200:", "ACPTYPE")F11V2
Note
If you plan to add the new volume to a volume set, the structure level of the new volume must match
that of the volume set. If it does not, the Mount utility displays the following error message:
Structure level on device ... is inconsistent with volume set.
292
Chapter 9. Managing Storage Media
• If the volume previously contained data, the protection code might prevent users from accessing
and initializing the volume.
• If the first file section on the volume has not reached its expiration date, users might not be able to
initialize a tape volume.
• If the volume is owned by anyone except [0, 0], the user must have VOLPRO privilege to override
volume protection. If users do not have VOLPRO privilege, they must ask the previous owner of
the volume or you, as system manager, to initialize it for them.
• If a tape is blank, the user must have VOLPRO and OPER privileges to access and initialize it.
For additional access control, you can set access control lists (ACLs) on volumes. Volume ACLs are
copied from the VOLUME.DEFAULT security class template. See Section 12.6 for more information
about ACLs.
Table 9.9 shows the types of access you can assign to disk and tape volumes.
For more information about specifying protection codes, refer to the VSI OpenVMS Guide to System
Security. Chapter 12 discusses protection in general.
293
Chapter 9. Managing Storage Media
Task Section
Protecting disk volumes Section 9.4.1
Protecting tape volumes Section 9.4.2
Auditing volume access Section 9.4.3
The default access types for the disk volume owner [0, 0] are:
The system establishes this protection with the default qualifier of the INITIALIZE command (/
SHARE). Any attributes that you do not specify are taken from the current default protection.
• Use ACLs. The entire security profile (owner UIC, protection code, and ACL) is stored on the
volume. If you change the volume security profile for a volume mounted clusterwide, the change
is distributed to all nodes in the cluster. If you dismount and remount a volume, the security
profile for the volume is preserved.
• Use the DCL command SET SECURITY to modify the default security profile after a volume is
mounted, including UIC- and ACL-based protection.
• Use protection qualifiers with the DCL command INITIALIZE to specify UIC-based protection
when you initialize a volume.
You can also specify protection when you mount disk volumes, but you ordinarily do not do
so because the protection that you specify is in effect only while the volume is mounted. For
details, refer to the Mount utility (MOUNT) in the VSI OpenVMS System Management Utilities
Reference Manual.
• Use the DCL command SET VOLUME after you mount a volume to change UIC-based volume
protection.
Task Section
Specify protection when you initialize volumes Section 9.4.1.1
Change protection after volumes are mounted Section 9.4.1.2
Display protection Section 9.4.1.3
294
Chapter 9. Managing Storage Media
You can specify protection in one of the following ways when you initialize volumes:
• Use the /PROTECTION qualifier with the INITIALIZE command. For example:
This example specifies a protection code for the disk volume ACCOUNT1 on the DUA7: device.
The UIC of the volume is set to your process UIC.
• Use one or more of the qualifiers shown in Table 9.10with the INITIALIZE command. However,
the protection that you set using the /PROTECTION qualifier overrides any of the defaults set
when you use any other qualifier.
You usually do not change volume protection after you initialize a volume. By specifying a
protection qualifier with the INITIALIZE command, you can establish the default protection of a
volume. (The default qualifier of the INITIALIZE command is /SHARE, which grants all types of
ownership all types of access.)
Table 9.10 explains the qualifiers you can use to specify disk volume protection when you
initialize disk volumes.
Qualifier Explanation
/PROTECTION The protection you specify with this qualifier
overrides any protection you specify with other
qualifiers.
/SYSTEM All processes have read, write, create, and delete
access to the volume, but only system processes
can create first-level directories. ([1, 1] owns the
volume.) See the note following this table.
/GROUP System, owner, and group processes have read,
write, create, and delete access to the volume.
World users have no access.
/NOSHARE System and owner processes have read, write, and
delete access to the volume. World users have no
access. Group users also have no access unless
you specify the /GROUP qualifier.
Note
The /SYSTEM qualifier grants all users complete access. However, users cannot create directories or
files unless you perform one of the following actions:
295
Chapter 9. Managing Storage Media
• Change the protection on the newly created master file directory (MFD), [000000]000000.DIR;1
to allow users to create their own directories under this parent directory.
• Under the master file directory, create user directories that give users write access so that they, in
turn, can create their own directories.
Table 9.11 shows the UIC and protection that the system sets for disk volumes when you use the
default, /SHARE, and other qualifiers with the INITIALIZE command.
By default, the device protection is assigned to ISO 9660 files and directories. When you mount the
volume, you can specify additional file protection using the UIC and PERMISSION protection fields
included in the Extended Attribute Records (XARs) that might be associated with each file.
You can enable the protection fields by specifying either of the following items:
When you specify the XAR option for a file that has an associated XAR, the protection fields in
the XAR are enabled.
• DIGITAL System Identifier (DSI) mount option, using the following format:
MOUNT/PROTECTION=DSI
If you specify the DSI option, you enable the XAR permissions Owner and Group for XARs
containing DSI.
For more information about the XAR and DSI options, refer to the OpenVMS Record Management
Utilities Reference Manual.
296
Chapter 9. Managing Storage Media
To change UIC-based protection after a volume is mounted, use the SET SECURITY/
CLASS=VOLUME/PROTECTION command. For example:
The protection set in this example allows the system and owner all types of access. Group and world
access types can only read files and run programs. Any category not specified in the protection code
(S, O, G, W) is unchanged.
To change ACL-based protection after a volume is mounted, use the SET SECURITY/
CLASS=VOLUME/ACL command. To change the ACL, for example:
This example gives holders of the DOC identifier read, write, and execute access to the $1$DSA7:
volume.
In the display are the name and profile of the VOLUME class object $1$DSA27.The profile includes
the owner UIC, the protection code, and the access control list (ACL)of the protected object.
297
Chapter 9. Managing Storage Media
The security profile of a tape volume is stored in the ANSI VOL1 and VOL2labels written on the
tape. The VOL2 label contains system-specific information. To override the creation of VOL2
labels, specify the /INTERCHANGE qualifier with the INITIALIZE command or the INIT
$_INTERCHANGE item code on the $INIT_VOL system service.
With the /PROTECTION qualifier, the system applies only read (R) and write (W) access restrictions.
(Execute [E]and delete [D] access do not apply.) The system and the owner always receive both read
(R) and write (W) access to magnetic tapes, regardless of the protection code you specify.
298
Chapter 9. Managing Storage Media
The following list contains guidelines for protecting specific types of magnetic tapes:
• With tapes processed on any operating system that supports a version of the ANSI standard later
than Version 3, the system processes accessibility information in the first volume label.
• To process magnetic tapes created on an operating system other than the OpenVMS operating
system Version 4.0 or later, a user must have VOLPRO privilege and must explicitly override the
check on the protection as follows:
• If the tape was created with a specified accessibility, then a user must have the appropriate
privilege and must explicitly override the check on accessibility.
• If the tape volume was not created with such a protection scheme, then a user is granted read
and write access to that tape volume.
• The tape file system allows you to specify values for the fields in which other operating systems
currently write their protection information. Except under the conditions described in the last
bulleted item, the OpenVMS operating system does not process these fields. Thus, you can use
these fields to store the protection values for another operating system without affecting the
system protection characteristics on that particular volume.
• The system does not audit access for tapes, ODS-1, or foreign-mounted volumes.
If you specify the /FOREIGN qualifier when you mount a volume, the system does not impose a
format on the media, and you cannot access the files on the mounted volume. Use the /FOREIGN
qualifier to mount volumes with formats of operating system that are not OpenVMS or with private
formats.
Because foreign volumes are not file-structured, you must access them as follows:
• Tapes – sequentially
299
Chapter 9. Managing Storage Media
At times, the Backup utility (BACKUP) requires you to mount volumes with the /FOREIGN
qualifier, when you restore an entire disk, for example. For details, refer to the VSI OpenVMS System
Management Utilities Reference Manual.
2. Enter the MOUNT command (which invokes the Mount utility), using the following format:
MOUNT device-name volume-label logical-name
where:
device-name Specifies the physical device name or logical name of the device on which the
volume is to be mounted.
volume-label Specifies the label on the volume.
logical-name Defines a logical name to be associated with the device.
• To mount a public volume, use the /SYSTEM qualifier with the DCL command MOUNT using
the following format:
MOUNT/SYSTEM device-name volume-label logical-name
Table 9.13 and Table 9.14 show, respectively, the qualifiers you can use when you mount disks and
tapes.
Task Section
Use MOUNT command qualifiers when you Section 9.5.1
mount disks
Use MOUNT command qualifiers when you Section 9.5.2
mount tapes
Assist users with mounting Section 9.5.3
Mount a volume with a protected subsystem Section 9.5.4
300
Chapter 9. Managing Storage Media
Task Section
Convert an existing volume from one ODS Section 9.5.5
format to another
Modify disk volume characteristics Section 9.5.6
Qualifier Description
/ACCESSED= n Requires OPER privilege; specifies the
approximate number of directories that will be in
use concurrently on the volume. (This qualifier
is obsolete for ODS-2.) For example, on a large
500 megabyte (MB) disk you might select a value
of 40, but on a small disk you might specify the
following value:
$ MOUNT/ACCESSED=2 DUA3:
/ASSIST Directs the mount operation to allow operator
or user intervention if the mount request fails.
The /ASSIST qualifier is the default except
during system startup. Encourage users to take
advantage of this feature, which repeatedly alerts
the operator of a mount request until the request
is satisfied.
$ MOUNT/SYSTEM/NOASSIST DUA1:
SALES_98
/BIND= volume-set-name Creates a volume set of one or more disk volumes
or adds one or more volumes to an existing
volume set. For example:
$ MOUNT/SYSTEM/BIND=CLIENTS DUA0:,
DUA1: EUROPE, ASIA
$ MOUNT/CACHE=(EXTENT=60,
FILE_ID=60, QUOTA=20) -
_$ DMA0: FILES WORK
301
Chapter 9. Managing Storage Media
Qualifier Description
%MOUNT-I-MOUNTED, FILES
mounted on _NODE$DMA0:
$ MOUNT/SYSTEM/CLUSTER DUA1:
SALES_95
/COMMENT= "string" Specifies additional information to be included
with the operator request when the mount
operation requires operator assistance. For
example:
$ MOUNT/EXTENSION=2 DUA3:
/FOREIGN Indicates that the volume is not in the standard
format used by the operating system. Use this
qualifier if you want to mount a disk volume with
a file structure other than Files–11 or ISO 9660;
for example (using DISK as a logical name):
$ MOUNT/FOREIGN DISK
/MEDIA_FORMAT=CDROM Mounts a volume assuming the media to be ISO
9660 (or High Sierra) formatted.
/[NO]MOUNT_VERIFICATION Enables or disables the mount verification feature
on disks. By default, the mount verification
feature is enabled. If a device goes off line or
becomes write-locked, mount verification notifies
the operator of the error condition, and then
302
Chapter 9. Managing Storage Media
Qualifier Description
checks to see that the volume identification
before and after the error condition are identical.
$ MOUNT/SYSTEM/NOMOUNT_VERIFICATION
DUA1: ACCOUNTS_DUE
/OVERRIDE= keyword Inhibits one or more protection checks that the
MOUNT command performs.
/PROTECTION= keyword Specifies the protection code to be assigned to the
volume. Keywords are in the following list:
303
Chapter 9. Managing Storage Media
Qualifier Description
SECURITY privilege.) By default, the disk from
which you boot has /SUBSYSTEM enabled but
other disks do not. The following command uses
the MOUNT command with the /SUBSYSTEM
qualifier to enable the processing of subsystem
ACEs on the DUA0: device (DOC is the volume
label; WORK8 is an optional logical name for the
volume):
$ MOUNT/WINDOWS=4 DUA3:
Unless otherwise noted, you must have VOLPRO privilege to use any of these qualifiers when the
volume is a standard-labeled volume containing protection that disallows your process from accessing
the volume.
304
Chapter 9. Managing Storage Media
Qualifier Description
is for input or output, and whether the operation
uses OpenVMS RMS. By default, the system
writes 2048-byte blocks.
/CACHE=TAPE_DATA Requires OPER privilege; enables the write cache
for a tape device if the tape controller supports
one. /NOCACHE is the default for mounting tape
devices.
$ MOUNT/SYSTEM/NOMOUNT_VERIFICATION
MUA1: ACCOUNTS_DUE
/OVERRIDE= keyword Inhibits one or more of the access checks that the
MOUNT command performs. For example:
$ MOUNT/OVERRIDE=IDENTIFICATION
MFA0:
305
Chapter 9. Managing Storage Media
Qualifier Description
Keywords are in the following list:
• UNIQUE
• SAME: device
• filespec
$ MOUNT/PROCESSOR=SAME:MTA1: MFA0:
306
Chapter 9. Managing Storage Media
Qualifier Description
length records or the maximum size of variable-
length records.
Two other qualifiers that are important for mounting tape volumes are /INITIALIZE and /
AUTOMATIC, which are explained in Section 9.9.2.2 and Section 9.9.2.3, respectively.
Example
$ MOUNT MU: TEST_FILES
%MOUNT-I-OPRQST, Please mount volume TEST_FILES in device _MUA2:
%MOUNT-I-MOUNTED, TEST_FILES mounted on _MUA2:
In this example, the MOUNT command requests an available RA90 device for the volume labeled
TEST_FILES. After you physically mount the volume in the device named in the response from
MOUNT, the system completes the operation. Note that the device is automatically allocated by
MOUNT.
Upon successful completion of the operation, MOUNT notifies you with a message sent to SYS
$OUTPUT. If the operation fails for any reason, MOUNT notifies you with an error message.
When a user requests you to mount a specific disk or tape on a device, the following type of message
appears on the operator terminal:
1. A user requests that you mount the volume TEST_FILES on the device DUA2: by entering the
following command:
2. OPCOM notifies you of the request by displaying a message similar to the following one at the
operator terminal:
3. Once you receive the request, OPCOM delivers a confirmation to the user, in a format similar to
the following:
4. After you locate the volume and place it on the device, OPCOM notifies the user that the volume
is on the device and that the task is complete:
307
Chapter 9. Managing Storage Media
Instead of requesting a specific hardware device, such as DUA2:, for mounting a volume, users can
make a generic MOUNT request. A generic MOUNT request specifies a type of device and lets you
find an available device in that class. For example, to mount the volume CITIES on any tape drive
whose name begins with MU, the user enters the following command:
$ MOUNT MU: CITIES/COMMENT="Slot 12c"
If the user has already allocated a drive whose name begins with MU, the Mount utility requests that
you mount CITIES on that particular drive. If no device has been allocated, the Mount utility allocates
the first available MU tape drive it finds and requests you to mount CITIES on that drive.
1. Use the operator communication manager (OPCOM) to communicate with system users. OPCOM
is a system process that receives input from a process that wants to inform an operator of a
particular status or condition; OPCOM passes the message to the operator, and tracks the message.
To use OPCOM, you must use a terminal that has been designated as an operator terminal. See
Section 2.4.5for instructions.
If a user enters a MOUNT/ASSIST command and the desired device is unavailable, you can
substitute another device. Whenever you must substitute a device, load the requested volume on
the alternate device and prepare the device for connection before you enter the REPLY command.
Use the following format:
REPLY/TO=identification-number “SUBSTITUTE device-name”
You can abbreviate the word SUBSTITUTE to “S” and use uppercase or lowercase letters. After a
space, use the remainder of the message-text space to name the substituted device.
Examples
1. $ REPLY/TO=24 "SUBSTITUTE DUA1:"
308
Chapter 9. Managing Storage Media
This example shows how an operator redirects the mount operation to the DUA1: device.
This is an example of a user's request and the substitution information the user receives. In this
example, the MKA100: device has been substituted for the MKB500:device.
Refer to the VSI OpenVMS DCL Dictionary for a complete list of REPLY qualifiers and their
functions. See Section 9.9.2.4for instructions for entering REPLY commands after you mount a
volume set with automatic switching disabled.
Unprivileged users can build and manage protected subsystems. You must be involved at two points
in the process:
• To create the necessary identifiers for the subsystem. Refer to the VSI OpenVMS Guide to System
Security for details.
• To mount the volume with the protected subsystem, which is explained in this section.
Caution
Anyone who mounts a subsystem is responsible for knowing what is on the volume being mounted.
VSI strongly recommends that you find out what is on a volume before you mount a subsystem.
Without this knowledge, you might inadvertently subvert system security and jeopardize the privacy
of users' data.
For example, a user with malicious intent who has privileges on one OpenVMS Cluster node might
place an application with a subsystem identifier on a volume and then request an unsuspecting
operator or system manager to mount the volume on another node. Because the application has a
subsystem identifier, the application appears to belong to a subsystem for which it is unauthorized.
You can dynamically turn on and off the processing of Subsystem ACEs with the DCL command
SET VOLUME/SUBSYSTEM. This command is especially useful for the system disk, which is not
mounted using the MOUNT command.
Example
The command in the following example mounts the volume labeled DOC on the DUA0: device.
Subsystems on the volume are accessible. The MOUNT command also assigns the logical name
WORK8.
309
Chapter 9. Managing Storage Media
Omitting the /SYSTEM qualifier causes the system to mount the volume as a private, not a public,
volume.
You can check that the volume is ODS-2 by entering a SHOWDEVICE/FULL command and
seeing a display like the following:
An alternative method for displaying the volume type is to issue a command and receive a
response similar to the following:
3. VSI strongly recommends that you back up the volume. You cannot go back to ODS-2 format
once you change to ODS-5 except by restoring a backup, as described in Section 9.5.5.3. For
example:
4. Set the characteristics of the disk by using a command in the following format:
For example:
310
Chapter 9. Managing Storage Media
Note
You cannot use the SET VOLUME command to change a volume from ODS-5 to ODS-2.To reset a
volume to ODS-2, you must use BACKUP as described in Section 9.5.5.3.
If a failure occurs after you enter the SET VOLUME/STRUCTURE_LEVEL command, refer to the
instructions at the end of this section.
When you enter the SET VOLUME command, the system verifies that the volume can be
converted by testing for the following items:
• The device must be a disk, and its on-disk structure must be ODS-2or ODS-5.
If the volume fails these tests, the system displays messages similar to the following:
%SET-E-NOTMOD, DKA300: not modified
-SET-E-NOTDISK, device must be a Files-ll format disk
%SET-E-NOTMOD, DKA300: not modified
-SET-W-INVODSLVL, Invalid on-disk structure level
• The disk must be privately owned; the owner process-ID (PID) must be the same as the PID of
the parent process that issues the SET VOLUME command.
If the volume fails this test, the system displays a message similar to the following:
%SET-E-NOTMOD, DKA300: not modified
-SET-W-NOTPRIVATE, device must be mounted privately
• The mount count must indicate that the device was mounted only once, which protects against
anyone mounting the device over a cluster.
If the volume fails this test, the system displays a message similar to the following:
%SET-E-NOTMOD, DKA300: not modified
-SET-W-NOTONEACCR, device must be mounted with only one accessor
Warning
After using the SET VOLUME /STRUCTURE_LEVEL=5 command, do not access the disk further
until the disk is dismounted and remounted.
5. Dismount the private volume and remount the volume publicly by entering commands similar to
the following:
$ DISMOUNT DKA300:
$ MOUNT /CLUSTER DKA300: DISK1
%MOUNT-I-MOUNTED, DISK1 mounted on _STAR$DKA300:
To verify that the volume has been converted to ODS-5, you can enter a SHOW DEVICE/FULL
command and see a display similar to the following:
$ SHOW DEVICE DKA300:/FULL
311
Chapter 9. Managing Storage Media
An alternative method for displaying the volume type is to issue a command and receive a response
similar to the following:
$ WRITE SYS$OUTPUT F$GETDVI ("DKA500:", "ACPTYPE")F11V5
If either condition is true, you can enter the MOUNT command only with the /NOSHARE qualifier
(or with no qualifier, because /NOSHARE is the default). When you do, the system displays the same
error message but only as a warning.
In the examples in the following descriptions, notice that when you perform a conversion to or from a
save set, the created as or copied as message is displayed for the converted files.
You can use this method if you have an image backup of an ODS-5 disk, and you want to
restore it to an ODS-2 disk.
In the command line in the following example, IMAGE.BCK is the ODS-5 save set, and
DKA200: is the ODS-2 disk. When you use this conversion method, you must pre-initialize
312
Chapter 9. Managing Storage Media
the output disk to ODS-2 and then include the /NOINIT qualifier in your command line in
order to preserve the ODS-2 structure level.
You can use this method to make an ODS-2 image save set of an ODS-5 disk that can be read
by a system running a version of OpenVMS prior to Version 7.2.
In the following example, DKA500: is an ODS-5 disk, and IMAGE.BCK is an ODS-2 save set
on the DKA200: disk.
313
Chapter 9. Managing Storage Media
%BACKUP-S-COPIEDAS, copied
DKA200:[TEST_FILES]This^_is^_a^_Test^{_File_^}.Dat;1 as
DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
%BACKUP-S-COPIED, copied DKA200:[000000]VOLSET.SYS;1
You can use this method to create an ODS-2 disk from an ODS-5 disk without creating an
intermediate save set.
When you use this conversion method, you must pre-initialize the output disk to ODS-2 and
include the /NOINIT qualifier in your command line in order to preserve the ODS-2 structure
level.
In the following example, DKA500: is the ODS-5 disk, and DKA200: is the ODS-2 disk.
$ BACKUP/LOG/CONVERT/IMAGE DKA500: DKA200:/NOINIT
This conversion method allows you to interchange files between ODS-5 and ODS-2 disks.
You can, for example, select a directory tree for a disk-to-disk “copy” operation.
In the following example, DKA500: is the ODS-5 disk, and DKA200: is the ODS-2 disk.
$ BACKUP/LOG/CONVERT DKA500:[*...]*.*;* DKA200:[*...]*.*;*
%BACKUP-I-ODS5CONV, structure level 5 files will be converted to
structure level 2 on DKA200:
-BACKUP-I-ODS5LOSS, conversion may result in loss of structure level
5
file attributes
%BACKUP-S-CREDIR, created directory DKA200:[TEST_FILES.SUB$$DIR$]
%BACKUP-S-CREATED, created DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_
$.DAT;1
%BACKUP-S-CREATED, created DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_
$.DAT;1
314
Chapter 9. Managing Storage Media
You can use this method to save ODS-5 files in a save set that can be read on a system running
a version of OpenVMS prior to Version 7.2.
In the following example, DKA500: is an ODS-5 disk, and DKA200: is an ODS-2 disk;
FILES.BCK is the ODS-2 save set.
$ BACKUP/LOG/CONVERT DKA500:[*...]*.*;* DKA200:FILES.BCK/SAVE
%BACKUP-I-ODS5CONV, structure level 5 files will be converted to
structure level 2 on DKA200:
-BACKUP-I-ODS5LOSS, conversion may result in loss of structure level
5
file attributes
%BACKUP-S-COPIED, copied DKA200:[000000]000000.DIR;1
%BACKUP-S-COPIED, copied DKA200:[000000]TEST_FILES.DIR;1
%BACKUP-S-COPIEDAS, copied DKA200:[TEST_FILES]Sub^_^{Dir^}.DIR;1 as
DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
%BACKUP-S-COPIEDAS, copied DKA200:
[TEST_FILES.Sub^_^{Dir^}]Sub^&_~_File_~.Dat;1 as
DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
%BACKUP-S-COPIEDAS, copied
DKA200:[TEST_FILES]This^_is^_a^_Test^{_File_^}.Dat;1 as
DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
If BACKUP cannot convert a file name within its existing directory, it converts the file name and
leaves it unconnected so that ANALYZE /DISK /REPAIR can connect it to the [SYSLOST] directory,
where the file has an ODS-2-compliant name. BACKUP also displays messages similar to the
following:
%BACKUP-I-RECOVCNT, 5 files could not be converted into a directory on
DKA100:
-BACKUP-I-RECOVCMD, use the Analyze/Disk_Structure/Repair command to
recover files
In this case, you need to move the file from [SYSLOST] to the appropriate directory. Refer to the
created as log messages to see where the file would logically be placed and place it there manually.
The following examples illustrate how you can use the SET VOLUME command.
Examples
1. $ SET VOLUME/DATA_CHECK=(READ, WRITE) DKA100:
This command requests that data checks be performed following all read and write operations to
the DKA100: volumes.
This command encodes the label LICENSES on the DKA100: volume. Note that, if characters in
labels are entered in lowercase, the /LABEL qualifier changes them to uppercase.
315
Chapter 9. Managing Storage Media
Note
DISKMOUNT.C does not support mounting of disks connected to an InfoServer, disks served using
DFS, or stripe sets.
5. Copy these executable images to a directory, preferably SYS$MANAGER on the target system.
Task Section
Create a disk volume set from new volumes Section 9.6.2
Create a shadowed disk volume set Section 9.6.3
Create a disk volume set from an existing volume Section 9.6.4
Add volumes to a disk volume set Section 9.6.5
• Files are automatically located anywhere on the volume set that space is available.
Use a volume set to provide a large, homogeneous public file space. You must use a volume set to
create files that are larger than a single physical disk volume. (The file system attempts to balance the
load on the volume sets, for example, by creating new files on the volume that is the least full at the
time.)
316
Chapter 9. Managing Storage Media
If you want several distinct areas of file storage, with different types of users or different management
policies, you must use a separate volume or volume set for each area. For example, you might want
one volume for permanent user storage, with limited disk quotas and regular backups. You might want
another volume for “scratch” use, which means that the volume has liberal or no quotas and is not
backed up; also, its files are purged on a periodic basis. Each separate volume or volume set must
contain a top-level user file directory for each user who keeps files on that volume.
An advantage of separate volumes is their modularity. If one of the drives holding a volume set is out
of service, the whole volume set is unavailable because of its interconnected directory structure. When
a drive holding a single volume is not functioning, only the files on that volume are not available.
A disadvantage of volume sets is the large size of an image backup of a multivolume set, which might
affect your backup schedule. For example, if backing up each of five separate volumes takes 5 hours
in the evening, backing up these same volumes in a volume set will take 25 hours, which cannot be
done overnight, thus possibly causing a scheduling problem.
• You can turn any single volume into a volume set by binding it with a newly initialized volume.
Likewise, you can add another newly initialized volume to an existing volume set.
Caution
Do not make the system disk part of a volume set because updates, upgrades, and optional product
installations do not install correctly, and the operating system will no longer boot successfully.
• You cannot bind two existing separate volumes containing files into a volume set. (The MOUNT
command appears to let you do this, but the result is not a coherent volume set.)
• Enter the MOUNT/BIND command only once to bind a volume set; thereafter, the volume set
association is recorded on the volumes.(See Section 9.5 for details.)
• Once you bind two or more volumes into a volume set, you cannot separate them. The only way to
separate a volume set is to use the Backup utility (BACKUP)to copy sets of directories selectively.
(See Section 11.13 for more information.)
When you mount a disk volume set, the volume label specified in the list must correspond to a device
name in the same position in the device name list.
You can bind two or more disk volumes into a volume set. The first volume in the set is called the
root volume. Each volume in the set is identified by a volume number relative to the root volume,
which is always relative to volume 1.
When a disk volume set is on line and mounted, you can access all files and directories in the set by
specifying either of the following names:
317
Chapter 9. Managing Storage Media
where:
The volume set name must be different from all volume labels within the set, and all labels in the set
must be unique.
The /BIND qualifier identifies a volume set by assigning it a volume set name that applies to all
volumes in the set. The qualifier also identifies the root volume and creates the directory structure for
the volume.
When you create files on a volume set, the file system allocates space for the files anywhere on the
set, wherever the most space exists. When existing files on any volume are extended, extension occurs
on the same volume unless the volume is physically full.
You can add new volumes to a volume set whenever additional space is needed. You can, for example,
bind all disk volumes that are mounted into a volume set on a daily basis. Since this set contains all
user file directories, users do not need to specify device names in file specifications to access files on
any volume in the volume set. In fact, the physical location of a file is of no concern to users of the
system.
Note
Do not bind your system disk into a volume set. System software updates and optional product
installations do not support volume sets. If certain system files move or extend to other volumes in the
set, the system might fail to boot.
You do not need special privileges to create volume sets. However, you must have write access to the
index file on all volumes you are attempting to bind into a volume set; this usually means you also
must have a system UIC, have the user privilege SYSPRV, or be the owner of the volumes.
Task Section
Create a disk volume set from new volumes Section 9.6.2
Create a shadowed disk volume set Section 9.6.3
Create a disk volume set from an existing volume and a new volume Section 9.6.4
Add volumes to an existing disk volume set Section 9.6.5
318
Chapter 9. Managing Storage Media
When you initialize volumes for a volume set, you can use qualifiers with the INITIALIZE
command to define the volume ownership and protection. Protection and ownership information
is obtained from the root(first) volume. The protection and ownership of the other volumes is
ignored.
3. Enter the MOUNT/BIND command to create the volume set. The MOUNT/BIND command both
creates the volume set and mounts the volumes. When this command completes successfully, all
volumes in the set are ready for use; in other words, you can now create user file directories.
4. Use the /BIND qualifier only once to create the volume set. Subsequently, you can mount the
volume set with a single MOUNT command.
Examples
1. $ INITIALIZE DUA1: PAYVOL1
$ INITIALIZE DUA2: PAYVOL2
$ INITIALIZE DUA3: PAYVOL3
$ MOUNT/BIND=MASTER_PAY DUA1:, DUA2:, DUA3: PAYVOL1, PAYVOL2, PAYVOL3
This example assumes that the volumes to be bound contain no files or data. The INITIALIZE
command initializes each volume in the set. The MOUNT/BIND command defines the volume
set name, MASTER_PAY, and defines the relative volume numbers of the volumes PAYVOL1,
PAYVOL2, and PAYVOL3.
The order of the device names corresponds to the volume labels specified:PAYVOL1 must be
physically loaded on DUA1:, PAYVOL2 on DUA2:, and PAYVOL3 on the DUA3: device.
PAYVOL1, which is listed first in the list of labels, becomes the root volume of the set. The
master file directory (MFD) for PAYVOL1 contains the directory structure for the entire volume
set.
This example illustrates the use of one MOUNT command to mount a previously created volume
set.
This command creates a volume set with the logical name TEST3013. The volume set TEST3013 is
shadowed, and each element of the shadowset (TEST3011 andTEST3012) is itself a volume set.
1. Use the DISMOUNT command to dismount the existing volume. Use the/NOUNLOAD qualifier
to logically dismount the volume from the drive. (The volume, however, remains physically
loaded on the drive.)
319
Chapter 9. Managing Storage Media
2. Use the INITIALIZE command to initialize the new volume, specifying the device on which the
volume is to be mounted and the volume label.
3. Use the MOUNT/BIND command to bind the new volume to the existing volume, specifying the
volume set name, the devices on which the volumes are mounted, and the volume labels.
Specify the volume label of the existing volume first; it becomes the root volume of the set.
When you create a volume set from an existing volume, you must specify the label of the existing
volume first because the file system must build on the existing directory structure.
Example
The following example shows how to create a disk volume set (called USERS)from an existing
volume. In this example, the volume USERFILES already contains a directory structure and files;the
volume is currently located on the DUA1: device.
$ DISMOUNT/NOUNLOAD DUA1:
$ INITIALIZE DUA2: USERFILES2
$ MOUNT/BIND=USERS DUA1:, DUA2: USERFILES, USERFILES2
In the MOUNT/BIND command, you must specify the existing volume label USERFILES before the
volume label USERFILES2. USERFILES will be the root volume of the set.
Caution
If you attempt to create a volume set from two or more volumes that already contain files and data, the
file system does not issue an error message when you enter the MOUNT/BIND command. However,
the volumes are unusable as a volume set because the directory structures are not properly bound.
This section contains examples that show how to add volumes to an existing volume set.
Examples
1. $ INITIALIZE DUA4: PAYVOL4
$ MOUNT/BIND=MASTER_PAY DUA4: PAYVOL4
In this example, the volume set named MASTER_PAY is on line and mounted and has volumes
named PAYVOL1, PAYVOL2, and PAYVOL3.
The MOUNT/BIND command binds the volume PAYVOL4 with the existing volume set and
makes the volume ready and available for use. Note that, if the volume set MASTER_PAY is
mounted with the /SYSTEM, /GROUP, or /SHARE qualifier, the MOUNT/BIND command that
adds a volume to the set must also specify the appropriate qualifier.
When you add a volume to an existing set, the only volume in the set that you must mount is the
root volume, relative volume 1 (in this example, DUA4:). Mounting any of the other volumes is
not necessary.
320
Chapter 9. Managing Storage Media
In this example, a set named MASTER_PAY already exists, with volumes named PAYVOL1,
PAYVOL2, and PAYVOL3.
You can add a volume to a set at the same time that you mount the volume set, as this example
shows. Note that the first device/volume pair listed in the MOUNT/BIND command is the root
volume of the set, the DUA1: volume. When you add a volume to a set while mounting the set,
you must list the root volume first.
You can perform the one-time allocation of additional bitmap space at either of the following times:
To allocate additional bitmap space when you initialize a disk, enter the INITIALIZE /LIMIT
command; for example:
To allocate additional bitmap space later, enter the SET VOLUME /LIMIT command for a
privately mounted volume; for example:
Once allocated, the volume can be expanded while the disk is mounted as shareable (MOUNT /
SHARE).
321
Chapter 9. Managing Storage Media
• The default size of /LIMIT for both commands in the preceding examples is 1TB, which is also
the maximum size currently supported on OpenVMS. Under special circumstances, you might
want to specify a smaller size.
• Enter the SET VOLUME /LIMIT command to increase the expansion limit of the disk.
• When you enter either DCL command to expand bitmap space, you create a BITMAP.SYS file
that is large enough for all future growth.
• You can allocate additional bitmap space whether or not the physical volume has room for
expansion. The commands for allocating extra bitmap size and for expanding the volume size are
introduced in OpenVMS Alpha Version 7.3-2.
• Volumes that use the dynamic volume expansion feature can be used by any AlphaServer or VAX
system running OpenVMS Version 7.2 or higher.
• By using the HSV controller to add storage. These controllers expand volume size online.
• By using Dissimilar Device Shadowing (DDS), which allows you to combine disks of varying
sizes into a shadow set.
With DDS, which is a new feature in OpenVMS Version 7.3-2, you can shadow one disk with other
disks that are larger than the original one. You can, for example, shadow an RA90 disk with Fibre
Channel disks. The only restriction is that additional shadow members must be at least as large as the
first member. No limit exists, however, on how much larger additional disks can be.
For more information about DDS, refer to HP Volume Shadowing for OpenVMS.
This command initializes the disk at 18 Gb of file system space. You can expand the file system later,
if the need arises.
To increase the expansion limit on volumes already in use, plan to increase the expansion limit during
the next convenient maintenance period using the SET VOLUME /LIMIT command.
When you use the /LIMIT qualifier with the INITIALIZE or SET VOLUME command, you increase
the BITMAP.SYS file by a few hundred blocks, which gives you much greater flexibility in the future.
You can later expand the volume (using the SET VOLUME /SIZE command) quickly if your storage
requirements increase unexpectedly.
322
Chapter 9. Managing Storage Media
1. Verify that all systems in the cluster are running OpenVMS Version 7.2 or higher.
2. If the disk is mounted shareable (if you specified one of the following qualifiers when you
mounted it: /CLUSTER, /GROUP, /SYSTEM, or /SHARE), dismount the disk and remount it for
private use. Do not specify /CLUSTER, /GROUP, /SYSTEM, or /SHARE.
The following example shows how to increase the expansion limit of a volume mounted in a
cluster:
The Mount utility (MOUNT) builds the I/O database structures that are needed to access ISO 9660
directories and files. MOUNT also verifies the presence of an appropriate ACP to perform $QIO
functions specific to ISO 9660. Currently, you cannot mount ISO 9660 media as a system disk. Refer
to the VSI OpenVMS System Management Utilities Reference Manual for details.
For more information about ISO 9660 volume structure on CD–ROM media, refer to the Guide to
OpenVMS File Applications.
If your volume set is greater than the number of CD–ROM readers available to you, you can swap
volume set members, for example, as you might when you have a single reader with multiple volume
set members.
Each volume in a volume group contains information describing all the files and directories recorded
on all of the volumes in the volume set, up to and including the members of its volume group. For
example, assume that a volume set includes two volume groups:
323
Chapter 9. Managing Storage Media
• The first group includes Volumes 1 and 2, which were recorded together, prior to the second
group.
Volumes 1 and 2 each contain information only about their volume group; they have no
information about the volumes in the second volume group.
• The second group includes Volumes 3, 4, and 5, which were recorded together at a later date.
Volumes 3, 4, and 5 each contain information about all of the volumes in the volume set, including
Volumes 1 and 2.
If you do not follow this requirement, you must dismount all of the volumes and start again by
specifying a member of the highest-numbered volume group as the first volume to be mounted.
When a volume-set member is not mounted because the volume set is partially mounted, OPCOM
sends a message to the OPERATOR class DISK requesting that the unmounted volume be mounted.
If you do not honor the request within a specified time period, or if you do not enable the option to
provide for dynamically mounting a volume, the I/O process fails, and an error message is issued.
In addition to mounting ISO 9660 volumes using the default PVD, you can also mount ISO 9660
volumes using a Supplementary Volume Descriptor (SVD).
This capability allows access to an ISO 9660 volume with directories and file names containing
characters from character sets other than the ISO 9660 limited set, which includes only A through Z,
underscore (_), period (.) and semicolon (;).
The author of the ISO 9660 volume set must record the volume with the required PVD, and optionally
with one or more SVDs. Each SVD must contain a unique volume label and escape sequence.
Use the following command syntax to mount an ISO 9660 device using an SVD:
where:
324
Chapter 9. Managing Storage Media
device-name Specifies the physical device name or logical name of the device on which the
ISO 9660 volume is to be mounted.
volume-label Specifies the SVD volume label obtained from the author's label on the CD–
ROM.
escape-sequence Specifies the escape sequence obtained from the author's label on the CD–ROM.
If an ISO 9660 volume contains SVDs with no escape sequence specified, the default character set
is assumed to be ISO 646 (ASCII). This default character set allows the use of the file specification
character set supported by OpenVMS, which includes these additional characters:dollar sign ($) and
dash (-).
Use the following command syntax to mount a volume using the SVD volume label when no escape
sequence is specified:
MOUNT device-name volume-label /UCS_SEQUENCE=""
Note
If an ISO 9660 volume contains SVDs with escape sequences other than ISO 646, ISO 2022 or ISO
13646 (formats on CDs), the character set might not interoperate with the OpenVMS file specification
syntax.
Refer to the Guide to OpenVMS File Applications for more information about ISO 9660 volume
structure on CD–ROM media.
Mount the volume specifying a different volume label and use the /
OVERRIDE=IDENTIFICATION qualifier. This will override the volume's
label so as not to conflict with the label of an already-mounted volume.
Volume Set Labels These can be from 1 to 128 characters in length. The first 12 characters are
used to produce a unique volume set identity. If the volume set label is not
unique within the first 12 characters, the volume will not mount and one of
the following error messages will be displayed:
325
Chapter 9. Managing Storage Media
Mount the volume specifying a new volume set label with the /BIND=
volume-set-name command qualifier.
Volume Label and The first 12 characters of both the volume label and the volume set label
Volume Set Label are used to produce different lock manager resource names, which are
Duplication then used to coordinate volume and volume set associations. If both the
volume label and the volume set label are the same (within the first 12
characters, including null labels), a lock manager deadlock error occurs and
the following error message is displayed:
Mount the volume specifying a different volume label and use the /
OVERRIDE=IDENTIFICATION command qualifier. This will override the
volume's label so as not to conflict with the volume set's label.
Undefined Record Many ISO 9660 CD–ROMs are mastered without a specified record format
Format Errors because the ISO 9660 media can be mastered from platforms that do not
support the semantics of files containing predefined record formats.
OpenVMS file system utilities (such as TYPE and COPY), language RTLs,
and applications that use RMS for record access may report RMS errors,
utility errors, and language errors when accessing files whose record format
is undefined or appears illegally specified.
Use the following command syntax at mount time to force all files of type
UNDEFINED to the STREAM record format having a maximum record
length of 512 bytes:
For more information about RMS record formatting, refer to the OpenVMS
Record Management Utilities Reference Manual and the OpenVMS Record
Management Services Reference Manual.
The number of devices you specify directly affects the action taken by the tape file system when
processing continuation volumes in a volume set. For example, when the number of devices is greater
than the number of volumes, the tape files system requests a continuation volume to be mounted on
the first drive from the list that does not have a volume mounted.
326
Chapter 9. Managing Storage Media
When mounting a volume set, make sure that all the volumes in the set contain write rings if the
user intends to write to any of the volumes in the set. (If even one of the volumes in the set does not
contain a write ring at mount time, all volumes are write-locked; the system is unable to write to any
of them.) Load the volumes on the drives that have been allocated and place the drives on line.
Task Section
Create a tape volume set Section 9.9.1
Mount continuation volumes in a volume set Section 9.9.2
Mount volume sets with automatic switching disabled Section 9.9.2.3
After you mount the next volume, the tape file system writes the volume and header labels and then
reissues the pending write requests to the continuation volume. The file-set identifier in the first file-
header label of all files written to the continuation volume is the file-set identifier of the first file
on the first volume. The file-set identifier for volume sets is always that of the first file of the first
volume that is mounted in the set.
2. Initialize the volumes. Specify the density and the access protection in addition to the device name
and the volume identifier in the INITIALIZE commands.
3. Mount the volumes, including the device names and volume identifiers. Specifying a logical name
for the volume set is optional. The system not only confirms which volumes have been mounted,
but also indicates on which drive each volume has been mounted.
The system mounts and verifies only the volumes that are physically loaded on the devices at
mount time. However, the volume identifiers of additional volumes that you specify are not
verified until the volumes are accessed.
4. You can check the densities, volume labels, UICs, and relative volume numbers of the volumes
that are mounted on devices. To do so, specify the SHOWDEVICES/FULL command. If you
specify a generic device code for the tape drives, such as MU, information is displayed for all
drives of that type configured in the system.
To display information for a volume mounted on a specific drive, specify the physical device
code, consisting of the generic device code, the controller designation, and the unit number
followed by a colon.
327
Chapter 9. Managing Storage Media
For more information about the SHOW DEVICES command, including examples of displays
returned by the SHOW DEVICES/FULL command, see Section 8.3 or the VSI OpenVMS DCL
Dictionary.
Examples
1. $ ALLOCATE MUA0:
%DCL-I-ALLOC, _MARS$MUA0: allocated
$ ALLOCATE MUA1:
%DCL-I-ALLOC, _MARS$MUA1: allocated
$ ALLOCATE MUA2:
%DCL-I-ALLOC, _MARS$MUA2: allocated
The commands in this example allocate a drive on which you will load each volume.
The commands in this example initialize the volumes. The commands specify the density and the
access protection in addition to the device name and the volume identifier.
The commands in this example mount the volumes. The commands include the device name and
volume identifier.
Allocating a drive for each volume in the volume set is not necessary. The tape file system requests
that volumes be switched to appropriate drives when continuation volumes are required.
The operating system stores, but cannot verify, the identifiers of volumes you specify but do not
physically mount on drives at mount time. The system later verifies the volume identifiers when the
volumes are accessed.
The operating system supports the continuous processing of mounted volumes in a tape volume set
through automatic volume switching and automatic volume labeling (AVL).
• If the file system is writing to the volume set, it creates a label for the magnetic tape and initializes
the tape with that label and the protection characteristics set for the first volume of the volume set.
• If the tape file system is reading the volume set, it tries to mount the next tape in the volume set
with that label.
328
Chapter 9. Managing Storage Media
• If the drive has no tape loaded on it, or the wrong tape, the tape file system sends a message to the
operator console notifying the operator either to mount a tape or to mount the correct tape.
Before processing continuation volumes, the tape file system processes the protection on that volume
(as described in Section 9.4.2). If the file system determines that the user does not have access to the
volume, it sends a message to the operator.
• Characters 1 to 4 of the field contain the first four characters of the label specified for the previous
volume in the volume set. (If the label is less than four characters, the volume identifier field
is padded with underscores; for example, if the volume identifier is XXX, the padded field is
XXX_.)
• Characters 5 and 6 contain the relative volume number for that reel in the volume set.
Note that the system can generate only 99 unique labels for a given volume set.
With automatic volume switching enabled, the operator can load a tape on the next drive allocated to
the tape volume set anytime before the volume being processed reaches the EOT mark. The tape file
system mounts and initializes (if INITIALIZE was specified originally) the next tape in the volume
set and then notifies the operator that the switch has occurred.
Examples
1. $ MOUNT MUA0:, MUA1:, MUA2: TAPE
In this example, the volume with the identifier TAPE is mounted on the MUA0: drive. Load
continuation volumes for this set on the tape drives in the following order: MUA1:, MUA2:,
MUA0:, MUA1:, MUA2:, and so forth.
This example shows the use of the /INITIALIZE=CONTINUATION qualifier for mounting
volume sets. It also shows how the system creates volume identifiers for continuation volumes.
The volume labeled MAIN is mounted on the MUA0: drive. The second volume in the set
receives the volume identifier MAIN02 and is mounted on the MUA1: drive. The third volume in
the set receives the volume identifier MAIN03 and is mounted on the MUA0: drive.
To ensure that any volume added to the tape volume set is initialized prior to being written
to, mount the volume with the /INITIALIZE=CONTINUATION qualifier. The default is /
NOINITIALIZE.
329
Chapter 9. Managing Storage Media
In this example, a continuation volume with two volume identifiers, SUN and MOON, is mounted
on MUA0: and MUA1:, respectively. If a third volume is added to the set, it is given the identifier
MOON03 and is mounted on the MUA0: drive.
When a user is reading or writing to a magnetic tape and the tape reaches end-of-tape position,
the system suspends processing and sends a request to mount the next tape in the volume set. For
example:
The user does not see this message and might not realize that another tape is needed to complete the
read or write operation.
Example
$ MOUNT/NOAUTOMATIC MUA0: ABCD, EFGH
The command in this example tells MOUNT not to supply its own label for the second volume but,
instead, to use the ones specified in the MOUNT command.
$ REPLY/BLANK_TAPE=3
$ REPLY/BLANK_TAPE=3 "DW0QT2"
330
Chapter 9. Managing Storage Media
Qualifier Description
volume does not match the one specified in the
mount request. The file system reinitializes the
tape and mounts the volume with the new volume
identifier. The tape file system then performs
access checks and initializes the volume as if
the INITIALIZE command had been specified.
Any data on the tape prior to specifying the /
INITIALIZE_TAPE qualifier is lost. The current
terminal must be enabled as an operator terminal
for TAPES.
$ REPLY/INITIALIZE_TAPE=3
$ REPLY/INITIALIZE_TAPE=3 "DW0QT2"
$ REPLY/TO=3
$ REPLY/TO=3 "DW0QT2"
Specifying the volume identifier in the MOUNT command is essential during write operations
because it ensures that the correct volume is mounted on the drive and links the continuation volume
to the volume set.
To preserve the accessibility character on a volume, you must omit the volume identifier with the
REPLY/TO command during a write operation. (When you read from tape, the volume identifier is
optional.)
If you initialize and mount a volume set in which each volume has a unique accessibility character
that you want to maintain, avoid using the volume identifier because it causes the accessibility
character of the first volume in the set to overwrite the accessibility character on the continuation
volume.
For example, to preserve the accessibility character, enter the following command in which 3 is the
request identification number:
331
Chapter 9. Managing Storage Media
$ REPLY/TO=3
Once the tape file system receives the REPLY command, the system performs checks on the
continuation volume to ensure that the volume is the correct one. If it is the correct volume with
proper access codes, the system mounts the volume and reissues pending read or write requests to the
continuation volume. If the volume fails any of these access checks, the system does not mount the
volume (or initialize and mount it in the case of a blank tape).
where:
The following examples illustrate uses of the SET MAGTAPE command in conjunction with the
MOUNT command.
Examples
1. $ MOUNT MUB1:/FOREIGN
$ SET MAGTAPE MUB1:/DENSITY=800
In this example, the MOUNT command mounts a foreign tape on the MUB1: drive. The SET
MAGTAPE command defines the density at 800 bits per inch for writing to the magnetic tape.
(The density is reset only if the tape has never been written before.)
In this example, the MOUNT command mounts a tape called USER_VOL on the MUA0: drive.
The SETMAGTAPE command directs the I/O subsystem to position the tape to skip four files.
On local SCSI tape drives, you can use the /FAST_SKIP=option qualifier to skip by file mark or
by record. See the VSI OpenVMS DCL Dictionary for more information.
3. $ MOUNT MUA1:/FOREIGN
$ SET MAGTAPE/REWIND MUA1:
In this example, the MOUNT command mounts a foreign tape on the MUA1: drive. The SET
MAGTAPE command rewinds the volume.
332
Chapter 9. Managing Storage Media
Use the following format when you enter the DISMOUNT command:
DISMOUNT device-name
where:
You can dismount a volume on a local node or on all the nodes throughout a cluster.
Before dismounting a volume or volume set, the DISMOUNT command checks for conditions that
prevent the dismount from completing:
• Installed images
• Open user file (any files not falling into one of the first three groups)
If none of these conditions is found, the volume is marked for dismount. If any of these conditions
exists, the DISMOUNT command does not mark the volume for dismount but, instead, displays error
messages indicating the conditions that exist, the number of instances of each condition, and the fact
that the volume cannot be dismounted.
If you attempt to dismount the system disk after it has been mounted shared, you may see a message
such as the following one, even if there are no user files open:
The message occurs because the file DISMOUNT.EXE is opened as a “user” file in the course of the
dismount operation. To eliminate the error message, install the file DISMOUNT.EXE.
In some cases, you might want to mark a volume for dismount even though files are open on the
volume. Marking the volume for dismount prevents users from opening any new files, thereby
allowing activity to wind down. You can use the qualifier /OVERRIDE=CHECKS to mark the
volume for dismount even if files are open.
333
Chapter 9. Managing Storage Media
The system writes the information in the caches to the disk when you dismount the disk or shut down
the system. If you remove a disk from a drive before the caches are written to disk, the information in
the caches is lost. Therefore, you must follow these guidelines:
• Do not halt the system without performing an orderly shutdown procedure (see Section 4.8.1).
You cannot dismount a volume if any known file lists associated with the volume contain entries. If
a volume is referenced in a known file list, you must complete the following steps before you can
dismount the volume:
1. Delete all known images associated with the volume using the Install utility DELETE command.
For more information, see VSI OpenVMS System Manager’s Manual, Volume 2: Tuning,
Monitoring, and Complex Systems.
2. Wait for:
Use the DCL command SHOW DEVICES/FILES to determine the status of the files.
Task Section
Dismount a single volume Section 9.10.1
Dismount a volume set Section 9.10.2
Dismount foreign volumes Section 9.10.3
Dismount a volume in a cluster Section 9.10.4
A private volume is dismounted and unloaded automatically if you log out of the job from which you
mounted the volume. If the system fails, however, the drive is not automatically dismounted.
Note that data loss can occur if you do not explicitly dismount a volume and the system fails. For tape
volumes, data loss can occur if you unload a volume that contains an open file for which file-trailer
labels have not been written. When you remount the volume and attempt to access the file without
file-trailer labels, you receive the following error message:
334
Chapter 9. Managing Storage Media
You can access all the files that precede the file whose file-trailer labels have not been written.
However, you cannot access the file that does not have file-trailer labels.
Qualifier Description
/UNIT Explicitly dismounts a single volume in the volume set without dismounting the
entire set. (By default, the system dismounts all the volumes in the set when you
explicitly dismount a single volume in a volume set.)
Using this qualifier dismounts a volume but does not “unbind” the volume from
the volume set; if you remount the volume, it becomes part of the volume set
again.
/NOUNLOAD Overrides the default automatic unloading of your volume from the drive. With
this qualifier, your volume is logically dismounted from the drive; however, the
volume remains physically loaded on the drive.
If you use this qualifier to dismount a tape volume, the volume remains loaded
on the tape drive and the tape reel is rewound to the BOT mark.
Using this qualifier can save time and eliminate unnecessary handling of a
volume if you plan to remount or reinitialize a volume you are dismounting.
Example
The following example shows how to use the DISMOUNT command. The example uses the /
NOUNLOAD qualifier.
$ DISMOUNT/NOUNLOAD MUA1:
In this example, the tape volume is logically dismounted and remains loaded on the MUA1: device.
Also, the tape reel is rewound to the beginning-of-tape mark. The operating system returns you to
DCL level.
$ DISMOUNT DUA3:
335
Chapter 9. Managing Storage Media
$ DISMOUNT DUA0:
In this example, the volume that had been mounted with the /FOREIGN qualifier on DUA0: is
dismounted and automatically unloaded. The system returns you to DCL level.
$ DISMOUNT/CLUSTER $10$DJA100:
The DISMOUNT/CLUSTER command first checks for conditions that prevent the volume from
dismounting on the local node. If none is found, the command then checks for such conditions on all
the other nodes. If a condition is found on any node, the command sends error messages identifying
the device, the node on which the error occurred, and the error.
For more information about the DISMOUNT command, refer to the VSI OpenVMS DCL Dictionary.
You might, for example, want to design command procedures to set up private disk and tape volumes.
The command procedure examples in this section, although general in nature, can serve as guiding
strategies for you. You can tailor these command procedures to meet the needs of your own setup
tasks.
2. Enter the following command procedure, which, when executed, allocates and mounts a disk:
336
Chapter 9. Managing Storage Media
This command procedure, although very simple, accomplishes the task of allocating and mounting
a disk each time you execute it. It prompts you for the device name, volume label, and logical
name of the disk device that you want to allocate and mount. By assigning logical names to your
disks, you can use this command procedure to allocate and mount devices repeatedly.
You can take further advantage of the power of a command procedure by including a few
additional tasks as well. For example, you might design the SETUP.COM command procedure to
deallocate and dismount the disk. The command procedure example used to set up a magnetic tape
(described in Section 9.11.2)takes advantage of some of these options.
$ @SETUP
337
Chapter 9. Managing Storage Media
Assuming this command procedure is in a file named FETCH.COM, execute the command procedure
by entering the following command:
$ @FETCH
338
Chapter 9. Managing Storage Media
the restore operation. Finally, FETCH.COM explicitly dismounts your magnetic tape volume and
deallocates the drive after your task completes.
The following sections explain disk quotas and describe some methods you can use to conserve and
monitor disk space:
Method Section
Establish disk quotas Section 9.12.2
Purge files Section 9.12.3
Set version limits on files Section 9.12.4
Set file expiration dates Section 9.12.5
Analyze and repair error conditions Section 9.13
Quotas are maintained and enforced on a per-volume basis. Each volume or volume set has its own
quota file. A volume on which quotas are not maintained has no quota file. On a volume set, volume 1
contains the quota file.
With OPER privilege, you (or the user maintaining the volume) supply identifiers and assign quotas
and overdrafts with the System Management utility (SYSMAN). (During normal file activities, the
system automatically maintains usage counts.)
If users run out of disk space during the creation of a file, they receive a system message. If they
cannot obtain sufficient space by purging or deleting unnecessary files, they might contact you to
increase their disk quota. If they attempt to write a file to a spooled printer, they must have write
access and have sufficient quota on the disk associated with that printer.
339
Chapter 9. Managing Storage Media
User identification code (UIC) of each user entitled to maintain files on the volume. UIC [0, 0]
appears in all quota files; use it as a template to set default values for quotas and overdrafts.
Number of disk blocks currently dedicated to a user's files. This number includes the blocks
allocated (shown by the DCL command DIRECTORY /SIZE=ALL /BY_OWNER= uic), plus
at least one block in the index file for every file owned by the user.
Maximum number of blocks on the volume that a user's files can occupy. When the maximum
number is exceeded, the system issues an error message when a file is created.
Number of blocks by which a user can exceed the quota.
Each entry in a quota file includes the information shown in Table 9.17.
The maximum number of blocks permitted to a user on a volume is the sum of the quota and the
overdraft.
A quota file is initialized with an entry for UIC [0, 0]. The usage count for this UIC should not change
from 0; in other words, UIC [0, 0] should own no files. Its quota and overdraft, however, serve as
defaults in certain situations; set them to values most likely to be assigned to other UICs as quotas and
overdrafts.
To create new files, a user must have disk space usage below quota (not overdraft). If adding a new
file or expanding a current file exceeds a user's quota, the system prohibits the operation and issues an
error message.
A user with an overdraft might be able to extend an open file after exceeding the disk quota (for
example, during an editing session). A user can extend an open file until usage exceeds the sum of the
quota and the overdraft. At this point, the system prohibits further extensions to the file.
Quota restrictions are not enforced for users with the EXQUOTA privilege;however, their usage
counts are maintained.
340
Chapter 9. Managing Storage Media
SYSMAN allows you to access disks that are normally unavailable from your local node. With
SYSMAN, you can obtain a display of all disks on the other nodes, including those that are mounted
privately or used as system disks. You can run DISKQUOTA on any available disk without logging in
to each node.
1. Use the DISKQUOTA CREATE command and specify the target disk with the /DEVICE qualifier
using the following format:
DISKQUOTA CREATE/DEVICE=device-spec
Note
To use the DISKQUOTA ENABLE command on a disk that has been mounted on multiple nodes in a
cluster, you must first specify the nodes in the SET ENVIRONMENT command.
2. Use the DISKQUOTA MODIFY command to adjust [0, 0] to an appropriate value for the device
using the following format:
DISKQUOTA MODIFY/DEVICE=device-spec/PERMQUOTA=value
Note
If you create a quota file or enable disk quotas on a disk that has files on it, use the DISKQUOTA
REBUILD command to update the disk quota entries with the current usage information.
341
Chapter 9. Managing Storage Media
3. Use the DISKQUOTA SHOW command to display the quota file using the following format:
Examples
1. $ MCR SYSMAN
SYSMAN> SET ENVIRONMENT/CLUSTER
SYSMAN> DISKQUOTA CREATE/DEVICE=DUA12:
The first SYSMAN command in this example sets the environment for all nodes in the cluster.
The second SYSMAN command sets up the quota file, QUOTA.SYS, in directory [000000] on the
DUA12: device.
The quota file has one entry, UIC [0, 0], that stores default values for quotas and overdrafts.
The command in this example edits the entry for UIC [0, 0] in the quota file on the
DUA12:device, setting the default permanent quota to 3000 blocks.
The command in this example shows quotas, overdrafts, and usage counts for UIC [0, 0] on the
DUA12: device.
Command Description
MOUNT /QUOTA Use to enforce quotas on a specified disk volume. You must have the VOLPRO
user privilege, or your UIC must match the UIC written on the volume.
SHOW QUOTA Use to determine whether a quota exists for any specific user on a specific disk.
The display that results from the SHOW QUOTA command gives the quotas
used, authorized, and available.
Enter the DCL command SHOW QUOTA using the following format:
The results of the SHOW QUOTA command depend on whether you have read
access to the quota file:
• If you have read access, the command shows how much disk space any user
on the system has been allocated.
• If you do not have read access, the command shows your own allotment.
Examples
1. $ SHOW QUOTA
User [DOCUMENTATION, MALCOLM] has 2780 blocks used, 7220 available,
of 10000 authorized and permitted overdraft of 500 blocks on DISK$
342
Chapter 9. Managing Storage Media
The SHOW QUOTA command displays the amount of disk space authorized, used, and still
available on the current default disk for the present user. The permitted overdraft in this example
is 500 blocks.
This SHOW QUOTA command shows that the user with UIC[DOCUMENTATION, JONES] has
no disk quota allocation on the XXX1: device.
This SHOW QUOTA command indicates that a user has an overdrawn quota.
Whenever quotas are enabled on a volume – either implicitly with the MOUNT command or
explicitly with the DISKQUOTA ENABLE command – you must update disk quota information
using the command DISKQUOTA REBUILD. In updating the quota file, the system adds new UICs
and corrects usage counts for each user. (Refer to the VSI OpenVMS System Management Utilities
Reference Manual for more information.)
1. Log in to SYSMAN.
2. Use the following format to execute the DISKQUOTA DISABLE command on each member of
the cluster that is mounting the volume:
Note that the system does not suspend quotas across disk mounts if the QUOTA.SYS file is still
present.
Before purging files, make sure that the most recent versions are the ones you want to preserve.
343
Chapter 9. Managing Storage Media
• System log files that the system generates automatically, such as the operator log and accounting
log files
Encourage individual users to purge files in their own areas and directories. If necessary, you can
purge files from some or all directories. The following examples show purge commands.
Examples
1. $ PURGE/LOG $DISK1:[JONES...]
The command in this example purges all files in the directory [JONES] and all the subdirectories
below [JONES] on the $DISK1: device. It logs the files that are deleted (displaying their names on
the terminal as they are deleted).
2. $ PURGE/KEEP=3 $DISK1:[*...]
This example uses wildcard characters to perform global purges and uses the /KEEP qualifier to
retain only three versions of each file.
SET DIRECTORY/VERSION_LIMIT=n
Example
$ CREATE/DIRECTORY $DISK1:[JONES]/OWNER_UIC=[200, 1]/VERSION_LIMIT=3
In the example, files in account [JONES] cannot exceed three versions. If a user in this directory
attempts to exceed the three-version limit, the system purges the file, leaving only the three most
recent versions.
Note
Be careful about setting a version limit on the master file directory (MFD). Because the system uses
the version limit that you set on the MFD on any directory you create beneath the MFD, users might
inadvertently lose important data.
File expiration is a file system feature that is available only on Files-11 Structure Level2 disks.
After you set an expiration date on a volume, the retention periods operate as follows:
• When a user creates a file, the expiration date of the file is the current time plus the maximum
time set on the volume.
344
Chapter 9. Managing Storage Media
• Every time a user accesses a file (for either a read or write operation), the current time is added to
the minimum time. If the total is greater than the expiration date, the new expiration date is used.
(The new expiration date is calculated from the maximum retention period.)
The expiration date of a frequently accessed file fluctuates between the minimum and maximum
period plus the current date. When you set a suitable interval between minimum and maximum
retention periods, you can balance between accuracy and efficiency in maintaining expiration dates.
Be careful about setting expiration dates; either be very specific, or set the expiration date in the
simplest way.
Certain commands and utilities, such as the DIRECTORY command and the Backup utility,
can selectively operate on files that are expired. For example, you can enter a command like the
following:
$ BACKUP/DELETE PUBLIC:[*...]/BEFORE=TODAY/EXPIRED MUA0:ARCH20JUN
In this example, the BACKUP command copies to tape and then deletes all expired files. Users might
not be aware of file expiration dates, so retain the tape for a substantial period of time.
For more information about the Backup utility, see Section 11.13.2.
where min and max specify the minimum and maximum retention periods for files on the volume,
expressed as delta time values.
If you specify only a single value in the SET VOLUME /RETENTION command, the system uses
the value of the minimum retention period; then the maximum retention period is set to twice the
minimum or the minimum plus 7 days, whichever is less. For example, you might set the retention
period as follows:
$ SET VOLUME PAYVOL1:/RETENTION=(3)
The system uses 3 as the minimum retention period. Twice the minimum is 6 days; the minimum plus
7 is 10. Because the system uses the smaller of the two numbers, the retention period is set to 6.
You can simulate the maintenance of “access dates”, which are available in some other operating
systems, by setting the retention periods to very small values (for example, 1 hour). Note, however,
that doing so substantially increases overhead in the file system.
This feature does not automatically remove unused files; instead, it maintains expiration dates to
permit you to develop your own policy for handling files with little or no activity.
Note
If you start maintaining expiration dates on a previously existing volume, be aware that the expiration
dates on existing files are 0 until the files are accessed. Files with expiration dates of 0 are considered
expired.
Refer to the VSI OpenVMS DCL Dictionary for details on the parameters and qualifiers of the SET
VOLUME command.
345
Chapter 9. Managing Storage Media
Example
$ SET VOLUME DUA0:/RETENTION=(15-0:0, 20-0:0)
In this example, the command sets the minimum retention period to 15 days and the maximum to 20
days.
This utility detects Files-11 Disk Structure (ODS) disk problems that have been caused by hardware
errors, system errors, and user errors. ANALYZE/DISK_STRUCTURE performs the following tasks:
• Reports errors
• File name
• Owner
Task Section
To report errors (but not repair them) Section 9.13.1
346
Chapter 9. Managing Storage Media
Task Section
To both report and repair errors Section 9.13.2
To recover lost files Section 9.13.3
To create a disk usage file Section 9.13.5
The VSI OpenVMS System Management Utilities Reference Manual contains additional information
about this utility.
ANALYZE/DISK_STRUCTURE device-name:[/qualifier]
Example
The following command reports all disk structure errors on the DUA1: device:
$ ANALYZE/DISK_STRUCTURE DUA1:
ANALYZE/DISK_STRUCTURE device-name/REPAIR
ANALYZE/DISK_STRUCTURE device-name/REPAIR/CONFIRM
When you enter this command, ANALYZE/DISK_STRUCTURE displays a description of each error
and prompts you for confirmation before making a repair.
Examples
1. $ ANALYZE/DISK_STRUCTURE DUA1:/REPAIR
347
Chapter 9. Managing Storage Media
In this example, the command reports and repairs all errors on the DUA1: device.
2. $ ANALYZE/DISK_STRUCTURE DUA1:/REPAIR/CONFIRM
The command in this example might produce the following messages and prompts:
For complete descriptions of all errors and recommended actions, refer to the OpenVMS Command
Definition, Librarian, and Message Utilities Manual.
For example, in cleaning up files and directories, you might inadvertently delete directories that still
point to files. When you delete a directory file (a file with the file type .DIR) without first deleting
its subordinate files, the files referred to by that directory become lost files. Though lost, these files
remain on the disk and consume space.
Use ANALYZE/DISK_STRUCTURE periodically to check for disk structure errors such as lost files
on the disk. When you run ANALYZE/DISK_STRUCTURE specifying the /REPAIR qualifier, the
utility places lost files in disk:[SYSLOST] and issues a message about each file, shown in the
example that follows. (Refer to the VSI OpenVMS System Management Utilities Reference Manual
for more information.)
Another opportunity to check for lost files on your system is during a backup operation. See
Section 11.13.3 for details.
Example
$ ANALYZE/DISK_STRUCTURE/REPAIR/CONFIRM DDA0:
The command in this example analyzes and repairs all errors and lost files on the DDA0: device.
If it discovers lost files on your disk, ANALYZE/DISK_STRUCTURE issues messages similar to the
following:
348
Chapter 9. Managing Storage Media
You can erase old home blocks manually by using the/HOMEBLOCKS qualifier on the ANALYZE/
DISK_STRUCTURE command as follows:
$ ANALYZE/DISK_STRUCTURE/REPAIR/HOMEBLOCKS
Example
$ ANALYZE/DISK_STRUCTURE/USAGE=[ACCOUNT]USAGE_DDA0.DAT DDA0:
In this example, the /USAGE qualifier creates a disk usage file, USAGE_DDA0.DAT, and places it in
the [ACCOUNT] directory.
349
Chapter 9. Managing Storage Media
Without mount verification, a write lock or offline error causes a volume to be dismounted
immediately. All outstanding I/O to the volume is canceled, and all open files on the volume are
closed. Any data not yet written to the volume is lost.
You can also use mount verification to perform switched path on multipath fibre channel or SCSI disk
or tape devices. See Guidelines for OpenVMS Cluster Configurations.
1. The software marks the volume to indicate that it is undergoing mount verification.
2. The software stalls all I/O operations to the disk or tape until the problem is corrected.
3. The operator communication manager (OPCOM) issues a message to operators enabled for
DISKS and DEVICES or TAPES and DEVICES. The message announces the unavailability of the
disk or tape in the following format:
When a device goes off line or is write-locked, mount verification sends two messages:
• The other message, distinguished by the prefix %SYSTEM-I-MOUNTVER, goes directly to the
system console (OPA0:), bypassing OPCOM.
The second message is a form of insurance in cases in which OPCOM is unavailable. For example,
if the system disk undergoes mount verification or if OPCOM is not present on a system, you at least
receive the messages with the %SYSTEM-I-MOUNTVER prefix. Under normal circumstances, the
operator terminal receives both messages, with the %SYSTEM-I-MOUNTVER message arriving
first.
These messages notify you of the problem, and allow you to correct the problem and recover the
operation. When a pending mount verification is canceled by timing out, OPCOM prints a message in
the following format:
After a mount verification times out, all pending and future I/O requests to the volume fail. You must
dismount and remount the disk before users can access it again.
Note
Mount verification caused by a write-lock error does not time out.
350
Chapter 9. Managing Storage Media
At mount time, if the system detects that the caches were not written back the last time the volume
was used, the system automatically rebuilds the file information by scanning the contents of the
volume. However, files being written at the time of the improper dismount might be partially or
entirely lost. See Section 9.13 for details about analyzing and repairing these problems.
With the mount verification feature of disk and tape handling, users are generally unaware that
a mounted disk or tape has gone off line and returned on line, or in some other way has become
unreachable and then restored.
Task Section
Enable and disable mount verification Section 9.14.2.1
Control timeout periods for mount verification Section 9.14.2.2
Recover from offline errors Section 9.14.2.3
Recover from write-lock errors Section 9.14.2.4
Cancel mount verification using the DISMOUNT Section 9.14.2.5
command
Control the number of mount verification Section 9.14.2.6
messages
Note that this feature applies to standard mounted tapes, foreign mounted tapes, and Files-11 disks.
The default time limit for tapes is 600 seconds (10 minutes); for disks, it is 3600 seconds (1 hour).
(Refer to the VSI OpenVMS System Management Utilities Reference Manual for more information
about system parameters.)
Always set either parameter to a reasonable value for the typical operations at your site. Note that
resetting the value of the parameter does not affect a mount verification that is currently in progress.
351
Chapter 9. Managing Storage Media
• Try to put the device back on line by toggling the START or RUN button on disks or the LOAD
button on tapes. If the device has failed, terminate mount verification.
• Take the disk or tape out of the offline and verification-pending state by shutting down mount
verification with one of the three techniques described in Section 9.14.2.5. These techniques
include canceling the mount request, dismounting the volume, and allowing mount verification to
time out.
If you successfully put the device back on line, the mount verification software that polls the disk or
tape drive begins verification in the following sequence of steps:
1. The system checks to see that the currently mounted disk or tape has the same identification as the
previously mounted volume. In this way, mount verification confirms that this is the same disk or
tape that was previously mounted and no switching has occurred.
If the drive contains the wrong volume, OPCOM issues a message in this format:
2. Once mount verification completes, the disk is marked as valid, and OPCOM issues a message in
the following format:
3. I/O operations to the disk or tape proceed, as shown in the following example:
In this example, the message from OPCOM informs the operator that device DUA0:went off line
and mount verification was initiated. The operator finds that the drive was accidentally powered
down and successfully powers it up again.
The last message in the example indicates that mount verification is satisfied that the same volume
is on the drive as before the error. All I/O operations to the volume resume.
OPCOM issues a message in the following format to the operators enabled for DISKS and DEVICES
or TAPES and DEVICES, announcing the unavailability of the disk or tape:
352
Chapter 9. Managing Storage Media
You can either recover the operation or terminate mount verification. Your options include the
following ones:
• Enable the drive for writing by toggling the hardware WRITE LOCK switch of the disk, or check
to see that a tape volume has a write ring.
• If the disk or tape drive is faulty, but another functioning drive is available on the same controller,
move the disk or tape to the functioning drive and swap the unit select plugs. (Note that switching
to another drive causes the volume to undergo offline mount verification; once this completes, the
write-lock mount verification continues.)
• Terminate the mount operation by shutting down mount verification with one of the techniques
described in Section 9.14.2.5.
Once the mount verification software determines that the volume is in a write-enabled state, I/O
operations to the tape or disk resume with no further messages.
• Dismount the volume with the DCL command DISMOUNT from a process that is not hung.
• If the device is off line, allow mount verification to time out. The default time limit for tapes
is 600 seconds (10 minutes); for disks, it is 3600 seconds (1 hour).However, you can use the
system parameter MVTIMEOUT (for disk) or TAPE_MVTIMEOUT (for tape) to set the value to
whatever you want. When the time expires, the system automatically cancels the pending mount
verification. Note that a mount verification initiated by a write-lock condition does not time out.
The following section describes the first method, using the DISMOUNT command, in more detail.
See Section 9.15.2 for details about using the last method, IPC, to cancel mount verification.
To dismount a volume:
1. Log in at another terminal, or use any logged-in terminal that has access to the volume. (It does
not need to be an operator terminal.)
2. Enter the DISMOUNT/ABORT command for the volume.(To use the /ABORT qualifier with
a volume that is not mounted group or system, you must have volume ownership or the user
privilege VOLPRO.)
If your system is in an OpenVMS Cluster environment, also specify the /CLUSTER qualifier.
When you cancel a pending mount verification by dismounting the volume, OPCOM issues a
message in the following format:
353
Chapter 9. Managing Storage Media
If you do not have access to the volume, you receive an error message. You can try again if you
can find an appropriate process to use. If your process hangs, the system file ACP is hung, and
you cannot use this technique to cancel mount verification.
3. When the cancellation is complete, remove the volume from the drive.
Mount verification now suppresses the messages that were previously displayed for mount
verification events from which devices immediately recovered. These messages unduly alarmed some
customers.
The number of messages logged to the operator’s log is now controlled by two system parameters:
If the number of mount verification messages that have been suppressed for a given device
meets or exceeds the number specified by MVSUPMSG_NUM within the time specified by
MVSUPMSG_INTVL, then an OPCOM message is displayed, as shown in the following examples:
Customers who prefer prior behavior or who would like to increase or decrease the number of
messages that are logged can adjust the system parameter settings.
For more information about these new system parameters, refer to the VSI OpenVMS System
Management Utilities Reference Manual.
354
Chapter 9. Managing Storage Media
Note
IPC commands are intended to be used only for debugging and laboratory implementation. Use of the
commands might cause unexpected results.
The IPC program converts lowercase letters to uppercase, issues the terminal bell character whenever
it receives illegal characters (such as most control characters), compresses multiple spaces, and
ignores leading spaces.
This command does not echo. Responses to this command will be implementation-specific, which
are indicated in the examples by ellipses:
.
.
.
The first command tells the hardware to generate a software interrupt at level C (#12).
• On VAX systems:
>>> D/I 14 C
>>> CONT
IPC> Q
IPC> [Ctrl/Z]
355
Chapter 9. Managing Storage Media
>>> CONT
IPC> Q
IPC> [Ctrl/Z]
Although IPC Q commands recalculate quorum in an OpenVMS Cluster, do not use these commands.
Instead, use either of the following to recalculate cluster quorums:
IPC> C device-name
This command cancels any pending mount verification on the device specified. (A warning is given if
no mount verification was in progress for that device.) For example:
IPC> C MUA1:
When a pending mount verification is canceled, OPCOM prints a message in the following format:
After you successfully cancel a pending mount verification using this technique, you must dismount
and then remount the volume before you can access it again.
Examples
%%%%%%%%%%% OPCOM, 28-MAY-2000 10:54:54.12 %%%%%%%%%%%
Device DUA0: is offline.
Mount verification in progress.
$ [Ctrl/P]
.
.
.
>>> D/I 14 C
>>> CONT
IPC> C DUA0:
IPC> [Ctrl/Z]
%SYSTEM-I-MOUNTVER, _DUA0: has aborted mount verification.
%%%%%%%%%%% OPCOM, 28-MAY-2000 10:56:26.13 %%%%%%%%%%%
Mount verification aborted for device DUA0:
On Alpha and I64 systems, you might enter the following commands:
$ [Ctrl/P]
.
.
.
356
Chapter 9. Managing Storage Media
>>> D SIRR C
>>> CONT
IPC> C DUA0:
IPC> [Ctrl/Z]
%SYSTEM-I-MOUNTVER, _DUA0: has aborted mount verification.
%%%%%%%%%%% OPCOM, 28-MAY-2000 10:56:26.13 %%%%%%%%%%%
Mount verification aborted for device DUA0:
In both examples, device DUA0: is off line, but you are unable to spin the disk back up. No other
drive is available on the controller, so you cannot switch the unit select plugs of the two drives.
Do not enter a DISMOUNT command for the disk because it was mounted as a private volume, and
you do not have access to it. The %SYSTEM-I-MOUNTVER message also appears because this is
the console terminal.
IPC> X
You are now in the debugger. The X command transfers control to the debugging tool XDELTA
(provided it was loaded with the system by setting the appropriate value in the boot file). If XDELTA
has not been loaded, the prompt IPC> is reissued. For example:
IPC> X
IPC>
For information about the XDelta debugger, refer to the OpenVMS Debugger Manual.
Note
Many newer devices automatically check for bad blocks; therefore, BAD is more useful with older
devices that do not check for bad blocks.
To test the blocks on a volume, ANALYZE /MEDIA performs the following tasks:
If the data does not compare exactly, a block cannot reliably store data.
357
Chapter 9. Managing Storage Media
When the Bad Block Locator utility locates a bad block, it records the address of the block.
Consecutive bad blocks are recorded as single entries for non-last-track devices. After it finishes
testing the disk, BAD writes the addresses of the bad blocks into a file called the detected bad block
file (DBBF).
Caution
Testing a volume for bad blocks destroys its contents. However, you can update the detected bad
block file (DBBF) without erasing the contents of the volume by using the ANALYZE /MEDIA
qualifiers /NOEXERCISE and /BAD_BLOCKS.
1. Allocate the device with the DCL command ALLOCATE (to ensure that the device is not
accessed by any other programs).
When the device is mounted as foreign, the system does not recognize it as a Files–11 volume, and
BAD can execute.
Refer to online help or to the archived manual OpenVMS Bad Block Locator Utility Manual for
details on using the Bad Block Locator utility.
358
Chapter 10. Using Files and
Directories
Information Provided in This Chapter
This chapter describes the following tasks:
Task Section
Using Extended File Specifications features Section 10.1.1
Controlling access to ODS-5 volumes Section 10.4
Getting file information Section 10.6
Protecting disk files Section 10.7.3
Protecting disk directories Section 10.7.4
Protecting magnetic tape files Section 10.7.5
Accessing disk files Section 10.8
Accessing tape files Section 10.9
Copying and transferring files Section 10.10
Creating CD-ROMs Section 10.11
CREATECD_SEC
Concept Section
Extended File Specifications features Section 10.1
Considerations Before Enabling ODS-5 Volumes Section 10.2
Guidelines for Using Extended File Specifications on OpenVMS Applications Section 10.3
DCL commands with files Section 10.5
File protection Section 10.7.1
Tape file names Section 10.9.1
Hard links Section 10.12
Feature Description
New on-disk structure Extended File Specifications support the latest volume On-Disk Structure
(ODS): Level 5 (ODS-5). This volume structure provides the basis for
creating and storing files with extended file names.
359
Chapter 10. Using Files and Directories
Feature Description
Additional character set A broader set of characters is available for naming files on OpenVMS.
support Extended File Specifications offers support for file names that use the 8-
bit ISO Latin-1 character and 16-bit Unicode (UCS-2) character sets.
Extended file naming File names can now exceed the traditional 39. 39 character limit up to a
maximum of 236 bytes.
Case preservation Extended File Specifications preserve the case of file specifications
created with ODS-5 attributes. However, the system still performs case-
insensitive string matching.
Deep directory levels To support deep directory levels, the length of directory specifications has
been extended to a maximum of 512 characters.
For more information about each feature, refer to OpenVMS User’s Manual.
Once you change a volume to ODS-5, your programs can create and read extended file names.
However, by default, DCL (as well as some applications)does not accept all extended names1. DCL
also capitalizes any lowercase file names that users enter at the command line prompt2.
$ SET PROCESS/PARSE_STYLE=EXTENDED
After you enter the command, DCL accepts a file name similar to the following:
$ CREATE MY^[FILE
For more details on setting parse styles, refer to the VSI OpenVMS DCL Dictionary. The OpenVMS
Record Management Services Reference Manual contains additional information about RMS default
Extended File Specifications features.
The introduction of Extended File Specifications has allowed system tools and applications to store
and display file specifications containing lowercase as well as uppercase alphabetic characters on
ODS-5 volumes. File name specification operations, however, remained case-insensitive.
1
Even with the TRADITIONAL parse style, DCL allows some ODS-5 file names; for example, DCL accepts x.x.x.
2
Some applications also use DCL internally to read file names that users type after an application prompt.
360
Chapter 10. Using Files and Directories
Beginning with OpenVMS Version 7.3-1, it has been possible for tools and applications to distinguish
among file name specifications containing the same alphabetic characters that differ only in case.
You can set processes to ignore or notice the case sensitivity of file names.
Note
Enable case sensitivity only when it is known to be supported by the layered product or application
you are working with.
You can use any of three ways to enable case sensitivity on OpenVMS, as described in the following
sections.
If you set your process to CASE_LOOKUP=BLIND and you create more than one file with the
same name differing only in case, DCL treats these files as new versions of the older file and
converts them to the same case as the original file.
If your process is set to CASE_LOOKUP=SENSITIVE and you create more than one file with the
same name differing only in case, DCL treats subsequent files as new files and lists them as such.
Although an ODS-5 volume preserves the case of a file as it is first entered, file searches are
performed in a case-blind manner. Therefore, be careful when you do file comparisons, such as
using DCL string functions like .EQS. and F$LOCATE, in a DCL command procedure.
361
Chapter 10. Using Files and Directories
If you are using an application that expects case sensitivity, or if you depend on case sensitivity in
your environment, set your process to /CASE_LOOKUP=SENSITIVE. Be aware that using case
sensitivity can create problems if you do not pay attention to your environment.
• Setting an Option Within your Application in the NAML Block for Files Opened or Created Using
RMS
The NAML block was introduced in OpenVMS Alpha Version 7.2 to support long file
names. Beginning in OpenVMS Version 7.3-1, the NAML block has a new field, NAML
$V_CASE_LOOKUP, to override the process default case sensitivity.
Within NAML$V_CASE_LOOKUP, you can set the following values for case sensitivity:
The $SET_PROCESS_PROPERTIES system service sets a simple value associated with a service.
Beginning with Version 7.3-1, OpenVMS Alpha (and I64) have supported the following new
property codes for case sensitivity.
The new item codes for the $GETJPI system service are the following:
JPI$CASE_LOOKUP_TEMP
JPI$CASE_LOOKUP_PERM
362
Chapter 10. Using Files and Directories
For more information about the $SET_PROCESS_PROPERTIESW system service, refer to the HP
OpenVMS System Services Reference Manual.
These item codes return the values that are set by the system service
$SET_PROCESS_PROPERTIESW, which can be either PROP$K_CASE_BLIND or PPROP
$K_CASE_SENSITIVE.
If you pass the following usage notes along, users might find them helpful. These notes are divided
into the following categories:
• Architecture-related notes
Make sure you know whether a disk is an ODS-2 or ODS-5 volume so that you can place ODS-5 files
on ODS-5 volumes.
You can display the type of volume by entering commands similar to the following:
363
Chapter 10. Using Files and Directories
After each command, the Volume Status: that is displayed indicates whether the volume is ODS-5 or
ODS-2.
You cannot create a file with an ODS-5 extended file name on an ODS-2 volume.
In the following example, DKA200: is an ODS-2 volume, and the parse style is EXTENDED, which
causes RMS to return an error message.
On an ODS-5 volume, the case for all versions of a file name is identical; the case is preserved as the
file name was first created.
Directory DKA500:[TEST]
myfile. txt;2 myfile. txt;1
Keep in mind that although an ODS-5 disk preserves the case of a file as it is first entered, it searches
for files in a case-blind manner. Similarly, users must also be careful when they do comparisons, such
as when they use DCL string functions like .EQS and F$LOCATE in a DCL command procedure.
The following example demonstrates the importance of case-blind matching of file names in DCL. In
the program, notice that you specify no argument to do a case-sensitive match but that you specify an
argument to do a case-blind match.
This program uses F$SEARCH to find all the files that have a file type of .TXT. Because RMS (and
therefore F$SEARCH as well does case-blind matching, F$SEARCH also finds files with the file type
.txt.F$SEARCH then uses F$LOCATE to search the file name for TEST. Because F$LOCATE does
case-sensitive comparisons, it fails to match unless you first change the string to uppercase.
$ case_blind = 0
$ if p1 . nes. "" then case_blind = 1
$loop:
364
Chapter 10. Using Files and Directories
The following example shows the output when you run the program:
$ @test
Search returns DKA300:[FISHER]test. txt;1
Did not find file matching TEST
$ @test case-blind
Search returns DKA300:[FISHER]test. txt;1
Found a file matching TEST
Abbreviated and Full Directory Names Listed Separately with CONDENSED File
Names
Some system utilities and DCL commands, such as DIRECTORY, have a style switch to control how
they display file names.
• If the style is CONDENSED, file names up to 255 bytes in length are displayed. When a file
specification reaches the 255-byte limit, the directory name is abbreviated to a directory ID (DID).
• If the style is EXPANDED, file names up to 4095 bytes in length are displayed.
The following example shows a CONDENSED directory name. The DIRECTORY command
considers a DID abbreviated directory name as different from the unabbreviated directory name and
therefore generates a separate header when the abbreviation occurs.
$ DIR/STYLE=CONDENSED
Directory DKA300:
[DEEPER.aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii._ten.aaaa.
bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii._ten.aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.
hhhh.iiii._ten.aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii._ten]
aaaa.txt;1
Total of 1 file.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.txt;1
365
Chapter 10. Using Files and Directories
Total of 1 file.
With the CONDENSED style, if the combination of the directory name and file name does not
exceed 255 bytes, the directory name is not shortened to a DID abbreviation.
With the CONDENSED style, if the combination of the directory name and file name exceeds
255 bytes, the directory name is shortened to a DID abbreviation.
When you issue a DIRECTORY command that displays both a full and an abbreviated directory
format for the same directory name, DIRECTORY counts these as two different directories.
For more information about DIRECTORY commands, refer to the VSI OpenVMS DCL Dictionary.
To avoid ODS-2 and ODS-5 file name incompatibility when working with both ODS-2 and ODS-5
volumes, and to assure backward compatibility with prior versions of OpenVMS, use only ODS-2
traditional file names.
Error messages displayed to users might vary depending on the parse style. Syntax errors that were
formerly detected at the DCL level are now passed on to the file system level, RMS and XQP, for
example, if the parse style is EXTENDED. As a result, the messages users receive for file syntax
errors might be slightly different depending on the parse style and volume structure.
366
Chapter 10. Using Files and Directories
DCL returns an error on some ODS-5 file names such as this one.
The parse style is set to EXTENDED.
DCL creates the file.
367
Chapter 10. Using Files and Directories
Be wary of defaults when you allow utilities to create output files based on the file name being
processed. Be sure you know where a file is being placed so you will not inadvertently try to place a
file with an extended name on an ODS-2 volume.
The following examples show files being placed somewhere you might not expect:
• An error results if an application or a utility attempts to write an ODS-5 extended file name to an
ODS-2 (DKA200:) volume; for example:
$ SHOW DEFAULT
DKA200:[DOREO]
$ DUMP /OUTPUT DKA500:[DOREO]This^_is^_a^_file. Dat
%DUMP-E-OPENOUT, error opening DKA200:[DOREO]THIS^_IS^_A^_FILE. DMP;as
output
-RMS-E-CRE, ACP file create failed
-SYSTEM-W-BADFILENAME, bad file name syntax
The output file specified with the /OUTPUT qualifier defaults to the same name as the input file,
with .DMP as the file type, in the default directory. When the input file specification is an extended
name on an ODS-5 volume, the .DMP file must have a traditional name, because it will be written to
an ODS-2 volume. As a result, an error occurs.
• A batch command file fails to execute if all of the following conditions are true:
• The implicit or explicit log file specification has an extended name (that is, the name is non-
ODS-2-compliant).
The batch command file does not execute because a log file cannot be created. Most frequently,
this situation occurs when the logical name SYS$LOGIN refers to an ODS-2 volume;this is
because log files are implicitly created on the SYS$LOGIN device. In addition, if notification is
disabled, you are not notified that your batch job did not execute.
To avoid the problem, use the /LOG= qualifier and an ODS-2-compliant log file specification
when you submit command files with ODS-5 extended names.
Although you can mount ODS-5 volumes on a VAX, if you log in to a VAX system, ODS-5 extended
file names are not visible. In their place, you see a pseudoname:
368
Chapter 10. Using Files and Directories
• On VAX, if you attempt to display a file name that contains 2-byte Unicode characters, the
pseudoname displayed is the following: \PUNICODE\. ???
• Any other name that is not a legal ODS-2 name is displayed as \PISO_LATIN\. ???
For example, the same directory listings as they appear on Alpha, I64 and VAX systems are:
$ DIRECTORY DPA100:[TEST]
Directory DPA100:[TEST]
Accounting^_data. lis;1 atest. txt;1
• On a VAX system:
$ DIRECTORY DPA200:[TEST]
Directory DPA200:[TEST]
\PISO_LATIN\. ??? ATEST. TXT
In addition, the directory depth on a VAX is limited to 8 (or 16, using rooted logicals).
On OpenVMS VAX systems, BACKUP supports ODS-5 volumes only when you specify the /
PHYSICAL qualifier. The BACKUP /PHYSICAL command causes BACKUP to make a block-by-
block physical backup of the disk, ignoring the structured contents of the disk.
On Alpha and I64 systems, you can use either the BACKUP /IMAGE or BACKUP /PHYSICAL
command.
Once ODS-5 volumes are enabled, some of the new capabilities can potentially impact certain
applications or layered products, as well as some areas of system management. The new syntax for
file names that is allowed on ODS-5 volumes cannot be fully utilized on ODS-2 volumes. Because
pre-Version 7.2 Alpha systems cannot access ODS-5 volumes, and Open VMS Version 7.2 VAX
systems have limited ODS-5 functionality, you must be careful where and how you enable ODS-5
volumes in mixed-version and mixed-architecture OpenVMS Clusters.
The following sections comprise a summary of how enabling ODS-5 volumes can impact system
management, users, and applications.
369
Chapter 10. Using Files and Directories
In versions of OpenVMS prior to Version 7.3-1, ODS-5 volumes could not be used as system disks,
and it was recommended that ODS-5 disks be used in homogeneous Alpha clusters only. These
restrictions have been removed. OpenVMS Version 7.3-1 and higher support the use of ODS-5
volumes as system disks and in heterogeneous Alpha clusters.
• Users must access ODS-5 files and deep directories from OpenVMS Alpha V7.2 systems only,
because these capabilities are not supported on earlier versions.
• Users who have created deep directories can view those directories only from OpenVMS Alpha
V7.2 systems.
• Pre-Version 7.2 systems cannot mount an ODS-5 volume nor read ODS-2 or ODS-5 file names on
that volume.
Section 10.2.2 describes in greater detail the limitations of ODS-5 support for users in a mixed-
version or mixed-architecture OpenVMS Cluster.
Most unprivileged applications will work with most extended file names, but some may need
modifications to work with all extended file names. Privileged applications that use physical or
logical I/O to disk and applications that have a specific need to access ODS-5 file names or volumes
may require modifications and should be analyzed. See the website TBS for a list of fully supported
OpenVMS applications. Section 10.2.3 describes in greater detail the impact of ODS-5 on OpenVMS
applications.
Section 10.3.1 contains more information for determining the levels of support for Extended File
Specifications.
• OpenVMS file handling and command line parsing have been modified to enable them to
work with extended file names on ODS-5 volumes while still being compatible with existing
applications. The majority of existing, unprivileged applications will work with most extended file
names, but some may need modifications to work with all extended file names.
• Privileged applications that use physical or logical I/O to disk may require modifications and
should be analyzed. Applications that have a specific need to access ODS-5 file names or volumes
should be analyzed to determine if they require modification.
370
Chapter 10. Using Files and Directories
On ODS-5 volumes, existing applications and layered products that are coded to documented
interfaces, as well as most DCL command procedures, should continue to work without modification.
However, applications that are coded to undocumented interfaces, or include any of the following,
may need to be modified in order to function as expected on an ODS-5 volume:
• Assumptions about the syntax of file specifications, such as the placement of delimiters and legal
characters.
• Assumptions about the case of file specifications. Mixed and lowercase file specifications will not
be converted to uppercase, which can affect string matching operations.
• Assumptions that file specifications are identical between RMS and the file system.
Note
All unmodified XQP applications running on an OpenVMS VAX or Alpha system that access an
ODS-5 volume will see pseudonames returned in place of Unicode or ISO Latin-1 names that are not
ODS-2 compliant. This can cause applications to act in an unpredictable manner.
Applications that specify or retrieve file names with the XQP interface using ODS-5 disks must be
modified in order to access files with extended names.
See OpenVMS Programming Concepts Manual for further discussion of the support status of
OpenVMS applications.
• Understand the support levels for different OpenVMS(See Section 10.3.1. )applications.
• Segregate applications that do not support ODS-5 or have not been tested with ODS-5 names or
volumes. (See Table 10.4. )
Note
VSI recommends that you enable ODS-5 disks in a homogeneous OpenVMS Version 7. 2 Alpha (or
I64) cluster only.
371
Chapter 10. Using Files and Directories
The levels of support for ODS-5, from full support to no support, are defined in Sections 10.3.1.1
through 10.3.1.4.
In addition, OpenVMS commands and utilities that fully support Extended File Specifications can
accept and produce long file specifications that exceed the traditional 255-byte limit in their original
form5 —without requiring them to be abbreviated in Directory ID (DID) or File ID (FID) format.
The following DCL commands and OpenVMS utilities provide full support for extended file names:
ANALYZE /AUDIT
ANALYZE /DISK
ANALYZE /RMS
BACKUP
CONVERT
CONVERT /RECLAIM
COPY
CREATE /DIRECTORY
DELETE
DIRECTORY
DUMP
EDIT /ACL
EXCHANGE /NETWORK
FDL
PURGE
RECOVER/RMS
RENAME
SEARCH
SET SECURITY
SYSMAN
TYPE
372
Chapter 10. Using Files and Directories
of the attributes of extended file specifications (such as new characters and deep directory structures)
correctly. However, file names may be created or displayed with the wrong case.
In contrast with utilities that have full support, utilities with default support rely on DID and FID
abbreviation offered by RMS to handle long file specifications. As a result, these utilities are subject
to the following restrictions related to DID and FID abbreviation:
• Matching operations in an environment where FID abbreviation is used may not always work
as expected. For example, wildcard matching operations may not capture all target file names
because the long file names may be represented in their numeric FID-abbreviated form. This
restriction specifically applies to matching operations that are performed outside of RMS.
• Wildcards and sticky defaults cannot be used with a FID abbreviation. For example, the following
commands are illegal:
Because a FID abbreviation is a unique numeric representation of one file, it cannot be used to
represent or match any other file.
For more information about DID abbreviations and FID abbreviations, see Guide to OpenVMS File
Applications.
Table 10.3 and Table 10.4 list the OpenVMS utilities and commands that do not support Extended File
Specifications because of limitations with either handling extended file names or the ODS-5 volume
structure.
Table 10.3 and Table 10.4 list the OpenVMS utilities and commands that do not support Extended File
Specifications because of limitations with either handling extended file names or the ODS-5 volume
structure.
373
Chapter 10. Using Files and Directories
Table 10.4. Non-Supported OpenVMS Components (No Extended File Naming Support)
Component Notes
Code compilers Cannot use extended file names for object files. However, code compilers can
create applications that support extended names.
INSTALL Known Do not install an image with an extended file name as a known image.
images
LINK Cannot output an image with an extended file name.
MONITOR Cannot reliably process extended file names.
Network files Do not rename to an extended file name.
(NET*.DAT)
Object modules Do not rename to an extended file name.
(.OBJ)
Page and swap Do not use an extended file name.
files
SYSGEN Do not write a parameter file with an extended file name.
System startup Do not rename to an extended file name.
files
• Prevent untested applications from accessing files on an ODS-5 disk. (You can allow certain users
to override this access control on an ODS-5 volume. )
The system manager can impose either of these restrictions by using normal OpenVMS discretionary
controls. Refer to the VSI OpenVMS Guide to System Security for more information.
1. Define an identifier (for example, VAX_NODE) to identify users running on an OpenVMS VAX
nod, for example:
$ RUN SYS$SYSTEM:AUTHORIZE
UAF> ADD /IDENTIFIER VAX_NODE
%UAF-I-RDBADDMSG, identifier VAX_NODE value %X80010037 added to rights
database
2. On each VAX node, add VAX_NODE to the system rights list; for example:
$ SET RIGHTS_LIST /ENABLE /SYSTEM VAX_NODE
The /ENABLE qualifier in the command adds VAX_NODE to the system rights list.
374
Chapter 10. Using Files and Directories
3. To prevent anyone on a VAX node from gaining access to an ODS-5 volume, place an Access
Control Entry (ACE) on the volume that denies access to holders of the VAX_NODE identifier,
for example:
$ SET SECURITY /CLASS=VOLUME ODS5_DISK /ACL=(ID=VAX_NODE, ACCESS=NONE)
1. Define an identifier (for example, ODS5_UNSAFE) to identify applications that you do not want
to access an ODS-5 volume, for example:
UAF> ADD /IDENTIFIER ODS5_UNSAFE /ATTR=SUBSYSTEM
%UAF-I-RDBADDMSG, identifier ODS5_UNSAFE value %X80010039 added to
rights database
2. Attach a protected subsystem ACE to the application with the ODS5_UNSAFE identifier, for
example:
$ SET SECURITY /CLASS=FILE SYS$SYSTEM:APPLICATION. EXE -
_$ /ACL=(SUBSYSTEM, ID=ODS5_UNSAFE)
3. To each ODS-5 volume, attach an ACE denying access to the ODS-5 volume to holders of the
ODS5_UNSAFE identifier, for example:
$ SET SECURITY /CLASS=VOLUME ODS5_DISK/ ACL=(ID=ODS5_UNSAFE,
ACCESS=NONE)
Optionally, you can override the restriction in the last step to allow trained users to access untested
applications by following the remaining lettered steps:
c. Instead of Step 3, place an Access Control Entry (ACE) on the volume that denies access to
holders of the ODS5_UNTRAINED identifier; for example:
$ SET SECURITY /CLASS=VOLUME ODS5_DISK/ -
_$ ACL=(ID=ODS5_UNSAFE+ODS5_UNTRAINED, ACCESS=NONE)
This command prevents ODS5_UNTRAINED users from accessing the volume with
ODS5_UNSAFE applications.
d. Remove the identifier from individual users when you are willing to let them use any application
on an ODS-5 volume, for example:
375
Chapter 10. Using Files and Directories
• An untrained user can use an untested application only to access ODS-2 volumes.
Most DCL commands require file-structured devices. (The VSI OpenVMS DCL Dictionary lists
commands that do not require file-structured devices. )
In addition to manipulating files through DCL, you can write programs to assist you in routine file-
manipulation tasks. You can write these programs in any of the languages supported by the operating
system.
To manipulate individual records within files (that is, to access files at the record level), write
programs that include OpenVMS Record Management Services (RMS) facilities. Refer to the
OpenVMS Record Management Services Reference Manual for examples of RMS facilities used to
manipulate files at the record level.
DIRECTORY [filespec[, . . . ]]
When you include certain command qualifiers with the DIRECTORY command, you can retrieve
information in addition to a list of the names of the files in the directory. Refer to the VSI OpenVMS
DCL Dictionary for a list of qualifiers that you can use with the DIRECTORY command.
The following examples illustrate three cases of retrieving information from the [MALCOLM]
directory, which resides on a disk with the logical name DISK$DOCUMENT.
376
Chapter 10. Using Files and Directories
Examples
1. $ DIRECTORY AVERAGE. *
Directory DISK$DOCUMENT:[MALCOLM]
AVERAGE. EXE;6 AVERAGE. FOR;6 AVERAGE. LIS;4 AVERAGE.
OBJ;12
Total of 4 files.
The DIRECTORY command in this example lists all file types of the AVERAGE file and the
version number of each file. The command would also list all versions of these files;however, only
one version of each file exists.
2. $ DIRECTORY/SIZE/DATE/VERSIONS=1/PROTECTION AVERAGE
Directory DISK$DOCUMENT:[MALCOLM]
AVERAGE. EXE;6 6 10-APR-2000 15:43 (RWED, RWED, RWED, RE)
AVERAGE. FOR;6 2 2-APR-2000 10:29 (RWED, RWED, RWED, RE)
AVERAGE. LIS;4 5 9-APR-2000 16:27 (RWED, RWED, RWED, RE)
AVERAGE. OBJ;6 2 9-APR-2000 16:27 (RWED, RWED, RWED, RE)
Total of 4 files, 15 blocks.
The DIRECTORY command in this example displays all the file types of the AVERAGE file
and the version number of each file. The /SIZE qualifier displays the size of each file in blocks
used. The /DATE qualifier displays the creation date of the version of the file that is listed. The
VERSIONS=1 qualifier limits the number of versions of the file displayed to one (the most recent)
version. The /PROTECTION qualifier displays the file protection for each file.
Directory DISK$DOCUMENT:[MALCOLM]
377
Chapter 10. Using Files and Directories
The DIRECTORY command in this example displays a full directory listing of one version of the
AVERAGE. EXE file in the top-level directory [MALCOLM] and subdirectories under it.
Modifications to the file header are recorded as ATTDATE, unless the file is actually accessed. The
REVDATE ACP-QIO attribute is the most recent of the MODDATE and ATTDATE timestamps. A
new ACP-QIO attribute returns the stored REVDATE.
When a file is closed, if “norecord” is set, ACCDATE and REVDATE are not altered. Otherwise, if
data has been read from the file, closing a file updates the file's access date. If data has been written to
the file, closing a file updates the file's modification date.
Because access dates must be written out to disk, there is a performance impact when these new file
attributes are used. The system manager can use the following command to enable or disable access
date support and the frequency for changing access dates:
To limit the performance impact if a file is accessed frequently, update of the access time may be
suppressed if the change is small. A delta time is used to determine when a new access time is
significant.
378
Chapter 10. Using Files and Directories
See Section 10.6.1.1 for an example of how to set access dates using the SET VOLUME/
VOLUME_CHARACTERISTICS command.
The default value for deltatime is 1 second, chosen to comply with the “seconds since EPOCH ” time
interface required by POSIX st_atime. A site may choose a larger delta time to reduce overhead if
1 second granularity is not required.
$ INITIALIZE/VOLUME_CHARACTERISTICS=ACCESS_DATES NODE$COE1
$ MOUNT NODE$COE1
$ DIRECTORY/DATE=ACCESSED
The /DATE=ACCESSED qualifier specifies the last access data — the last time data was
read from the file. Two other qualifiers also provide information on the new timestamps. Use
the /DATE=ATTRIBUTES qualifier to specify the last attribute modification date. Use the /
DATE=DATA_MODIFIED qualifier to specify the last data modification date.
Task Section
Display file ownership and protection Section 10.7.2
Protect disk files Section 10.7.3
Protect disk directories Section 10.7.4
Protect magnetic tape files Section 10.7.5
379
Chapter 10. Using Files and Directories
You can protect data residing on disk and tape volumes by using one or more of the following
methods:
For the most part, file protection is transparent. Tools exist, however, to adjust the protection of a file.
You can set the protection or modify the ACL of a file if at least one of these statements is true:
• You have GRPPRV and you have the same group UIC as the file.
380
Chapter 10. Using Files and Directories
Directory structures do not apply to tape volumes. However, you can use the DIRECTORY command
to search for files on tape volumes. Section 10.9 describes how to access tape files for read and write
operations and also explains the use of the DIRECTORY command for tapes.
The DCL command SHOW PROTECTION displays the current process default protection. This
protection is applied to files created during your terminal session or to batch jobs, where defaults from
directories or previously existing versions are not available.
Note
To use the SHOW PROTECTION command to display the default protection of magnetic tapes, you
must specify the /PROTECTION qualifier with the INITIALIZE command when you initialize the
magnetic tape volume. Otherwise, the protection is not written to the magnetic tape volume. See the
description of initializing magnetic tape volumes in Section 9.3.
The next example illustrates how you can use the SHOW PROTECTION command to display the
default protection characteristics for disk files.
Example
$ SHOW PROTECTION
SYSTEM=RWED, OWNER=RWED, GROUP=RE, WORLD=NO ACCESS
In this example, the SHOW PROTECTION command requests a display of the current protection
defaults.
381
Chapter 10. Using Files and Directories
If you do not define a protection code for a file when you create it, the system applies default
protection. If a version of the file already exists, protection is taken from the previous version.
For a new file, the system determines protection in two major ways:
• If the directory where the file is to be cataloged has an associated access control entry (ACE) that
specifies the default protection, the system uses the specified protection.
• If the directory does not have the default protection ACE, the system uses the default process
protection. You establish the default process protection explicitly with the SET PROTECTION/
DEFAULT command, or by default when you log in.
For disk volumes, each file on the volume can have a different protection associated with it. The SET
SECURITY/PROTECTION command and other file-manipulating commands allow you to define the
protection for individual files.
Note
To protect a file completely, you must protect both the file itself and the directory that lists the file. To
protect a file against unauthorized access, specify the proper protection both for the directory that lists
the file and for the file itself. See Section 10.7.4 for instructions on protecting directories.
Task Section
Set default disk file protection Section 10.7.3.1
Set explicit disk file protection Section 10.7.3.2
Modify disk file protection characteristics Section 10.7.3.3
The protection of a renamed file is unchanged unless you use the RENAME/INHERIT command.
The operating system provides each process with a default UIC-based protection of (S:RWED,
O:RWED, G:RE, W). To change the default protection that is applied to files created by that process,
enter the SET PROTECTION/DEFAULT command using the following format:
SET PROTECTION[=(code)]/DEFAULT
where:
382
Chapter 10. Using Files and Directories
For example, if you place the following command in your login command procedure, you grant all
processes read and execute access to any files that you subsequently create:
(Remember that you must execute the login command procedure for this command to take effect.)
After a file is created and you have created an ACL for the file, you can modify the ACL and add
as many ACEs to the ACL as you want. The protection specified by the ACL overrides the UIC
protection of the file.
The following examples show how to check and specify protection codes.
Examples
1. $ SHOW PROTECTION
SYSTEM=RWED, OWNER=RWED, GROUP=RE, WORLD=NO ACCESS
The SHOW PROTECTION command displays the current default protection. In this example, the
response shows the system default protection, which indicates that the system and owner have all
types of access, group users have read and execute access, and world users have no access.
In this example, the SHOW SECURITY command displays the current protection associated with
the file IMAGES. DIR.
In this example, the /SECURITY qualifier with the DIRECTORY command displays the current
protection associated with the IMAGES. DIR file.
383
Chapter 10. Using Files and Directories
In this example, the/PROTECTION qualifier specifies a protection code when the ABC. DAT file
is copied to XYZ. DAT.
In this example, the SET SECURITY/PROTECTION command changes the protection for
an existing file. The command gives the following instructions regarding the file ABC. DAT:
system users have read, write, and execute access;the owner has read, write, execute, and delete
access;group users have only read and execute access;world users have no access.
Control access is implied and unchangeable for system and owner categories but not for group and
world.
384
Chapter 10. Using Files and Directories
For a complete list of the command qualifiers and parameters applicable to each of these DCL
commands, refer to the VSI OpenVMS DCL Dictionary.
where:
code Defines the protection to be applied to the specified files. You cannot omit the
code.
file-spec Specifies one or more files for which the protection is to be changed. A file
name and file type are required. If you omit a version number, the protection is
changed only for the highest existing version of the file. Wildcard characters are
allowed.
Examples
In this example, the file INCOME. DAT;3 is protected against deletion. The SET SECURITY/
PROTECTION command changes only the owner's delete access for the file INCOME. DAT;3.
Now the owner can delete the file.
In this example, the SET SECURITY/PROTECTION command changes the protection codes
applied to the PAYROLL. LIS file. To the file, the command gives the system read access; the
owner has read, write, execute, and delete access; and users in the owner's group have read and
write access.
Examples
This SET FILE command requests that the expiration date of the file BATCH. COM;3 be set to
11:00 a. m., April 15, 2000.
385
Chapter 10. Using Files and Directories
This SET FILE command erases disk locations for files that are deleted with commands
such as DELETE or PURGE when applied to all files that match the file specification
PERSONNEL*.SAL and are dated before April 15, 2000.
This SET FILE command modifies the characteristics of the file MYFILE. DAT, changing the
owner UIC and assigning a file version limit of 100. Note that the /OWNER_UIC qualifier
requires SYSPRV or GRPPRV privilege for changing the ownership at the system or group level.
This SET FILE command assigns an additional name, or alias (NEW_FILENAME. DAT), to the
file OLD_FILENAME. DAT. Both the original name and the alias refer to the same file. For this
reason, be careful when you delete files with aliases. To keep the file, but to remove one of its
names, use the /REMOVE qualifier with the SET FILE command. You cannot use wildcards in
the file name. (Refer to the VSI OpenVMS DCL Dictionary for details.)
For directory protection, you can use the access types shown in Table 10.8
$ DIRECTORY [JONES]
With read access, you can access any file listed in the directory, unless the
protection on that file denies you access. If the protection applied to the whole
directory denies you read access, then you cannot access even those files in the
directory that permit access to users in your group.
Write Modify or write to a directory. However, you must have both read and write
access to a directory to create files in the directory, to rename files in the
directory, or to perform any file operation that involves changes to the directory
file.
Execute Access files by name but not list all the entries in a directory (that is, to use
specific or implied wildcards) when applied to directories. For example, assume
that you have execute access to the [JONES] directory, and you enter the
following command:
$ DIRECTORY [JONES]
386
Chapter 10. Using Files and Directories
The system displays the contents of the file. Thus, with execute access, you
can perform some, but not all, of the operations that you can with read access.
(Access to individual files is still controlled by their file protection. )
As another example, to display the contents of the EXPENSES. DAT file, you
must have read or execute access to each directory in the directory tree, that is,
to the JONES, REPORTS, and JUNE directories:
$ TYPE [JONES.REPORTS.JUNE]EXPENSES.DAT
Delete Delete a directory file. You must remove all entries from a directory before you
can delete the directory file. When you create a directory with the CREATE/
DIRECTORY command, you do not, by default, get delete access. If you want
to be able to delete a directory file, you must use the DCL command SET
SECURITY/PROTECTION to explicitly assign delete access to the owner
category.
Control Change the characteristics of a directory.
Note
To protect sensitive files, the directory protection alone is not adequate. You must also protect each
individual file contained within the directory. Section 10.7.3 contains instructions for protecting disk
files.
By default, top-level directories receive UIC-based protection(S:RWE, O:RWE, G:RE, W:E) and no
ACL. A newly created subdirectory receives the same protection as its parent directory, but delete
access is removed from all categories.
• To specify UIC-based protection explicitly when creating a directory, use the /PROTECTION
qualifier with the CREATE/DIRECTORY command. You cannot specify an ACL for the directory
before you create the directory.
• To change the UIC-based protection of an existing directory, use the SET SECURITY/
PROTECTION command for the directory file.
• You can limit but not prohibit directory access by specifying execute access but not read access.
Execute access on a directory permits you to examine and read files that you know are in the
387
Chapter 10. Using Files and Directories
directory (that is, you know the file specifications) but prevents you from displaying a list of the
files in the directory.
The following sections explain how to change directory protection characteristics and default ACL
protection.
Example
$ SET DIRECTORY/OWNER_UIC=[360, 020] [DAVIS], [USERS]
The SET DIRECTORY command in this example modifies both the [DAVIS] and [USERS]
directories, changing their owner UICs. Using the /OWNER_UIC qualifier requires SYSPRV (system
privilege).
Example
The following ACE, which must be in the ACL of a directory file, specifies that the default protection
(for files created in the directory and its subdirectories) will allow system and owner processes full
access, group processes read and execute access, and world users no access:
DEFAULT_PROTECTION, S:RWED, O:RWED, G:RE, W:
You cannot use DCL commands to change protection characteristics on magnetic tape volumes. See
Section 9.5.1 for more information.
Although DCL does allow you to manipulate files at the record level, for reasons of performance, you
probably want to use a conventional programming language instead. VSI recommends that you write
programs using the OpenVMS Record Management Services (RMS) facilities, which are specifically
designed to access files at the record level. You can write these programs in any higher-level language
that the operating system supports.
To access disk files at the file level, you can use DCL commands. You cannot, however, use DCL
commands to read or write files that are not in the standard formats supported by the operating
388
Chapter 10. Using Files and Directories
system. If the file formats are not standard, you must mount the volumes on which they reside with
the /FOREIGN qualifier to have read and write access.
Although the examples used in this section show how to access disk files on RA90 disk packs, they
also apply to other devices.
To read the contents of a disk file, use the DCL command TYPE, which displays the contents of a file
on your terminal. To find the exact location of the disk file you want to read, use the DCL command
DIRECTORY.
1. Look for the exact location of HISFILE by entering the following command:
This command instructs the operating system to search the entire [CHARLES] directory, including
all the subdirectories, for all file types and version numbers of HISFILE.
HISFILE. UPD;1
Total of 1 file.
This display informs you that only one version of HISFILE exists, that its file type is UPD, and
that it resides in the [CHARLES. MEMO] directory.
When you access a volume or a file, the operating system software reads the volume- and file-header
labels to determine whether access to the volume or file is restricted. Which label is read depends on
the operation requested. For example, if you want to mount a volume, your process must have access
to it.
The protection set on a file determines your access to the file. The expiration date field in the header
can prevent you from overwriting or appending to a file immediately preceding the one in question. If
the expiration date field has not been reached, a file has not expired.
389
Chapter 10. Using Files and Directories
To overwrite an unexpired file, you must specify the /OVERRIDE=EXPIRATION qualifier when you
mount the volume. Performing this operation requires that you have read or write access.
After a section that explains tape file names are sections that tell how to perform these tasks:
Task Section
Locate standard-labeled tape files Section 10.9.2
Use wildcards with tape files Section 10.9.3
Read files on tape volumes Section 10.9.4
Write files to tape volumes Section 10.9.5
Use OpenVMS extended names if your files are to remain on media using only the OpenVMS
operating system.
• Standard names
Use standard names if you want to move files to media on operating systems other than
OpenVMS.
Table 10.9 compares characteristics of OpenVMS extended names and standard names.
390
Chapter 10. Using Files and Directories
When you specify a file name for a file residing on tape, the tape file system performs the following
tasks:
1. Compares the file name with the file header labels of each file until it finds a match in the file
identifier field of the file header labels.
• If you supply a version number in the file name, the magnetic tape file system compares it
with the generation number and generation version-number fields in the first file header label.
• If you do not specify a version number, the system neither defaults a version number nor
checks the generation number and generation version-number fields.
2. The system selects the first file on the magnetic tape whose file name in the file identifier field
matches the specified file name.
The operating system supports neither the directory nor the latest version number concept for
magnetic tape volumes. The system does not search for or list the latest version of a specified file.
The magnetic tape file system cannot increment version numbers of files written to tape; therefore,
two or more files in the same volume set can have the same file name and version number.
Because the tape file system selects the first matching file name and version number (if specified),
the position of the magnetic tape within the volume set determines which file is returned on a
search operation. A search operation begins at the current position, so you might want to rewind
the volume set before accessing a file.
3. The search for a matching file and version number (if specified) continues at the beginning of the
header-label set of the next file. The search ends when the magnetic tape is positioned at the file
where the search began.
If the system does not find the requested file on the current volume, it searches the remaining
volumes in the volume set sequentially and then searches from the beginning of the first volume of
the volume set. If the system still does not find the file name, it reports an error.
Table 10.10 explains the use of wildcard characters with OpenVMS extended names and with
standard names.
391
Chapter 10. Using Files and Directories
Unlike OpenVMS extended names, which can consist of up to 39 characters each for the file name
and file type, standard names can have a maximum of 17 characters.
The following examples show how to use wildcard characters in file specifications to search for files
on tape volumes. These examples also show how you can use the DIRECTORY command with tapes.
Note that the DIRECTORY command does not work the same with tape files as with disk files.
Examples
1. $ DIRECTORY MFA1:*. *;*
This command instructs the system to search a volume set. Because asterisks are used in the
file specification and the asterisk is a valid wildcard character for both standard and OpenVMS
extended names, the system returns both OpenVMS extended names and standard names. Note
that the system returns tape file names within quotation marks.
In these two commands, the search can match only with OpenVMS extended names because
the percent sign is not valid for standard names. In the second command, the file type field must
contain at least one character. Files with no file type are not returned.
3. $ DIRECTORY MTA0:*. ;*
In this example, the DIRECTORY command instructs the system to search for files with both
standard names and OpenVMS extended names that do not have a file type.
392
Chapter 10. Using Files and Directories
3. Positions the tape after the header labels of the last file accessed
A tape file opened for read access is closed in either of the following ways:
Method Description
Implicitly The file is closed implicitly when the drive encounters a tape mark while the
system reads a file. The tape file system then reads the trailer labels, closes the
file, and positions the tape at the next file.
Explicitly The file is closed explicitly when you finish accessing the file before all the data
in the file is read. The tape file system then closes the file without reading the
trailer labels, and the tape remains at the current position.
Example
Use the DCL command TYPE to read a file or group of files on the tape volume and to display the
contents of the file on your terminal. For example, if you want to read the contents of a file named
TESTFILE.DOC;1 (which you know from your directory searches is an OpenVMS file residing on
the tape volume MTA1:), enter the following command:
$ TYPE MTA1:TEST*. %*;*
1. Checks the expiration date and accessibility fields of the existing file.
2. If overwriting is allowed, the tape file system performs the following task:
To close a tape file that was opened for write access, the tape file system issues commands to the
driver to write the labels, followed by a double tape mark that indicates the logical EOV.
393
Chapter 10. Using Files and Directories
Note that you can update or append tape files only when the header label contains a value of 0
for the buffer offset length. For more information about how to update and append tape files, see
Section 10.10.
If you do not specify the /OVERRIDE=EXPIRATION qualifier when you update a file, the tape file
system checks the expiration date field on the file before it allows you to write to that file.
In addition, before you append a file, the tape file system checks the expiration dates of both the file
being appended and the file immediately following it. If the expiration date of either file has not been
reached, the magnetic tape file system does not allow you to append the file.
Example
You can use the CREATE command to access a volume for a write operation. The following CREATE
command writes a new file to the tape volume:
$ CREATE MTA0:MYFILE
After entering a command similar to the one in this example, follow these steps:
2. Press Ctrl/Z to close the file and write it to the tape volume without leaving the DCL command
level.
Table 10.11 summarizes the methods you can use to transfer information.
Method Description
DCL command COPY Most frequently used method for transferring
information.
Convert utility (CONVERT) On a local system, allows you to change the
organization of a file from sequential to indexed,
for example.
394
Chapter 10. Using Files and Directories
Method Description
Exchange utility (EXCHANGE) On a local system, allows you to access disk and
tape volumes that are formatted for operating
systems other than OpenVMS. You can use
EXCHANGE to transfer files between foreign
volumes and standard Files–11 volumes.
DCL command EXCHANGE /NETWORK Allows you to transfer files via the network
between OpenVMS and other operating systems.
The command is useful for transferring files
between nodes that use OpenVMS and those that
do not. The file is copied in such a way that it is
meaningful on OpenVMS and other operating
systems as well.
Backup utility (BACKUP) With tapes, the only means of copying entire
directory trees or files that are not sequentially
structured. See Section 11.13.2 for information
about using BACKUP to copy files.
CDRECORD.COM Lets you transfer files to a CD-R disk to
create your own CD-ROM. Available on some
AlphaServers.
The COPY command, the Exchange utility, the DCL command EXCHANGE /NETWORK, and
CDRECORD.COM are explained in the following sections.
In many cases, you can copy information without physically transporting media. Perhaps you want to
copy files between systems that are not connected by a communications link. If so, you must be able
to move your files physically from one location to another. A convenient way is to copy your files to
a portable volume, such as a tape reel, tape cartridge, or disk pack, and then carry that volume to the
location of the other system.
Task Section
Copy files to disk volumes Section 10.10.1
Copy files to tape volumes Section 10.10.2
Continue to copy at the end of a tape Section 10.10.3
Use the Exchange utility to copy files Section 10.10.4
Use the DCL command EXCHANGE/NETWORK to transfer files over a Section 10.10.5
network
Use CDRECORD. COM to create a CD-ROM Section 10.11
2. Because disks are random-access devices, and because files must be listed in directories, you must
create a directory to contain your files on the disk volume after you initialize the volume.
395
Chapter 10. Using Files and Directories
When you copy files from disks to standard-labeled disk volumes, the following items are not
preserved:
• Directory specifications
You can use the COPY command to copy the highest version of all the files in your default directory
to another directory on that volume.
When you copy files with tape file names from magnetic tape to disk, specify a standard OpenVMS
file name for the output file name specification. If you do not specify an OpenVMS file name on
output, your process receives the following error message:
RMS-F-FNM, error in file name
This message indicates that the tape file name is not a valid OpenVMS file name.
If you enter the COPY command with the /LOG qualifier, the system sends a message to the current
SYS$OUTPUT device after each file has been copied. To verify that the files were successfully
copied, use the DIRECTORY command.
Examples
1. $ CREATE/DIRECTORY DMA3:[PUBS]
$ DEFINE P DMA3:[PUBS]
$ COPY *.* P
$ COPY [PRIMER]*.* P
$ COPY [COMMANDS]*.* P
The CREATE/DIRECTORY command in this example creates a disk directory file named [PUBS]
on DMA3:, and the DEFINE command defines the logical name P as DMA3:[PUBS]. The
COPY command copies the highest version of each file in the current default directory and in the
directories [PRIMER] and [COMMANDS] to the newly created directory.
396
Chapter 10. Using Files and Directories
The COPY/LOG command in this example copies the tape file %&*?!SKI!#" (# means space) to
the file SEASON. DAT on the default disk and directory, WRKD:[MANUAL]. To copy the file to
disk, you must specify a new file name. (The OpenVMS software provides defaults for segments
of the file specification that are not specified.)
Because this example uses the /LOG qualifier, the system returns a message that confirms the file
was copied from the MTA1: tape volume; the message also tells how many records were copied.
4. $ COPY/LOG MTA0:*.* *
%COPY-S-COPIED, MTA0:[]TASTETEST. DAT;1copied to WRKD:[FOOD]TASTETEST.
DAT;1 (249 records)
%COPY-S-COPIED, MTA0:[]ALLAT;1 copied to WRKD:[FOOD]ALALL;1 (48 records)
%COPY-S-NEWFILES, 2 files created
In this example, the COPY/LOG command specifies wildcard characters for the file name and file
type. Therefore, the system copies the only two files on the tape volume to the disk volume.
The COPY/LOG command string specifies that all files on the volume mounted on tape volume
MTA1: are to be copied to the current default disk and directory WRKD:[EX]. However, the
system does not copy files with tape file names, but, instead, returns an error message.
This example transfers the OpenVMS RMS file SYS$LOGIN:LOGIN. COM to the remote
file SYS$LOGIN:LOGIN. TMP over a TCP/IP connection while specifying the user name and
password on the remote system.
The entire set of Files–11 file names is supported for magnetic tapes. You can copy a disk file with the
following file name to a magnetic tape volume without having to modify the file name:
397
Chapter 10. Using Files and Directories
THIS_IS$AN_OPENVMSLONG_FILE. LONG_TYPE
Note
Most systems that are not OpenVMS do not use file names longer than 17 characters.
Although the OpenVMS system supports stream and variable with fixed-length control (VFC)
records, it encodes these records in a variable-length format on standard-labeled volumes. Systems
that are not OpenVMS do not distinguish stream records or VFC records from variable-length records;
instead, they interpret both as variable-length records. Therefore, do not create either stream or VFC
records on volumes that will be used for information interchange to a system that is not OpenVMS.
The following steps show how to use DCL commands to copy files from a default directory on a disk
volume to a standard-labeled magnetic tape volume. Included in the steps are examples showing how
to allocate, initialize, and use a magnetic tape to copy a set of your disk files.
This ALLOCATE command requests the allocation of a tape drive whose name begins with MT.
The logical name TAPE_DEVICE in this case refers to the MARS$MTA2: drive.
The system response indicates that unit 2 on controller A was available and is now allocated to
you. You can now physically load the tape on the drive. Be sure the write ring on the tape is in
place; if it is not, you cannot write to the tape.
The INITIALIZE command specifies the logical name for the volume (TAPE_DEVICE, which in
this case refers to MTA2:) and the volume label for the tape volume (GMB001). The label can be
no longer than six characters. The /PROTECTION qualifier defines a protection code restricting
group access to read and allowing no world access.
3. Enter the MOUNT command to mount the volume and write files to it, as in the following
example:
$ MOUNT TAPE_DEVICE: GMB001
%MOUNT-I-MOUNTED, GMB001 mounted on _MTA2:
$ COPY *.* TAPE_DEVICE:
The MOUNT command specifies the device name and volume label of the volume on the device.
The COPY command copies the highest version of each file in your default directory onto the
tape. The file names, file types, and version numbers of the output files default to the same file
names, file types, and version numbers as the input files.
If you enter the COPY command with the /LOG qualifier, the system sends a message to the
current SYS$OUTPUT device after it copies each file.
398
Chapter 10. Using Files and Directories
4. You can also use the DIRECTORY command to verify that the files were copied successfully.
$ DIRECTORY TAPE_DEVICE:
This DIRECTORY command lists the file names and file types of all files on the tape.
5. When you finish using the magnetic tape, dismount and deallocate it as follows:
$ DISMOUNT TAPE_DEVICE:
$ DEALLOCATE TAPE_DEVICE:
If you do not dismount and deallocate the magnetic tape, the system does so automatically when
you log out.
Examples
1. $ COPY *.* MTA2:
For this example, assume that MTA2: has been allocated to your process and that a tape volume
has been initialized and mounted on that device. The COPY command writes files to the
MTA2:tape volume.
The highest versions of all files in your default disk directory are copied to the tape volume. The
file names, file types, and version numbers of the output files default to the same file names, file
types, and version numbers as the input files.
In this command for copying from disk to tape, a tape file name is specified as the output file
specification. Note that the trailing space in the file name %&*?!SKI!#"# (where # means space)
is not present because trailing spaces are not significant in tape names.
In this example, a long file name with a long file type is copied to the tape volume MTA1: with
the same file name and type as on the disk volume.
In this example, all files with a two-character file name and a file type of .JOU are copied to the
tape volume MTA1: with the same file name and type as on the disk volume. Version numbers are
preserved.
399
Chapter 10. Using Files and Directories
Note
Because messages are sent only to the operator's terminal that is enabled for tape messages, you do
not usually see this message and might not realize that another tape is needed to complete the read or
write operation.
See VSI OpenVMS System Manager’s Manual, Volume 2: Tuning, Monitoring, and Complex
Systems for more information about OPCOM messages.
If automatic volume switching is disabled or if the tape file system cannot mount a given volume, you
might need to mount a continuation volume in a volume set. See Section 9.9.2 for information about
mounting continuation volumes.
For more information about how to use EXCHANGE and for a description of all EXCHANGE
commands, qualifiers, and parameters, refer to online help or the archived manual OpenVMS
Exchange Utility Manual.
• Transfer files between an OpenVMS node and a node that is not OpenVMS.
• Transfer files between two nodes that are not OpenVMS, provided those nodes share DECnet
connections with the OpenVMS node that issues the EXCHANGE/NETWORK command.
For details on using the EXCHANGE/NETWORK command, refer to online help or the VSI
OpenVMS DCL Dictionary.
where:
input-filespec Specifies the name of an existing file to be transferred. (Wildcard characters are
allowed. )
400
Chapter 10. Using Files and Directories
output-filespec Specifies the name of the output file into which the input is to be transferred.
Example
$ EXCHANGE/NETWORK MYSYS_FILE. DAT FOO::FOREIGN_SYS. DAT
The command in this example transfers the file MYSYS_FILE.DAT, which is located in the current
default device and directory, to the file FOREIGN_SYS.DAT on node FOO, which is not an
OpenVMS node. By default, the command automatically determines whether the transfer method
should be block or record I/O.
Read and write-once support for CD-R and CD-RW drives was introduced in OpenVMS Alpha
Version 7. 3-1 on the AlphaServer DS25 system. OpenVMS supports only qualified CD-R and CD-
RW drives. For more information on Alpha and I64 systems and the drives they support, refer to the
appropriate page at the following Web site:
link is to be supplied
The write process creates a CD-ROM in Files-11 format. Any supported CD-ROM reader on a
computer running OpenVMS will be able to read the CD-ROMs you create. The write process does
not create a CD-ROM in ISO 9660 format. For more information, refer to the Guide to OpenVMS
File Applications.
Note
You can create a CD-ROM that contains data file; however, audio recording is not supported at this
time. Writing to CD-RW disks, which are rewritable, is also not supported at this time.
You cannot use COPY commands to transfer files from a hard drive to a CD-R disk. There is a two
step process you must follow and a special program called CDRECORD.COM6 that you must use.
The first step is to create a logical disk and container file on your hard drive. Organize the directory
structure, volume information, and files on the logical disk as you want them to appear on the CD-
ROM.
The second step is to run CDRECORD.COM to transfer the contents of the container file to a blank
CD-R disk. CDRECORD.COM provides a set of commands you can use to:
401
Chapter 10. Using Files and Directories
To view online help about CDRECORD.COM, enter the HELP command at the DCL prompt ($), as
follows:
$ @SYS$MANAGER:CDRECORD H
10.11.1. Preparation
When you are ready to create a CD-ROM, make sure you have:
A CD-R or CD-RW drive connected to a system running OpenVMS Alpha Version 7.3-1 or later and
I64.
• The device name of the CD-R drive (DQnn). If you do not know the device name, use the SHOW
DEVICE DQ command. The device name for a CD-R drive is typically DQA0, DQA1, DQB0, or
DQB1.
• The DIAG, PHY_IO, and SYSPRV privileges. If you want to run at a higher priority level, you
need the ALTPRI privilege as well.
To verify that you have the device name for the drive, enter the INQUIRE command followed by the
device name. For example:
$ @SYS$MANAGER:CDRECORD INQUIRE DQA1:
The system verifies that DQA1 (or whatever device name you entered) is a CD-R or CD-RW drive. It
also displays the read and write speed of the drive.
For best performance, clean up and defragment the hard drive on which you will create the logical
disk and container file. For more information, see BACKUP/IMAGE in the VSI OpenVMS System
Management Utilities Reference Manual.
Use the SETUP command in the following format to create a logical disk and a container file:
@SYS$MANAGER:CDRECORD SETUP filename LDAn: label nnnn
where:
filename is the name of the container file. Follow the usual rules for naming files and include a file
extension.
LDAn: is the name of the logical disk and can have a value of LDA1 to LDA9999.
label is the volume label you want to give the logical disk and the CD-ROM you will write. Follow
the usual rules for assigning volume labels.
402
Chapter 10. Using Files and Directories
nnnn is the number of 512-byte blocks you want to allocate for the container file. The number must
be a multiple of 4. The default value is 1250000 (640 MB).
The container file must not be larger than the available space on the CD-R disk you are going to write
to. Also, check the available space on your hard drive to make sure you have enough room for the
container file.
FRED is the volume label of the logical disk and the CD-ROM you will write.
1250000 is the space (in 512-byte units) that will be allocated on the hard drive for the container file.
Once you have created a logical disk and container file on your hard drive, you can populate the
logical disk with directories and files.
Once you are satisfied with the contents of the logical disk, you are ready to write it to a CD-R disk.
1. Turn off other applications to ensure that the write operation will not be interrupted. An
interruption might result in unreadable space on the CD-R disk. The write operation must
complete to create a readable CD-ROM. You cannot reclaim the space used by an unfinished write
operation.
where:
filename is the file name and file extension of the container file.
LDAn: is the name of the logical disk and can have a value of LDA1 to LDA9999.
laser turns the laser beam on or off and can have a value of 0 (enable) or 1 (disable). The
default is 0. Set this parameter to 1 (disable) when you want to test the process before actually
writing to a CD-R disk.
403
Chapter 10. Using Files and Directories
speed is the recording speed for the write operation and can have a value from 0 to 99. The
default value is 0. CDRECORD.COM automatically determines the maximum recording speed
based on the speed of the drive and the media speed rating. When speed is set to 0 (the default),
CDRECORD.COM uses the maximum recording speed it automatically calculates. You can
override this recording speed by entering a number from 1 to 99.
Note
A CD-R or CD-RW drive might write at one of a number of fixed speeds (for example, at 2x, 4x, 8x,
16x, and 20x). Enter an override speed to set the drive to one of the speeds that it is capable of using.
If you enter an unsupported speed for the drive, CDRECORD. COM picks a supported speed close to
what you specified.
priority lets you increase the base priority for the current process. Increase the priority to
avoid buffer under runs that could cause a failure in the write operation. You can specify a priority
between 1 and 63. If you do not specify priority, your base priority is retained. If you increase
the base priority, after the write operation completes you are asked if you want to reset the priority
to its original level. If you answer no, the increased priority level is retained.
You should know whether or not your drive is required to record at a specific speed. With some
drives, to minimize errors, you might need to record at a slower speed, depending on the ability
of your computer to keep up the pace. You do not want the write operation to pause because the
computer cannot provide the data quickly enough. Some drives can accommodate sporadic recording
activity (“burn-proof” drives). Raising the priority parameter can also alleviate problems.
where:
label is the volume label of the logical disk (and the CD-R media).
404
Chapter 10. Using Files and Directories
• The space on the hard drive is already allocated. It is better to keep it intact, especially if space is
an issue.
• It saves steps.
Note
Reusing a container file DELETES the current contents of the file.
To reuse a container file, enter the REUSE command in the following format:
where:
Use OpenVMS commands to create directories and files. Once you are satisfied with the contents, you
are ready to write to a CD-R disk with the CDRECORD WRITE command.
• HELP
• INQUIRE
405
Chapter 10. Using Files and Directories
• REUSE
• SETUP
• VERIFY
• WRITE
406
Chapter 10. Using Files and Directories
Command Parameters
label Volume label for the logical disk and the CD-ROM. Follow
the usual rules for assigning volume labels.
nnnn: Number of 512-byte blocks to allocate for the container file.
The number must be a multiple of 4. The default value is
1250000 (640 MB).
WRITE filename File name and extension of the container file.
LDAn: Name of the logical disk. Can have a value of LDA1 to
LDA9999. The default is LDA1.
DQnn: Device name of the CD-R or CD-RW drive. The first two
characters must be DQ. The third character is an alphabetic
character from A to Z. The fourth character must be 0 or 1.
The default is DQA0.
laser Turns the laser beam on or off. Can have a value of 0
(enable) or 1 (disable). The default is 0.
speed Recording speed for the write operation. Can have a value
from 0 to 99. The default value is 0 to accept the maximum
recording speed calculated by CDRECORD.COM. A value
of 1 to 99 manually sets the recording speed (to that value).
priority Changes the base priority for the current process. Can have
a value of 1 to 63. If you do not specify a value, your base
priority is retained. If you change the base priority, you are
asked if you want to reset the priority to its original level.
If you answer no, the increased priority level is retained.
Requires ALTPRI privilege.
1. Use the INQUIRE command to verify the device name of the CD-R drive. For example:
$ @SYS$MANAGER:CDRECORD INQUIRE DQA0:
2. Use the SETUP command to set up a logical disk and container file on the hard drive. For
example:
$ @SYS$MANAGER:CDRECORD SETUP TESTFILE. DSK LDA1: FRED 1250000
3. Populate the logical disk by using OpenVMS commands such as CREATE /DIR and COPY.
4. Use the WRITE command to write the contents of the logical disk to a CD-R disk. For example:
$ @SYS$MANAGER:CDRECORD WRITE TESTFILE. DSK LDA1: DQA0:
With the introduction of hard link support in OpenVMS Alpha Version 7.3, OpenVMS supports three
kinds of links:
primary links
407
Chapter 10. Using Files and Directories
aliases
hard links
OpenVMS Alpha and I64 supports files with 0 or more links. The first link to a file is referred to as
the “primary link, ” and is distinguished by having the directory ID and name of the link stored in the
file header. Additional links are either aliases or hard links, depending on whether the volume the file
resides on has hard links enabled or disabled.
On OpenVMS Alpha and I64 systems, you can enable hard links on particular volumes. On volumes
where hard links are not enabled, non-primary links are aliases. If you choose to enable hard link
capability, you cannot create VMS aliases for files on that volume. A volume can support either hard
links or aliases, but not both. The SET FILE /ENTER command is used to create either a hard link or
an alias for a file.
The essential difference between hard links and aliases is in the effect of a delete operation. What is
usually referred to as deleting a file is more precisely deleting a linkto that file. When a link to a file
is deleted, the associated file might also be deleted. Whether a file is deleted or not depends on if the
volume that the file is on has hard links enabled, and if a hard link to that file has been created.
If you have hard links enabled, a file is actually deleted when there are no more links to file. If you
do not have hard links enabled, and you have not created an alias for a file, essentially only one link
to that file exists: the primary link. If you create an alias for that file, and you delete the alias, the file
still exists because the primary link to that file has not been deleted. The alias is just another name in a
directory for this link. Deleting the primary link deletes the file, leaving the alias entries.
Attempting to access a file through an alias link to a deleted file results in a “no such file ” error. With
a primary link and hard links, many links exist. You actually delete a file when you delete both the
primary link and all hard links to that file.
An important related consideration is disk quota. On OpenVMS, the size of each file is charged to
the file owner's disk quota. If other users create hard links to a file, they are not charged disk quota.
The owner may delete any links to the file in directories he can access, while hard links in other user's
directories may cause the file to be retained; the owner will continue to be charged for its quota.
When you enable hard link support on an existing volume, be sure to also execute the ANALYZE /
DISK /REPAIR command to ensure the proper operation of hard links.
OpenVMS supports hard links, or aliases, to directories as well as to files. Most UNIX systems limit
hard links only to normal files.
To initialize an ODS-5 disk with hard links enabled, issue the following command:
$ INIT/VOLUME_CHARACTERISTICS=HARDLINKS
To enable hard links on a mounted Files-11 volume, issue the following command:
$ SET VOLUME/VOLUME_CHARACTERISTICS=HARDLINKS
If you have a volume that has already been enabled with hard link support and you want to change it,
you can disable it using the SET VOLUME command.
408
Chapter 10. Using Files and Directories
Issuing this command disables hard link support. However, you should be aware that changing from
enabling hard links to disabling hard links may result in some strange file behavior. For example,
assume that you have disabled hard link support as shown in the example above, but you would like to
create an alias for your file FOO:
$ CREATE FOO. A
$ SET FILE FOO. A/ENTER=FOO. B
You have created an alias for FOO. A called FOO. B. Now you want to delete the original file:
FOO. A is deleted. However, if you look for FOO. B on the volume using the directory command, you
receive a “File not found ” error, because the primary link to that file no longer exists. For example:
$ DIR FOO. B
To fix this problem, or to check the number of hard links to a file, issue the following command:
$ ANALYZE/DISK/REPAIR
ANALYZE/DISK/REPAIR counts the number of directory entries that references each file, and sets
the link count if it is incorrect. Before creating aliases for files on disks that have previously had
hard link support enabled, be sure to use the ANALYZE/DISK/REPAIR command to set the link
count correctly. If you are unsure as to whether hard links are currently enabled or disabled, issue the
SHOW DEVICE/FULL command.
Use DIRECTORY/FULL and DUMP/HEADER to report the link counts. To check the number of
links, issue the following command:
$ DIRECTORY/LINK
409
Chapter 10. Using Files and Directories
410
Chapter 11. Using BACKUP
You can guard against data loss or corruption by using the OpenVMS Backup utility (BACKUP) to
create copies of your files, directories, and disks. In case of a problem—for example, a disk drive
failure—you can restore the backup copy and continue your work with minimal disruption.
Task Section
Formulating a BACKUP strategy Section 11.3
Setting software parameters for efficient backups Section 11.7
Using disks and tapes Section 11.8
Listing the contents of a BACKUP save set Section 11.10
Backing up user disks and volume shadow sets Section 11.15
Restoring user disks and volume shadow sets Section 11.16
Backing up and restoring the system disk Section 11.17
Ensuring data integrity Section 11.18
Troubleshooting Section 11.19
Concept Section
Types of backups Section 11.2
The BACKUP command line Section 11.4.1
The Backup Manager Section 11.4.2
Save sets Section 11.5
BACKUP file formats Section 11.6
Volume initialization Section 11.8.1
OPCOM and volumes Section 11.9
Multivolume BACKUP operations Section 11.11
BACKUP tape label processing Section 11.12
Standalone BACKUP (VAX only) Section 11.17.2
See Guidelines for OpenVMS Cluster Configurations for information about using BACKUP when
your backup medium is connected to a Fibre Channel interconnect.
Besides backing up your own files, directories, and disks, you should also back up your system disk.
If you have a standalone workstation, backing up your system disk is probably your responsibility. If
411
Chapter 11. Using BACKUP
your system is part of a large clustered computer system, an operator or system manager is probably
responsible for backing up the system disk.
• Use a special version of the OpenVMS Backup utility called standalone BACKUP, described
in Section 11.17.2. Use standalone BACKUP if you do not have access to the OpenVMS VAX
operating system distribution compact disc.
Note
Standalone BACKUP is not supported on OpenVMS Alpha systems beginning with Version 6.1; you
must use the menu system provided on the distribution CD–ROM.
Performing an image backup using BACKUP also eliminates disk fragmentation. Fragmentation
can occur as you create and extend files on a disk. If the file system cannot store files in contiguous
blocks, it stores them in noncontiguous pieces. Eventually, the disk can become severely fragmented
and system performance suffers.
To eliminate fragmentation, perform an image backup of the disk and restore the backup copy. When
you restore the image backup, BACKUP places the files on the disk contiguously. Alternatively,
you can perform a disk-to-disk image backup without using the /SAVE_SET qualifier. This creates a
functionally equivalent copy of the entire system disk, on which files are stored contiguously.
Note
Some layered products have their own special backup procedures. For more information, refer to the
layered product documentation.
Operation Description
File operation Processes individual files or directories.
Section 11.13 describes file operations.
Selective operation Processes files or volumes selectively, according
to criteria such as version number, file type, UIC,
date and time of creation, expiration date, or
modification date.
412
Chapter 11. Using BACKUP
Operation Description
Physical operation Copies, saves, restores, or compares an entire
volume in terms of logical blocks, ignoring any
file structure.
Image operation Processes all files on the input disk. The types of
image operations are:
Two types of BACKUP operations, file and image, support converting ODS-5 file names to ODS-2
file names. Refer to Section 9.5.5.3 for more information.
413
Chapter 11. Using BACKUP
For example, if you have a standalone workstation, a nightly image backup might be your best
approach.
Under other circumstances, you might want to choose some combination of image and incremental
backups. For example, daily image backups might be inconvenient if your system always has
interactive users logged in. You could choose to perform a weekly image backup and nightly
incremental backups.
Note
Before you perform an image backup, note the following items:
• The first time you back up a disk, you must perform an image backup using the BACKUP/
IMAGE/RECORD command before you perform regular incremental backups. The image backup
saves a copy of the entire disk and marks each file as being saved. Subsequent incremental
backups assume that an image backup has been performed; only new or modified files are saved.
If an image backup is not performed first, the incremental backups save more files than might be
necessary to ensure that an incremental restore operation will be successful.
This can occur if you attempt to perform a BACKUP/IMAGE restore operation where alias file
entries are restored as separate (primary) file entries. (The primary file, which uses the same file
header but allocates different data storage blocks, is also restored.)
However, despite the error message, note that there is no BACKUP error or loss of data.
414
Chapter 11. Using BACKUP
You do not have to change tapes or disks during a backup if any of the following statements is true:
In these cases, the backup can be performed by a batch job that runs late at night or at some other time
when interactive use of the system is likely to be at a minimum. Section 11.15.7 contains some sample
command procedures that you can run in a batch job to back up your disks.
• The BACKUP command, which is a command in the DCL command line interface
When you use BACKUP, make sure you place BACKUP qualifiers in their correct positions on the
command line. For more information about the BACKUP command line, refer to the VSI OpenVMS
System Management Utilities Reference Manual.
• ISO Latin-1
• Unicode (UCS-2)
415
Chapter 11. Using BACKUP
For additional information about extended character sets, refer to the OpenVMS User’s Manual.
This example shows that you can choose the second-from-the-most-recent version of the input file and
assign it a different file name.
With BACKUP, you cannot use -0 as a relative file version to specify the earliest version of the file.
BACKUP processes -0 as if it were 0, saving the most recent version of the file for processing.
• VMS VAX Version 5.4 or higher systems, and OpenVMS Alpha Version 1.5 or higher systems
The Backup Manager interface is based on the OpenVMS Screen Management Run-Time Library
(RTL) routines.
• Context-sensitive help
Press PF2 or the Help key to get help about the object at which the display cursor is currently
located.
• Context-sensitive hints
You are prompted for input by a one-line “hint” about the field where the display cursor is
currently located.
• Pull-down help
416
Chapter 11. Using BACKUP
Choose the pull-down Help menu bar item for more extensive help on a variety of Backup
Manager topics.
Output from the Backup utility is automatically displayed when an operation starts. You can suspend
output at any time (Ctrl/P) and scroll through it. You can also use Ctrl/T to display status or Ctrl/C to
stop the current BACKUP operation.
BACKUP treats all magnetic tape files as BACKUP save sets. Because you cannot use save-set
specifications as both the input and output specifiers in a BACKUP command line, you cannot
perform a BACKUP operation from one magnetic tape to another.
VSI recommends that you copy magnetic tape save sets to disk with the BACKUP command;
however, you can use the DCL command COPY on magnetic tape save sets that were created with
the /INTERCHANGE qualifier.
Save-set specifications on magnetic tape are limited to 17 characters, including the period delimiter (.)
and file type. The following text is a valid save-set specification:
WKLY27JAN2000.BCK
When restoring data from tape, if you do not include a save-set name with an input magnetic
tape, BACKUP reads the next save set it encounters on the tape. (If you specify the input save-set
qualifier /REWIND, BACKUP rewinds the tape and reads the first save set on the tape.)
417
Chapter 11. Using BACKUP
BACKUP can read a Files–11 save set as a Files–11 save set or as a sequential-disk save set:
• When BACKUP reads a save set as a Files–11 save set, all volumes of the save set must be
mounted. To read a save set that is not located in your process default directory, you must specify
the directory in which the save set is located.
• When BACKUP reads a Files–11 save set as a sequential-disk save set, you can mount the
volumes one at a time. You must specify the master file directory [000000] in the save-set
specification when reading a Files–11 save set as a sequential-disk save set.
A save set stored on a Files–11 disk is a standard file, however, and can be copied, renamed, deleted,
or backed up.
Depending on the volume and file protection at the remote node, you may need to specify an access
control string in the network save-set specification. An access control string includes the user name
and password, and has the following format:
remote_nodename"username password"::device_name:[directory]
Example
The following example creates a network save set on the remote node DOUBLE:
$ BACKUP
_FROM: [MY_DIR]
_TO: DOUBLE"username password"::DBA0:SAVEIT.BCK/SAVE_SET
Omit the access control string if it is not required to gain access to the remote node, such as in the
case of proxy network access. Refer to the DECnet for OpenVMS Networking Manual for more
information about access control strings and proxy network access.
When one sequential disk is full, BACKUP prompts you to mount another disk. You can use more
than one disk device at a time to save or restore data; this allows processing to continue on another
disk while the one most recently used is spinning down.
418
Chapter 11. Using BACKUP
You must have the privilege LOG_IO or PHY_IO to read or write a multivolume sequential-disk save
set.
Before creating a sequential-disk save set, mount the first volume of the sequential-disk save set using
the DCL command MOUNT /FOREIGN. Although the disk is mounted with the /FOREIGN qualifier,
BACKUP manages the disk using Files–11 structure.
When you perform a save operation to a sequential disk, you must use the output save-set qualifier /
SAVE_SET. When you perform a restore operation from a sequential disk, you must specify the input
save-set qualifier /SAVE_SET. If you do not specify the /SAVE_SET qualifier, BACKUP displays the
following error message:
%BACKUP-F-IMGFILSPE, /IMAGE specification must only have device name
Do not specify a directory name for the save set; sequential-disk save sets are always entered in the
master file directory [000000]. Even if you specify a directory other than the master file directory in a
save operation, the save set is entered in the master file directory. If you specify a directory other than
the master file directory in a restore or list operation, BACKUP returns an error message indicating
that it cannot locate the file.
BACKUP does not initialize the first sequential-disk volume because the default is /NOINITIALIZE;
however, continuation volumes are initialized. Unless you specify the command qualifier /
INITIALIZE, the following restrictions apply to the first sequential-disk volume:
• The free space on the disk cannot be fragmented into more than 100 contiguous extents.
Volumes you use for sequential-disk save sets should contain only save sets. You must initialize a
volume that has been used for general file processing before using it as a sequential-disk volume. You
can place a maximum of 12 save sets on a single sequential disk. Use Files–11 disk save sets if you
want to create more than 12 save sets on a single disk.
BACKUP can read a sequential-disk save set either as a sequential-disk save set or as a Files–11 save
set:
• When BACKUP reads a save set as a sequential-disk save set, the save set can be mounted
one volume at a time. The default directory for the save set file specification is the master file
directory [000000] on the disk.
• When BACKUP reads a save set as a Files–11 save set, all volumes of the save set must be
mounted. The default directory is your process default directory. Therefore, you must specify the
master file directory [000000] in order to read a sequential-disk save set as a Files–11 save set.
419
Chapter 11. Using BACKUP
If a VAX system performs image backup of an Alpha system disk, a restore operation causes the
Alpha system to reboot successfully.
On Alpha systems, BACKUP can save files and directories from Files–11 Structure Level 2 or 5 disks
to either disks or magnetic tapes. If necessary, you can use BACKUP to restore the saved files and
directories to Files–11 Structure Level 2 or 5 disks.
Note
The OpenVMS Alpha operating system does not support the Files–11 Structure Level 1 format.
You cannot back up files on ISO 9660-formatted media, but you can restore save sets stored on ISO
9660-formatted media.
For more information about the Files–11 disk structure, see Section 9.1.1.2. For more information
about ISO 9660 devices, see Section 8.3.2.
Most save operations are limited by the time required to open a file and read its extents into memory.
Hardware or software caches cannot help to improve disk performance because the data is read only
once. Therefore, how files are laid out on disk is important.
In issuing one I/O for each file extent or file fragment on disk, BACKUP must break down I/Os for
larger extents to fit the internal buffer size that the /BLOCKSIZE parameter specifies. The maximum
I/O that BACKUP can issue is 127 blocks, or 63.5K. Files with just one extent (contiguous file) can
be saved most efficiently. The more extents per file, the longer it takes to save the file.
BACKUP reads files from disk in alphabetic order by directory path and file name. You can obtain
the best performance by placing files and all their extents on disk in alphabetic order and make the
files contiguous. You can accomplish this by using BACKUP/IMAGE when you do an image save-
and-restore. Most defragmentation utilities do not arrange files in alphabetic order, and, in some cases,
these utilities decrease the performance gains that result from consolidating files into larger extents.
420
Chapter 11. Using BACKUP
certain circumstances, a set of small files can take up to 40 times longer to back up than a set of large
files containing the same amount of data. This is due to file system overhead. The four different
curves in the figure show that the effect varies with the type of BACKUP and the components
involved.
CPU Consumption
With advances in disk and tape drives, backups can run fast enough to consume substantial CPU,
especially when creating save sets. This load can be considerable if multiple backups are run
simultaneously on the same machine. Under certain circumstances, tests with 8 parallel backup
processes can saturate a 4-CPU machine.
Software Tuning
You can gain some performance improvements with the current design of OpenVMS BACKUP by
adjusting system and process parameters. This is not, however, a simple, straightforward task, and you
can expect a performance improvement of, typically, less than 15%. Changing system and process
parameters can also result in worse performance. Disks with different file fragmentation and file sizes
might require different process quotas to save these files efficiently.
421
Chapter 11. Using BACKUP
Software tuning parameters are only for save operations; they have no impact on restore performance.
Note: To be able to copy save sets from tape to disk, use a maximum block size
of 32,768.
/GROUP Today’s tape and disk drive technology makes the XOR group feature of
BACKUP obsolete. Use /GROUP=0. (If you do not specify the /GROUP
qualifier, the default of 10 is used, which adds 10% more data to a save set).
/CRC Keep the default of /CRC, which does not add extra data to the save set. A 32-bit
field is always reserved in a save set whether you enable CRC or not. However,
adding a small amount of CPU time helps to ensure the integrity of a backup
save set.
/FAST This qualifier does not imply that your backup will go faster! /FAST forces
BACKUP to read [000000]INDEXF.SYS to build a decision table to speed
up the file selection process. If you select only a few files, reading all of
INDEXF.SYS results in unnecessary disk I/Os; in this case, do not use /FAST.
Time a save operation with and without using /FAST.
Using WSQUOTA
WSQUOTA is the most sensitive parameter to influence the save performance of BACKUP. While
tuning,, set a high value for WSQUOTA (set it to WSMAX) for the account running the backups. To
change WSQUOTA, use the DCL command SET WORKING_SET command before the BACKUP
422
Chapter 11. Using BACKUP
command line. This is a more convenient way to change WSQUOTA than to change the quota using
the AUTHORIZE utility.
WSQUOTA and /BLOCKSIZE, together, create the in-memory buffers at the start of a save operation.
Refer to the output of /LIST for the actual number of buffers used. Although you might assume that
more buffers are better, keep in mind that BACKUP scans the input disk for files to be saved and
maps these files to the available buffer space. The more buffers you have, the longer this operation
takes. At the same time, the output tape drive or disk drive is idle. The fewer buffers created (by using
smaller WSQUOTA values) tends to result in better overlap of input and output I/Os and, hence,
better performance, especially when the save set is written to a tape device.
• Vary in increments of 10
• Vary in increments of 10
423
Chapter 11. Using BACKUP
1. Use the Authorize utility (AUTHORIZE) to determine the current quota values for the account
you will use for backups. For example, if you are using the SYSTEM account for backups, enter
the following commands:
2. Using the System Management utility (SYSMAN), determine the value of the system parameter
WSMAX, as follows:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS SHOW WSMAX
SYSMAN> EXIT
$
In this case, the value for WSMAX, as shown in the column marked Current, is 100000. Use this
value to help set the correct values for the process quotas.
3. Use AUTHORIZE to compare the values for the process quotas to the recommended values for
efficient backups, as shown in Table 11.6.
4. If necessary, change process quotas using the AUTHORIZE command MODIFY. If you change
process quotas, you must log out and log in again for the changes to take effect.
Table 11.7 lists a set of process quota values that are appropriate for many configurations. If your
disks are highly fragmented or if your backups will be performed during periods of heavy system
use, you should reduce the values shown for WSQUOTA and FILLM.
424
Chapter 11. Using BACKUP
Example
The following steps show the commands that you would use to run the Authorize utility and set
process quotas for the SYSTEM account (if you plan to run backups from a different account,
determine the process quotas for that account):
WSQUOTA 512
WSEXTENT 2048
PGFLQUOTA 20480
FILLM 40
DIOLM 18
425
Chapter 11. Using BACKUP
ASTLM 24
BIOLM 18
BYTLM 32768
ENQLM 200
2. Using the System Management utility (SYSMAN), determine the value of the system parameters
WSMAX, as follows:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS SHOW WSMAX
%SYSMAN-I-USEACTNOD, a USE ACTIVE has been defaulted on node DIEM
Node DIEM: Parameters in use: ACTIVE
Parameter Name Current Default Minimum Maximum Unit
Dynamic
-------------- ------- ------- ------- ------- ----
-------
WSMAX 100000 4096 1024 134217728 Pagelets
SYSMAN> EXIT
$
In this case, the value for WSMAX, as shown in the column marked Current, is 100000.
3. Compare the values for SYSTEM to the values in Table 11.6, and set the appropriate values:
4. Log out and then log in again so that these process quotas take effect.
4. Mount the device (for disks only; BACKUP mounts tapes automatically).
These tasks are described in Chapter 9. This chapter describes specifically how these tasks relate to
BACKUP. Note that all disk operations in this chapter also apply to diskettes.
426
Chapter 11. Using BACKUP
• Writes a tape expiration date and volume protection data to the volume header record of the tape
Caution
Initializing a volume removes links to existing files on the volume, effectively erasing the files. Do
not initialize a volume that contains data you want to keep.
• The volume is new and has not been formatted in the Files–11 format.
• You want to change the volume label, expiration date, or volume protection data.
To initialize a tape volume on the BACKUP command line, add the /REWIND and /LABEL qualifiers
to the output specifier. The /REWIND qualifier rewinds and initializes the volume. The /LABEL
qualifier allows you to specify the volume label.
Magnetic tape volume labels can contain a maximum of six characters. You can use any ANSI “a”
character in a magnetic tape volume label. The ANSI “a” characters include numbers, uppercase
letters, and any of the following non-alphanumeric characters:
427
Chapter 11. Using BACKUP
If you use any non-alphanumeric characters, you must enclose the volume label with quotation marks.
Label your magnetic tapes according to the data contained on the tapes. The following table presents
some suggestions for labeling tapes:
Note that:
• If the tape volume has already been initialized with a label that is different from the label you
specify on the BACKUP command line, BACKUP displays an error message about the label
mismatch. For more information, see Section 11.12.
• If the tape is not expired, BACKUP displays the following error message:
If you have either VOLPRO privilege or write access to the volume, or you are the owner of the
volume, you can use the DCL command INITIALIZE/OVERRIDE=EXPIRATION to initialize
the magnetic tape.
You can also reenter the BACKUP command line using the /IGNORE=LABEL_PROCESSING
qualifier (refer to the VSI OpenVMS System Management Utilities Reference Manual).
• If the volume was previously initialized with the output save-set qualifiers /REWIND and /
PROTECTION, you must either own the volume (your UIC matches the owner UIC of the
volume) or have VOLPRO privilege.
Example
$ BACKUP [ACCOUNTS.JUNE] MUA0:JUNE.BCK/REWIND/LABEL=MTH101
• When you perform an image copy to disk, BACKUP automatically initializes the output disk,
effectively erasing any existing files and volume-initialization data on the disk. To preserve
volume-initialization data on the output disk, use the /NOINITIALIZE qualifier.
428
Chapter 11. Using BACKUP
• When you create a sequential disk save set, BACKUP does not initialize the output volume
(by default). You can, however, instruct BACKUP to initialize the output volume using the /
INITIALIZE qualifier.
Examples
1. The following command shows how to initialize a disk on the BACKUP command line:
$ BACKUP/IMAGE DUA1: DUA2:
This command initializes DUA2: using the volume-initialization data from DUA1. BACKUP then
copies the contents of DUA1: to DUA2:, effectively erasing any existing files on DUA2. Note that
the files on DUA2: are stored contiguously, eliminating disk fragmentation.
2. The following command shows how to preserve volume-initialization data on the output disk
during an image copy:
$ BACKUP/IMAGE DUA1: DUA2:/NOINITIALIZE
This command causes BACKUP to initialize DUA2:, preserving the initialization data on that
volume. BACKUP then copies the contents of DUA1: to DUA2:, effectively erasing any existing
files on DUA2.
3. These commands cause BACKUP to initialize DJA2:, effectively erasing any existing files:
$ MOUNT/FOREIGN DJA2:
%MOUNT-I-MOUNTED, USER1 mounted on _DJA2:
$ BACKUP/IMAGE DUA1: DJA2:DAILY.SAV/INITIALIZE
BACKUP then creates an image backup of DUA1: in the sequential disk save set DUA2:
[000000]DAILY.SAV. If the save set exceeds the available disk space, BACKUP prompts for
another volume. BACKUP initializes the new volume and extends the save set in the master file
directory ([000000]) of the new volume. (For more information about save sets, see Section 11.5.
For more information about the /INITIALIZE qualifier, refer to the VSI OpenVMS System
Management Utilities Reference Manual.)
If you are planning to write a save set to a disk, decide whether the save set will be written in standard
Files–11 format or in sequential-disk format:
• If the save set will be written in standard Files–11 format, the target disk must be mounted as a
Files–11 disk.
• If a save set will be written in sequential-disk format (for example, if the save set occupies more
than one disk), the target disk must be mounted as a foreign device by specifying the command
qualifier /FOREIGN to the DCL command MOUNT.
429
Chapter 11. Using BACKUP
where:
device-name is the name of the drive that holds the volume you want to mount.
volume-label is the alphanumeric identification you assigned to the volume with the
INITIALIZE command. For disk volumes, labels can have a maximum of
12 characters; for magnetic tape volumes, labels can have a maximum of 6
characters. You do not need to add this parameter if you are mounting the
volume with the /FOREIGN qualifier.
logical-name is an optional 1- to 255-character alphanumeric specification that you want to
associate with the volume.
Example
$ SHOW DEVICE MU
Device Device Error Volume Free
Trans Mnt
Name Status Count Label Blocks
Count Cnt
DAD$MUA6: Online 0
MOM$MUA6: Online 0
FRED$MUA6: Online 0
$ MOUNT/FOREIGN FRED$MUA6: TEST DRIVE1
%MOUNT-I-MOUNTED, TEST mounted on _FRED$MUA6:
This command mounts the tape in FRED$MUA6: and assigns it the logical name DRIVE1.
DISMOUNT device-name
Example
The following command dismounts a tape in drive MUB6:
$ DISMOUNT MUB6:
This command dismounts and unloads the tape in MUB6. After you dismount and unload the
volume, you can remove it from the drive. To dismount the tape but not unload it, enter the following
command:
$ DISMOUNT/NOUNLOAD MUB6:
430
Chapter 11. Using BACKUP
To communicate with the operator at your site, consult the operator about site-specific procedures.
Depending on how your system is customized, using the operator communication manager (OPCOM)
might be necessary. The OPCOM system process allows you to request assistance from the operator
and allows the operator to respond to your requests. ( Section 2.4 explains OPCOM.)
If you want the operator to mount a tape for you, use OPCOM to ask the operator to mount the tape.
• The /REPLY qualifier assigns your request a unique number to which the operator can respond.
• If your facility is very large, several operators might each have specific tasks. If this is the case,
use the REQUEST/TO command, which allows you to send a message to a specific operator
(identified by a keyword).
If you request operator assistance and an operator is not available, you receive the following message:
This indicates that the operator has disabled the operator's terminal. To abort your request, press Ctrl/
Z.
You can also use the /[NO]ASSIST qualifier with either the BACKUP or the MOUNT command:
• If a mount request fails and you specified /ASSIST, mount failure messages appear on the operator
terminal (if OPCOM is enabled). The /ASSIST qualifier is the default for both the BACKUP and
MOUNT commands.
• If you specified /NOASSIST, mount failure messages appear on your terminal instead of on the
operator terminal.
• If you are on a workstation but forget to specify /NOASSIST, OPCOM (if OPCOM is running)
requests that the operator load the next volume.
If you have the OPER privilege, you can respond to the request by using another terminal window
to enter the following commands:
431
Chapter 11. Using BACKUP
$ REPLY/ENABLE=TAPES
$ REPLY/TO=identification-number "message text"
Examples
1. To request the operator to mount a tape, enter a command similar to the following one:
The /REPLY qualifier assigns your request a unique number (in this case, 2) to which the operator
can respond. Note that you cannot enter any additional commands until the operator responds.
2. The following example shows you how to direct your request to a specific operator using the /TO
qualifier:
Because BACKUP writes save sets in a format that only BACKUP can interpret, a list operation is the
only way to determine the contents of a save set without restoring the save set. You can perform a list
operation in conjunction with any other BACKUP operation.
By default, a save-set listing supplies information about files in the save set similar to the information
supplied by the DCL command DIRECTORY/DATE/SIZE, including the actual number of blocks
used for each file.
You can also perform a BACKUP list operation to list the contents of a BACKUP journal file.
BACKUP journal files, which are created during a save operation by using the command qualifier /
JOURNAL[= file-spec], contain on-disk records of BACKUP save operations and the file
specifications of the files saved during each operation. Section 11.13.4 contains more information
about creating and listing BACKUP journal files.
1. Insert the media containing the save set into the drive.
2. If the volume is a disk, mount the disk as described in Section 11.8.2 (BACKUP mounts tapes
automatically).
432
Chapter 11. Using BACKUP
3. Enter the BACKUP/LIST command in the format specified in the VSI OpenVMS System
Management Utilities Reference Manual. The /REWIND qualifier rewinds the tape to the
beginning before searching for the save set. To list all the save sets on a volume, include the
asterisk wildcard character (*) with the device specification.
To list the contents of save sets does not require you to know the names of save sets on magnetic
tape. Enter the device specification of the drive in which the tape is inserted with the BACKUP/
LIST command. BACKUP reads the next save set it encounters on the magnetic tape and stops
processing when it reaches the end of that save set. BACKUP does not automatically rewind
to the beginning-of-tape marker unless you include the /REWIND qualifier in your command.
Therefore, you can list the next save set (if one exists) by repeating the BACKUP/LIST command.
If no more save sets exist on the tape, BACKUP issues the following error messages:
Examples
1. To obtain save-set information about a magnetic tape save set named 2MAR1555.BCK in the
drive MIA0:, enter the following command:
$ BACKUP/LIST MIA0:2MAR1555.BCK/REWIND
Listing of save set(s)
2. The following command rewinds the tape to the beginning and lists all save sets on the volume
MIA0:
$ BACKUP/LIST MIA0:*.*/REWIND
3. The following command combines a list operation with a save operation to magnetic tape:
433
Chapter 11. Using BACKUP
BACKUP verifies that the volume label is DLY201 and copies the contents of the directory
[PRAMS] to a save set named 2MAR1555.BCK. The command qualifier LIST causes BACKUP
to write save-set information to the file MYBACK.DAT as the save operation proceeds.
• If you specified only one drive in the BACKUP command line and you are not using a tape loader
or operator assistance, BACKUP prompts you to remove the tape that is in the drive and insert
another one:
%BACKUP-I-RESUME, resuming operation on volume 2
%BACKUP-I-READYWRITE, mount volume DAILY02 on MUA0: for writing
Respond with YES when ready:
Note
If you are using OPCOM and the /ASSIST qualifier (the default), the following message appears on
your terminal screen:
%BACKUP-I-RESUME, resuming operation on volume 2
%MOUNT-I-OPRQST, Please mount volume DAILY02 in device MUA0:
BACKUP requests: Saveset DAILY.SAV, Volume number 02, write ENABLED
After you insert and load the second volume (or an operator fulfills the mount request), BACKUP
continues writing data to the second volume.
• If you specified multiple drives on the command line, BACKUP continues writing data to
the second volume, assuming the drive is loaded, is on line, and has the correct volume label.
BACKUP unloads the first volume and displays the following message:
%BACKUP-I-RESUME, resuming operation on volume 2
• If you are using a tape loader, BACKUP continues writing data to the tape in the next slot,
assuming the tape loader has an adequate supply of correctly labeled tapes. BACKUP rewinds and
unloads the first tape and displays the following message:
%BACKUP-I-RESUME, resuming operation on volume 2
.
.
.
434
Chapter 11. Using BACKUP
• If you did not specify a label on the command line, BACKUP uses the first six characters of
the save-set name to create a label for the first volume (unless you use the /EXACT_ORDER
qualifier, in which case BACKUP preserves the volume label on the tape). For subsequent
volumes, BACKUP uses the first four characters from the label of the first volume plus the
number of the volume in the sequence. For example, suppose you are saving files that require
three tapes and the save-set name is BACKUP. If you do not specify a label, the first tape is
labeled BACKUP, the second BACK02, and the third BACK03.
• If you specified a single label on the command line using the /LABEL qualifier and it matches the
label of the first volume, BACKUP labels subsequent volumes with the first four characters of the
label from the first volume plus the number of the volume in the sequence. For example, suppose
you are saving files that require three tapes and the first tape is labeled TAPE. The second tape
gets the label TAPE02, and the third tape gets the label TAPE03.
• If you specified multiple labels on the command line using the /LABEL qualifier (without the /
EXACT_ORDER qualifier), BACKUP uses the labels you specify. If the operation requires more
labels than you specified, BACKUP uses the first four characters of the last volume label and the
volume number of the tape.
• You can use the /EXACT_ORDER qualifier in conjunction with the /LABEL qualifier to specify
the order in which you want BACKUP to use the labels. BACKUP continues the operation as long
as the label of the tape in the drive matches the corresponding label on the command line. If you
do not specify enough labels on the command line to complete the operation, BACKUP prompts
you to enter a label for the tape in the drive.
As a safeguard against initializing or writing the wrong tape, BACKUP compares the label that
you specify on the command line to the label of the tape in the drive. Section 11.12 describes how
BACKUP processes tape labels and handles a label mismatch.
Once the devices are put back on line or the media is made ready, the backup session continues or
finishes as expected. This problem will be addressed in a future release.
• Checks the volume protection information to ensure that you have the right to access the volume
in the manner you requested.
435
Chapter 11. Using BACKUP
• Checks the tape expiration date to prevent you from initializing a magnetic tape that has not yet
expired.
• Compares the volume label specified in the BACKUP command line (either explicitly with the /
LABEL qualifier or implicitly through the save-set name) to the volume label of the tape to
prevent you from creating a save set on the wrong magnetic tape. BACKUP uses the following
guidelines when processing tape labels:
• If you specify a label that is longer than six characters, BACKUP truncates the label to six
characters.
• If the volume label is less than six characters long, BACKUP pads the volume label with the
blank character to six characters.
• The first four characters of the volume label either must match the first four characters of
the label specified in the BACKUP command line exactly, or must end with one or more
underscore characters. If the first four characters of the volume label end with one or more
underscore characters, and the label specified in the command line matches the part of the
volume label that appears before the underscore characters, BACKUP accepts the match. (For
example, the volume label ABN_ matches the command line label ABN but does not match
the command line label ABNE.)
• If the fifth and sixth characters of the volume label are numbers between 0 and 9, BACKUP
does not compare these characters with corresponding characters in the label specified in the
BACKUP command line. Otherwise, the fifth and sixth characters in the volume label must
exactly match the corresponding characters in the label specified in the BACKUP command
line.
If the labels match, you have the proper protection, and the tape is expired, BACKUP performs the
designated operation.
If you specify more than one label with the /LABEL qualifier and you do not specify the /
EXACT_ORDER qualifier, the BACKUP operation succeeds if any of the labels you specify match
the tape's volume label. For example, if the tape's volume label is MA1686, the BACKUP operation
will succeed if you specify the following list of labels with the /LABEL qualifier:
/LABEL=(MA1684,MA1685,MA1686)
If the volume labels do not match, BACKUP displays the following error message:
%MOUNT-I-MOUNTED, DKA0 mounted on _SODAK$MUA0:
%BACKUP-W-MOUNTERR, volume 1 on _SODAK$MUA0 was not mounted because
its label does not match the one requested
%BACKUP-W-EXLABEER, volume label processing failed because
volume MB1684 is out of order, Volume label MA1684 was expected
specify option (QUIT, NEW tape, OVERWRITE tape, USE loaded tape)
BACKUP>
Depending on the option you specify, you can quit the backup operation (QUIT), dismount the old
tape and mount a new one (NEW), overwrite the data on the tape (OVERWRITE), or USE the loaded
tape.
If you specify more than one label with the /LABEL qualifier and you also specify the /
EXACT_ORDER qualifier, BACKUP compares the label of the loaded tape with the first label that
you specified with the /LABEL qualifier. If the labels match, BACKUP begins the operation. If the
labels do not match, BACKUP prompts you with the previous message.
436
Chapter 11. Using BACKUP
Assuming the volume labels of the tapes you use match the corresponding labels on the command
line, BACKUP continues processing until it completes the operation or runs out of volume labels. If
you do not specify enough labels on the command line to complete the operation or if the tape loaded
does not have an ANSI label, BACKUP prompts you to enter a label for the tape in the drive.
If you use blank tapes or tapes that you intend to overwrite, use the /
IGNORE=LABEL_PROCESSING qualifier. This suppresses the previous BACKUP message, which
normally occurs if BACKUP encounters a non-ANSI-labeled tape during a save operation.
For more information about the /EXACT_ORDER, /IGNORE, and /LABEL qualifiers, refer to the
VSI OpenVMS System Management Utilities Reference Manual.
Note
When you use the Backup utility with files, BACKUP processes relative version -0 as if it were 0,
saving the most recent version instead of the earliest version of the file for processing.
Examples
1. The following command copies the file EMPLOYEES.DAT in the current directory to the
directory [BATES.TEST]:
2. You can also create copies of entire directory trees. For example:
This command re-creates the directory structure of user BATES on the disk named USER2:
3. The following command copies all files in the directory tree [LYKINS...] to the directory tree
[OWLCR...] on the same disk:
437
Chapter 11. Using BACKUP
Note
Disk-to-disk copy operations initiated using the /VERIFY qualifier might attempt to verify files that
are not copied. For example, if an error prevents you from successfully copying a file from one disk to
another location and you specified the /VERIFY qualifier for that operation, the system displays two
error messages: one indicates that the file was not copied, and the other indicates that the file was not
verified.
The input-specifier specifies the file you want to back up, and the output-specifier specifies the device
and save-set name.
When you save data to disk, use the output save-set qualifier /SAVE_SET. If you do not specify /
SAVE_SET, BACKUP copies files in standard file format rather than creating a BACKUP save set.
When you save data to tape, you do not need to specify /SAVE_SET; BACKUP treats all magnetic
tape files as save sets. Use the /LABEL qualifier to specify the label of the tape you are using.
Examples
1. The following commands back up the file EMPLOYEES.DAT to a save set:
Allocate the tape drive MUA0: and assign it the logical name TAPE1.
Initialize the tape in the drive and assign it the label DLY101.
Save the file EMPLOYEES.DAT to a save set on the tape in MUA0. The /LOG qualifier
causes BACKUP to display the file specification of the file that BACKUP copies. The /
LABEL qualifier indicates the volume label that you assigned with the INITIALIZE
command.
2. To create a magnetic-tape save set named NOV13SAVE.BCK that contains all files and
subdirectories of a directory tree named [LYKINS...], enter the following command:
3. You can also specify a list of files that you want to back up:
438
Chapter 11. Using BACKUP
$ BACKUP
_From: DUA0:[MGR]EMPLOYEES.DAT,USER1:[RECORDS]DOOHAN.DAT,EVANS.DAT
_To: MUA1:MONTHLY_AUG.BCK/LABEL=TAPE1
4. If you are backing up large amounts of data, you can also specify more than one output device:
$ BACKUP
_From: DUA0:[000000]*.*
_To: MTA1:BACKUP.BCK,MTA2:
In this example, if BACKUP uses all of the space on the tape in MTA1:, it continues writing the
save set on the tape in MTA2: (assuming MTA2: contains a tape that has never been initialized or
one that has been initialized with the label BACK02).
5. As shown in the following example, you can create a Files–11 save set that consists of a single
file; DUA1: is already mounted:
6. To create a network save set, add the node, user name, and password to the output specifier in the
following format:
remote_nodename"username password"::device_name:[directory]
For example:
$ BACKUP
From: STRATCOL1.DAT
To: NIMBL"ROGERS SANFRANCISCO"::WORK1:[ROGERS]STRATDAT1.BCK/SAVE_SET
7. To create a sequential-disk save set on DUA0: named NOV12SAVE.BCK that consists of all files
in the current default directory, enter the following commands:
$ MOUNT/FOREIGN DUA0:
$ BACKUP [] DUA0:NOV12SAVE.BCK/SAVE_SET
8. The following example backs up the directory tree [REPORTS...] to a save set:
The /REWIND qualifier in this command line rewinds the tape and initializes it. The /
IGNORE=LABEL_PROCESSING qualifier causes BACKUP to ignore any existing label
information on the tape. Because the command does not include the /LABEL qualifier, BACKUP
uses the first six characters of the save-set name (REPORT) as the label.
9. You can also back up a directory to a disk that is mounted in the Files–11 format. For example:
If the contents of the [PAYROLL] directory exceed the capacity of the disk DUA21:, the backup
operation fails.
439
Chapter 11. Using BACKUP
10. If you are backing up more data than the output volume can contain, mount the output volume
using the /FOREIGN qualifier and create a sequential disk save set. For example:
In this example, if the contents of the [PAYROLL] directory exceed the capacity of the disk
DJA21:, BACKUP prompts you to remove the volume in the drive and insert another one. For
more information about Files–11 and sequential disk save sets, see Section 11.5.
Note
Prior to OpenVMS Version 7.2, 32 levels of directories were supported. Beginning with OpenVMS
Version 7.2 on VAX and Alpha systems, the number of levels of directories can be as high as RMS
allows; for OpenVMS Version 7.2 and later, that number is 255 levels.
Note
Because BACKUP processes files by blocks, comparing files not produced by BACKUP is likely to
cause mismatch errors in files that are apparently identical.
• You can perform a compare operation in conjunction with a save, restore, copy, or list operation
by specifying the command qualifier /VERIFY. When you specify /VERIFY, BACKUP first
performs the save, restore, copy, or list operation and then compares the output with the input.
When you use /VERIFY in a copy or list operation, BACKUP displays no message when it begins
the compare operation. When you use /VERIFY in a save or restore operation, BACKUP displays
the following message when it begins the compare operation:
• You can perform a compare operation independently of other BACKUP operations by specifying
the command qualifier /COMPARE. In addition, you can use the /COMPARE and /IMAGE
qualifiers to instruct BACKUP to perform an image compare operation. This operation compares
files on two different disks by using the file identifications (FIDs).
An image compare operation may not work correctly when you create two disks with identical
files by incrementally backing up and restoring the files from one disk to the other disk. This is
440
Chapter 11. Using BACKUP
because BACKUP does not ensure that the incrementally restored files have the same FIDs as the
incrementally saved files. This is true regardless of whether the /OVERLAY, /NEW_VERSION,
or /REPLACE qualifiers are used in the restore command.
Examples
1. The following example compares a save set on tape with files on disk. The command directs
BACKUP to compare the contents of the save set 2MAR1555.BCK with the directory [LYKINS].
2. The following example compares files on disk; note the inconsistency in block 16 between
UPLIFT.EXE;4 and UPLIFT.EXE;3:
3. To compare two entire Files–11 volumes, use an image compare operation, as follows:
4. To compare a physical save set with a Files–11 volume, use a physical compare operation, as
follows. All disks in a physical compare operation must be mounted as foreign volumes.
$ MOUNT/FOREIGN DBA2:
$ BACKUP/PHYSICAL/COMPARE MIA0:PHYSBACK.BCK DBA2:
To list the contents of a BACKUP journal file, enter a command in the following format:
BACKUP/LIST[=file-spec]/JOURNAL[=file-spec]
You cannot specify an input or output specifier with a BACKUP/LIST/JOURNAL command. If you
omit the file specification from the command qualifier /LIST, BACKUP directs the output to your
terminal; if you omit the file specification from the command qualifier /JOURNAL, the journal file
receives the default BACKUP journal file name (SYS$DISK:[]BACKUP.BJL).
For more information about creating and listing BACKUP journal files, refer to the description of
the /JOURNAL qualifier in the VSI OpenVMS System Management Utilities Reference Manual.
441
Chapter 11. Using BACKUP
Example
This example shows how to create a BACKUP journal file and list the contents of the BACKUP
journal file:
[COLLINS]ALPHA.DAT;4
[COLLINS]EDTINI.EDT;5
[COLLINS]LOGIN.COM;46
[COLLINS]LOGIN.COM;45
[COLLINS]MAIL.MAI;1
[COLLINS]MAR.DIR;1
[COLLINS.MAR]GETJPI.EXE;9
[COLLINS.MAR]GETJPI.LIS;14
.
.
[LANE]LES.MAI;1
.
.
Save set 3OCT.FUL created on 3-OCT-2000 00:40:56.36
Volume number 2, volume label 3OCT02
[LANE]MAIL.MAI;1
[LANE]MEMO.RNO;5
[LANE]MEMO.RNO;4
.
.
[WALTERS.VI]KD.RNO;52
442
Chapter 11. Using BACKUP
Use the /SAVE_SET qualifier if the save set is on a disk or diskette. The /SELECT qualifier lets you
specify the exact file you want to restore.
If your save set is stored on more than one magnetic tape or sequential disk volume, it is possible to
begin restore and compare operations with any volume of the save set. However, if you are restoring
a save set with the command qualifier /IMAGE, processing must begin with the first volume. (An
image restore operation restores all files to a volume or volume set.) If you attempt an image restore
or compare operation and specify a tape that is not the first volume of the save set, you receive the
following message:
You can use the command qualifier /LOG to monitor the files as they are restored. To restore only a
small number of files from a large save set, press Ctrl/Y to terminate processing once the files you
need have been restored.
Examples
1. If you mistakenly delete the file USER1:[WORK.SEPT]INVOICES.DAT but it has been backed
up to a save set named NIGHTLY.BCK, you could restore it using the following command:
$ BACKUP
_From: MUA0:NIGHTLY.BCK/SELECT=[WORK.SEPT]INVOICES.DAT
_To: USER1:[WORK.SEPT]INVOICES.DAT
2. You can also use wildcard characters to restore more than one file. For example:
$ BACKUP/LOG
_From: MUA0:NIGHTLY.BCK/SELECT=[WORK.SEPT]INVOICES*.*
_To: USER1:[WORK.SEPT]INVOICES*.*
%BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_01.TXT;1
%BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_02.TXT;1
%BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_03.TXT;1
%BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_04.TXT;1
%BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_05.TXT;1
%BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_06.TXT;1
.
.
.
The /LOG qualifier displays the file specification of the files that you restored.
3. The following example restores files from the magnetic tape save set NOV12SAVE.BCK to
subdirectories of the directory [LYKINS]:
443
Chapter 11. Using BACKUP
4. To restore a specific file from a save set, use the input save-set qualifier /SELECT. In the
following example, the file STRAT1.DAT in the directory [LYKINS.GLENDO] was deleted
accidentally. The user, who previously saved the file to a save set named NOV2SAVE.BCK, uses
BACKUP to restore the file to the directory. Next, the user enters the DIRECTORY command to
confirm that the file has been restored to the subdirectory [LYKINS.GLENDO].
$ BACKUP
_From: MIA0:NOV2SAVE.BCK/SELECT=[LYKINS.GLENDO]STRAT1.DAT;5
_To: STRAT1.DAT;5
$ DIRECTORY STRAT1.DAT
Directory [LYKINS.GLENDO]
STRAT1.DAT;5
Total of 1 file.
$
5. Suppose you deleted the entire [REPORTS] directory, which previously contained the following
subdirectories:
$ SET DEFAULT [REPORTS]
$ DIRECTORY *.DIR
Directory USER3:[REPORTS]
INTERNAL.DIR 2
PUBLIC.DIR 5
SUMMARIES.DIR 1
TEST.DIR 3
WEEKLY.DIR 2
Total of 5 files, 13 blocks.
$
If you made a backup save set of the directory and subdirectories, you could restore them. For
example:
$ BACKUP MUA0:MAY-10.BCK/SELECT=[REPORTS...] USER3:[REPORTS...]
This command restores all the files in the [REPORTS] directory and the subdirectories
([.INTERNAL], [.PUBLIC], [.SUMMARIES], [.TEST], and [.WEEKLY]).
6. To restore all files from a magnetic-tape save set named NOV12SAVE.BCK to the directory tree
from which they were saved, enter the following command:
$ BACKUP TAPE:NOV12SAVE.BCK/REWIND [*...]
The /REWIND qualifier directs BACKUP to rewind the tape to the beginning-of-tape before
beginning the restore operation. This ensures that the save set will be restored even if it is located
before the current tape position.
444
Chapter 11. Using BACKUP
Note
Do not use the menu system (which displays when you boot the OpenVMS VAX operating system
CD–ROM) to back up user disks. Use the menu system to back up system disks only.
In addition, if you back up large user disks on VAX systems, BACKUP might need to page and
thereby cause the operation to fail. If this occurs, use online BACKUP to back up those VAX user
disks.
Note
The first time you back up a disk, you must perform an image backup using the BACKUP/IMAGE/
RECORD command before you perform regular incremental backups. The image backup saves a copy
of the entire disk and marks each file as being saved. Subsequent incremental backups assume that an
image backup has been performed; only new or modified files are saved.
If an image backup is not performed first, the incremental backups save more files than might be
necessary to ensure that an incremental restore operation will be successful.
You can instruct BACKUP to save open files by using the /IGNORE=INTERLOCK qualifier on the
BACKUP command, as described in Section 11.18.3. However, open files saved by BACKUP might
contain inconsistent data, depending on the applications that are writing to the open files. BACKUP
reports a message if either:
• The file was modified while BACKUP was reading the file
• The file is accessed for writing on the local node when BACKUP finishes reading the file
However, if the file is accessed for writing from a remote node when BACKUP finishes reading the
file, no message is displayed because BACKUP cannot detect the access.
If a file with the specified version already exists, BACKUP reports the following error message:
445
Chapter 11. Using BACKUP
$ REPLY/ALL "System Backup About to Begin – Open Files Will Not Be Backed
Up"
When you enter this command, each interactive terminal on the system displays the following
message:
Reply received on MYNODE from user SYSTEM at VTA28:23:35:11
System Backup About to Begin – Open Files Will Not Be Backed Up
The /IMAGE qualifier identifies the backup operation as an image backup. The /RECORD qualifier
is optional and records the current date and time in the file header record of each file that is backed
up. You must use the /RECORD qualifier if you are planning to perform future incremental backups.
Specify the name of the disk you are backing up as the input-device; do not specify individual files.
The /REWIND qualifier is optional depending on whether you want to initialize the tape. The /
LABEL qualifier identifies the label of the tape.
Examples
1. The following example shows how to create an image backup of a disk on your workstation. If the
disk is named DKA100:, and the tape cartridge drive is named MKB100:, you could perform the
image backup by entering the following commands:
$ INITIALIZE MKB100: WKLY
$ MOUNT DKA100: DISK$1
%MOUNT-I-MOUNTED, DISK$1 mounted on _DKA100:
$ BACKUP/IMAGE/RECORD/VERIFY
_From: DKA100:
_To: MKB100:FULL02.SAV/LABEL=WKLY
%BACKUP-I-STARTVERIFY, starting verification pass
446
Chapter 11. Using BACKUP
2. If you are backing up a large disk, you may want to use several tape drives for the backup. For
example:
$ ALLOCATE MUA0:,MUA1:,MUA2:
%DCL-I-ALLOC, MUA0: allocated
%DCL-I-ALLOC, MUA1: allocated
%DCL-I-ALLOC, MUA2: allocated
$ BACKUP/IMAGE/RECORD/NOASSIST/RELEASE_TAPE
_From: DKA100:
_To: MUA0:FULL02.SAV,MUA1,MUA2/LABEL=MNTH
%MOUNT-I-MOUNTED, MNTH mounted on _MUA0:
%BACKUP-I-RESUME, resuming operation on volume 2
%MOUNT-I-MOUNTED, MNTH02 mounted on _MUA1:
%BACKUP-I-RESUME, resuming operation on volume 3
%MOUNT-I-MOUNTED, MNTH03 mounted on _MUA2:
$
The /RELEASE_TAPE qualifier dismounts and unloads an output tape device after
BACKUP writes the save set. The /RECORD qualifier records the current date and time in
the file header record of each file that is backed up.
The /IMAGE qualifier identifies the backup operation as an image backup. The /RECORD qualifier
records the current date and time in the file header record of each file that is backed up. This
information is essential for future incremental backups. The /SAVE_SET qualifier indicates that you
are creating a save set on a disk.
Examples
1. For example, if you want to create an image backup save set of the disk named DUA1: on a disk
named DUA2:, you could enter the following commands:
$ MOUNT DUA1: USER1
447
Chapter 11. Using BACKUP
2. You can also specify multiple disk drives as the output specifier in the BACKUP command line.
For example:
$ BACKUP/IMAGE/RECORD
_From: DUA0:
_To: DUB24:[USER.BACKUPS]USER1.SAV,DUB25/SAVE_SET
1. Perform an image backup using the /RECORD qualifier (see Section 11.15.2).
2. To determine the date of the last backup that used the /RECORD qualifier, enter the
DIRECTORY/FULL command and the file name. For example:
$ DIRECTORY/FULL LOGIN.COM
Directory WORK204:[HIGGINS]
LOGIN.COM;31 File ID: (23788,1,0)
Size: 7/9 Owner: [ACC,HIGGINS]
Created: 30-APR-2000 14:37:33.98
Revised: 30-APR-2000 14:37:34.44 (1)
Expires: <None specified>
Backup: 30-APR-2000 20:20:57.37
File organization: Sequential
File attributes: Allocation: 9, Extend: 0, Global buffer count: 0, No
version limit
Record format: Variable length, maximum 94 bytes
Record attributes: Carriage return carriage control
RMS attributes: None
Journaling enabled: None
File protection: System:RWED, Owner:RWED, Group:RE, World:
Access Cntrl List: None
Total of 1 file, 7/9 blocks.
The date of the last /RECORD backup is indicated in the Backup field of the display. In this
example, a /RECORD backup was performed on 30-APR-2000 20:20:57.37.
Note
If you used the /IGNORE=INTERLOCK qualifier to back up open files during your last image
backup or incremental backup in which the /RECORD qualifier was used, see Section 11.18.3. If the
files remain open, they will not be included in the incremental backup because their backup date fields
448
Chapter 11. Using BACKUP
are not as recent as the last image backup or incremental backup in which the /RECORD qualifier was
used.
The /RECORD qualifier records the current date and time in the file header record of each file that
is backed up. This information is essential for future incremental backups. The /SINCE=BACKUP
qualifier backs up files dated later than the last /RECORD backup. The /REWIND qualifier is
optional depending on whether you want to initialize the tape. The /LABEL qualifier identifies the
label of the tape.
Example
The following command is an example of an incremental backup in which BACKUP saves all files
on DRA1: that were modified since the previous BACKUP/RECORD command and stores them in a
save set named 20APR2000.SAV:
$ BACKUP/RECORD/SINCE=BACKUP/RELEASE_TAPE
From: DRA1:[000000...]
To: MIA0:20APR2000.SAV/LABEL=20JUNE
The /LABEL qualifier identifies the volume label of the tape. Also, because BACKUP is performing
an incremental rather than an image backup, it is necessary to explicitly use the notation DRA1:
[000000 ... ] to specify all the files on DRA1. The /SINCE=BACKUP qualifier saves all files created
or modified since the last /RECORD backup. The /RELEASE_TAPE qualifier dismounts and unloads
an output tape device after BACKUP writes the save set and before it performs the action of the /
RECORD command.
1. To perform an incremental backup, you must first perform an image backup using the /RECORD
qualifier (see Section 11.15.2).
2. To determine the date of the last backup that used the /RECORD qualifier, enter the
DIRECTORY/FULL command and the file name. For example:
$ DIRECTORY/FULL LOGIN.COM
Directory WORK204:[HIGGINS]
LOGIN.COM;31 File ID: (23788,1,0)
Size: 7/9 Owner: [ACC,HIGGINS]
Created: 30-APR-2000 14:37:33.98
Revised: 30-APR-2000 14:37:34.44 (1)
Expires: <None specified>
Backup: 30-APR-2000 20:20:57.37
449
Chapter 11. Using BACKUP
The date of the last /RECORD backup is indicated in the Backup field of the display. In this
example, a /RECORD backup was performed on 30-APR-2000 20:20:57.37.
Note
If you used the /IGNORE=INTERLOCK qualifier to back up open files during your last image
backup or incremental backup in which the /RECORD qualifier was used, see Section 11.18.3. If the
files remain open, they will not be included in the incremental backup because their backup date fields
are not as recent as the last image backup or incremental backup in which the /RECORD qualifier was
used.
The /RECORD qualifier records the current date and time in the file header record of each file that
is backed up. The first step in an incremental backup is an image backup (see Section 11.15.2).
If you plan to perform incremental backups, you must use the /RECORD qualifier when you
perform image backups. The /SINCE=BACKUP qualifier backs up files dated later than the last /
RECORD backup. The /SAVE_SET qualifier indicates that you are creating a save set on a disk.
Examples
1. To create an incremental backup of a disk named DUA55: on a sequential disk save set on a disk
named DJC12:, you could enter the following commands:
2. You can also specify multiple disk drives as the output device in the BACKUP command line. For
example:
450
Chapter 11. Using BACKUP
_From: DUA0:[000000...]
_To: DUB24:USER1.SAV,DUB25/SAVE_SET
BACKUP can detect whether a directory file has been modified since the date indicated by the
Backup Date field in the file header. If a directory file has been modified, all subdirectories and files
of that directory are saved for possible later restore operations.
Updating the modification date of directory files is unusual for OpenVMS systems. However, it can
happen if, for example, you rename a directory file from one location to another. In contrast, the
PATHWORKS Macintosh server maintains the modification date of directory files for Macintosh
users; that is, it updates the modification date for each directory change, file creation, and file
deletion.
Thus, an incremental backup of a disk where PATHWORKS is used to serve files to Macintosh users
may result in saving the entire disk or entire directories (including their subdirectories and files)
instead of just the user files that were created or modified since the last incremental backup operation.
You can avoid saving files unnecessarily in either of the following ways:
On a save operation, you can use the BACKUP qualifier /NOINCREMENTAL to avoid saving all
the files and subdirectories under directories that have been modified. (Some files will, however,
still be saved.) Use this qualifier only if you are sure that you do not want to save all data.
Prior to OpenVMS Version 6.2, the system, by default, did not save the files and subdirectories
that were under directories that had been modified. In OpenVMS Versions 7.0 and 7.1, to ensure
a successful restore, the system saved all files and subdirectories under directories that had been
modified. This behavior, however, sometimes resulted in saving files and subdirectories that
were not needed for later restore operations. The /NOINCREMENTAL qualifier allows you more
control over the amount of file data that is saved.
In this example, the first BACKUP command performs the dummy backup operation, and
the second command performs the actual incremental backup. The first command updates the
Backup Date field for all the directory files. Specifying the null output device NLA0:[000000...]
causes a save set file not to be written. Because no file information needs to be retained from this
451
Chapter 11. Using BACKUP
operation, the /NOCRC and /GROUP_SIZE=0 qualifiers are specified to avoid CRC and XOR
block calculation.
VSI also provides two template command procedures in the SYS$EXAMPLES directory for
you to use in designing BACKUP command procedures. These command procedures are called
BACKUSER.COM and RESTUSER.COM.
If you are not familiar with using command procedures, refer to the OpenVMS User’s Manual.
1. Ensure that you have a batch queue available on your system. (See Section 14.3 for information
about setting up a batch queues.) You submit the command procedure only once, and it will
execute daily at 2:00 a.m. The command procedure automatically resubmits itself at 2:00 each
morning; however, you must physically load a tape each day or the backup procedure will fail.
Even if the backup procedure fails, however, the command procedure will continue to resubmit
itself.
2. From the SYS$MANAGER directory, create the command procedure as shown and call it
SYSTEM_BACKUP.COM.
$!
$! Resubmit this procedure –
$ SUBMIT/AFTER="TOMORROW+2:0" SYS$MANAGER:SYSTEM_BACKUP
$!
$ ON ERROR THEN GOTO FAILURE
$ SET PROCESS/PRIVILEGES=ALL
$!
$ REPLY/ALL - "Full Backup About to Begin. Open Files Will Not Be
Saved"
$!
$ BACKUP /IMAGE DUA2: MUA0:FULL_BACKUP.SAV /REWIND /
IGNORE=LABEL_PROCESSING
$ DISMOUNT MUA0:
$ EXIT
$!
$FAILURE:
$ WRITE SYS$OUTPUT "—> Backup failed"
$ WRITE SYS$OUTPUT ""
452
Chapter 11. Using BACKUP
$ DISMOUNT MUA0:
$ EXIT
• The name of the disk that you want to back up. To back up more than one disk, list each of the
devices in the BACKUP command line. For example, you could substitute the following lines
for the BACKUP command line in the preceding example:
.
.
.
$!
$ BACKUP/IMAGE WORK_DISK MIA0:WORK_BACK.SAV/REWIND
$ BACKUP/IMAGE PAYROLL_DISK MIA0:PAYROLL_BACK.SAV
$!
.
.
.
If you plan to perform any incremental backups later, include the /RECORD qualifier in the
BACKUP command line.
4. Write down the name of the save set that you assigned.
5. Submit the command procedure using the following command line (if you gave your procedure a
file name other than SYS$MANAGER:SYSTEM_BACKUP.COM, substitute the appropriate file
name):
SUBMIT/NOPRINT/AFTER="TOMORROW+2:0"/QUEUE=queue_name SYS
$MANAGER:SYSTEM_BACKUP
6. Be sure to change the tape daily and make sure that a tape is physically loaded on the device that
you specified. When the backup is complete, keep the backup tape in a safe place and do not use
the tape again until after you make another image backup of your disks.
To stop the procedure after you have submitted it, use the DELETE/ENTRY command. To find the
entry number, use the SHOW ENTRY command. For example:
$ SHOW ENTRY
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
14 SYS_BACKUP TPROULX Holding until 19-APR-2000 02:00
On generic batch queue CLUSTER_BATCH
$ DELETE/entry=583
453
Chapter 11. Using BACKUP
• Interactive users are on your system at all times, and system performance is noticeably affected by
backups.
• A full backup does not fit on a single magnetic tape, but an incremental backup does. In this case,
an image backup requires the presence of an operator (to change the tape), whereas an incremental
backup can be run as a batch job.
Suppose that you want to do nightly incremental backups at 11:00 p.m., except on Friday night, when
you want to do an image backup. The following command procedure executes an incremental backup
on three disks and automatically resubmits itself to run again the following night, except for Friday
night.
1. From the SYS$MANAGER directory, create the command procedure as shown and call it
INCREMENTAL_BACKUP.COM.
$!
$! Resubmit this procedure – –
$ SUBMIT/AFTER="TOMORROW+23:0" SYS$MANAGER:INCREMENTAL_BACKUP
$!
$ TODAY = f$cvtime("today",,"weekday")
$ IF TODAY .EQS. "Friday" THEN GOTO DONE
$!
$ ON ERROR THEN GOTO FAILURE
$ SET PROC/PRIV=(OPER,BYPASS)
$!
$ REPLY/ALL - "Incremental Backup About to Begin. Open Files Will
Not Be Saved"
$!
$ BACKUP/RECORD/SINCE=BACKUP DRA0:[000000...] -
MIA0:INCREMENT1.SAV /LABEL=INC1
$ BACKUP/RECORD/SINCE=BACKUP DRA1:[000000...] -
MIA1:INCREMENT2.SAV /LABEL=INC2
$ BACKUP/RECORD/SINCE=BACKUP DRA2:[000000...] -
MIA2:INCREMENT3.SAV /LABEL=INC3
$ DISMOUNT MIA0:
$ DISMOUNT MIA1:
$ DISMOUNT MIA2:
$ EXIT
$!
$FAILURE:
$ WRITE SYS$OUTPUT "—> Backup failed"
$ WRITE SYS$OUTPUT ""
$ DISMOUNT MIA0:
$ DISMOUNT MIA1:
$ DISMOUNT MIA2:
$ EXIT
454
Chapter 11. Using BACKUP
• The day of the week (if any) to be omitted in the incremental backup
In this example, the incremental backup will not be performed on Friday, reserving that day for an
image (full) backup.
3. Be sure that an image backup has been made and also be sure that you continue to make regular
image backups. When you make your image backups, be sure to use the /RECORD qualifier (as
well as the /IMAGE qualifier) in your BACKUP command line.
4. Submit the command procedure using the following command line (if you gave your procedure
a file name other than SYS$MANAGER:INCREMENTAL_BACKUP.COM, substitute the
appropriate file name):
$ SUBMIT/AFTER=23 SYS$MANAGER:INCREMENTAL_BACKUP
5. Be sure that a tape is physically loaded on the device that you specified. When the incremental
backup is complete, keep the tape in a safe place and do not use the tape again until you make
another image backup.
455
Chapter 11. Using BACKUP
$ EXIT
2. Run the procedure and enter the drive, save set, tape label, and tape expiration information.
3. After the specified tape drive is allocated, BACKUP searches the tape's volume header record for
a volume label and compares the label you specified with the /LABEL qualifier. If the volume
header record contains no volume label, BACKUP writes the label and expiration date you
specified to the volume header record and initializes the tape. Otherwise, BACKUP compares the
tape's volume label with the label you specified and ensures that the tape is expired.
If the tape is not expired or the label does not match, the command procedure exits. If the tape is
expired and the label matches, BACKUP writes the expiration date you specified to the volume
header record and initializes the tape. After initializing the tape, BACKUP saves all files in the
current default directory tree that have been created or modified since the last save operation to a
save set with the name you specified.
Limits on the numbers of disks allowed in shadow sets are shown in Table 11.9.
These limits apply per cluster. For example, 400 total disks could be configured into 200 two-
member shadow sets or into 133 three-member shadow sets per cluster. If single, two-member, and
three-member shadow sets are all present on a single cluster, then a maximum of 400 disks may be
contained in the two- and three-member shadow sets.
You can use the firmware implementation of RAID level 1 (shadowing) to create shadow sets
using the SCSI (Small Computer Systems Interface) disks attached locally to a single SWXCR-
xx controller. The StorageWorks RAID Array 210 Subsystem (SWXCR-EA or SWXCR-EB EISA
Backplane RAID controllers) and the StorageWorks PCI Backplane RAID controller (SWXCR-PA or
SWXCR-PB) have their own firmware implementations of RAID, levels 0, 1, and 5.
SCSI disks connected to these controllers can also be included in shadow sets created using host-
based volume shadowing for OpenVMS. For example, with host-based volume shadowing, you
can create a RAID1 shadow set containing two like disks, each of which is attached to a separate
SWXCR-xx RAID controller located within a cluster. SCSI disks can be configured as shadow sets
when attached to systems running volume shadowing for OpenVMS.
For directly connected SCSI devices that have been powered down or do not answer to polling,
the elapsed time before a device is removed from a shadow set approaches one minute. In all
456
Chapter 11. Using BACKUP
other situations, the elapsed time closely approximates the number of seconds specified in the
SHADOW_MBR_TMO parameter.
Volume shadowing checks for geometries and maximum logical block numbers (LBNs) on devices.
This enables devices such as the RZ28 and the RZ28B to operate in the same shadow set. Even
though their device IDs differ, their geometries and maximum LBNs will match when configured on
like controllers (two HSJ controllers, for example).
When you create a shadow set, individual users access it as a virtual unit. For example, you could
create a virtual unit DSA1 that consists of the disks named DUA1:, DUA2:, and DUA3. Users cannot
access the individual shadow set members directly, but can perform operations on the virtual unit
(DSA1:).
Because of the way volume shadowing duplicates data on each disk in the shadow set, there are
special considerations for backing up a shadow set. One strategy for backing up shadow sets involves
using the OpenVMS Backup utility.
Caution
Do not attempt to back up a shadow set by dismounting an individual shadow set member or by
backing up an active shadow set member. You must dismount the entire shadow set and re-create
it less one shadow set member. If you do not follow this restriction, the resultant backup copy may
contain inconsistent data.
Note
You cannot perform an incremental backup using this procedure because the backup record date is
overwritten when you add the disk volume back into the existing shadow set.
1. Make sure that all shadow set members are full members; none of the members should be in a
merge or copy state.
3. Re-create the shadow set less one member. The data on the excluded member will mirror the data
on the shadow set members.
6. Dismount the former shadow set member when the backup is complete.
457
Chapter 11. Using BACKUP
The StorageWorks RAID Array 110 Subsystem does not support the READ/WRITE LONG SCSI
commands that are necessary for implementing the FORCED ERROR function in SCSI. Without
FORCED ERROR, you must override that check by the shadowing driver.
With minimerge disabled, shadowing will continue to function normally. However, a full merge
will always be done when a merge operation is required. A full merge takes considerably longer to
complete than a minimerge operation; VSI recommends that you install the CSCPAT (TIMA) kit.
The way in which you restore a disk depends on whether the most recent backup was an image (full)
or incremental backup. Section 11.16.1 describes the process for restoring a disk when the most recent
backup was an image backup. Section 11.16.2 describes the process for restoring a disk when one or
more incremental backups were performed since the most recent image backup.
Caution
When you use the /IMAGE qualifier in a restore operation, the disk to which you are restoring the
files is initialized. Initializing the disk removes links to the existing files, effectively erasing them. To
restore individual files or directories rather than the entire disk, see Section 11.14.
1. Mount the disk to which you will restore the files, using the MOUNT/FOREIGN command as
described in Section 11.8.2.
2. Load and mount the volume. If the backup is contained in a Files–11 save set, make sure you
mount the volume in the Files–11 format. If the backup is contained in a sequential disk save
set, make sure you load the volume and mount it using the MOUNT/FOREIGN command. If the
backup copy is on a tape save set, load the first tape.
3. If you do not know the name of the save set, perform one of the following actions:
• If the save set is on a disk, make sure the disk is mounted in the Files–11 format and use the
DIRECTORY command to determine the name of the save set. For example:
458
Chapter 11. Using BACKUP
$ DIRECTORY BACKUP_DISK:[BACKUPS]
Directory SYS$SYSDEVICE:[BACKUPS] 19APRIL2000.SAV;1 Total of 1
file.
• If the save set is on magnetic tape, load the tape and then enter the following command,
substituting the name of your tape drive for MIA1:
$ BACKUP/LIST/REWIND MIA1:
Listing of save set(s)
4. To restore the save set, enter the BACKUP command with the /IMAGE qualifier, using the
following syntax:
BACKUP/IMAGE device:save-set-specifier [/SAVE_SET] output-device
If your backup save set is on a disk or diskette, then you must also use the /SAVE_SET qualifier
immediately after the save-set specifier (device:save-set-specifier).
5. If your backup save set is on more than one tape, disk, or diskette, BACKUP dismounts and
unloads the current volume. Load the next volume when BACKUP prompts for it.
6. Use the /NOUNLOAD qualifier to dismount the disk onto which you just restored the files.
Example
The next example shows how to restore an image backup, using the following assumptions:
• The saved files are contained in a tape save set named FULL_BACKUP.SAV. This save set is the
result of an image backup.
• The tape containing the saved copy of the disk contents is loaded on MIA1.
• DUA2: is the device name of the disk to which the files will be restored.
$ MOUNT/FOREIGN DUA2:
%MOUNT-I-MOUNTED, DISK1 mounted on _DUA2:
$ BACKUP/IMAGE MIA1:FULL_BACKUP.SAV/REWIND DUA2:
$ DISMOUNT/NOUNLOAD DUA2:
In this example, the individual command lines perform the following actions:
Mount the disk DUA2. The files will be restored to this disk.
Initialize DUA2:, effectively erasing any previous data on the disk. Restore the directory
structure and all the files from the save set FULL_BACKUP.SAV to the disk DUA2. BACKUP
restores the files contiguously on DUA2:, eliminating any disk fragmentation on that device.
459
Chapter 11. Using BACKUP
The /IMAGE qualifier restores a logical duplicate of the original disk so that the entire directory
structure is restored and the files are placed in the proper directories.
Dismount the disk.
For the number of directory structure levels you can access see Section 11.14.1.
1. Mount the disk to which you will restore the files, using the MOUNT /FOREIGN command. (See
Section 11.8.2 for information about the MOUNT command.)
2. Load the tape, disk, or diskette that contains the most recent image backup of the disk. If the
backup save set spans more than one volume, load the first volume of the set. If the backup copy
is on a disk or diskette, mount the volume.
3. If you do not know the name of the save set, perform one of the following actions:
• If the save set is on a disk, make sure the disk is mounted and use the DIRECTORY command
to determine the name of the save set. For example:
$ DIRECTORY BACKUP_DISK:[BACKUPS]
Directory SYS$SYSDEVICE:[BACKUPS] 19APRIL2000.SAV;1 Total of 1
file.
• If the save set is on magnetic tape, load the tape and enter the following command, substituting
the name of the tape drive you use for MIA0:
$ BACKUP/LIST/REWIND MIA0:
460
Chapter 11. Using BACKUP
The /IMAGE qualifier indicates that you are restoring an image backup. If your backup copy is on
a disk or diskette, then you must also use the /SAVE_SET qualifier immediately after the save-set
specifier ( device:save-set-specifier).
5. If your backup copy is on more than one tape or diskette, load each subsequent tape or diskette
when BACKUP prompts for the next volume.
6. Use the /NOUNLOAD qualifier to dismount the disk onto which you have just restored the files
from the image backup.
7. Mount the disk that you are restoring as a file-structured volume, using the following syntax:
The parameter device-name is the name of the drive that holds the volume you want to mount. The
parameter volume-label is the 1- to 6-character alphanumeric identification you assigned to the
volume with the INITIALIZE command.
8. Dismount the media that contained the image backup and mount the tape, disk, or diskette that
contains the most recent incremental backup of the disk.
9. Restore your incremental save sets, beginning with the most recent backup. Use the following
syntax to restore an incremental backup:
Remember that you must use the /SAVE_SET qualifier after the save-set specifier if your backup
copies are on a disk or diskette.
Continue restoring the incremental backups, from the most recent to the oldest, until you have
processed all of the incremental backups since the most recent image backup. If the incremental
backups are on more than one tape, diskette, or disk, then you must load each one successively
when prompted by BACKUP.
When you have processed the oldest incremental backup, the restore operation is complete.
Example
The next example shows the process of restoring an entire disk after a series of incremental backups,
using the following elements and assumptions:
• The save set for the image backup is named WORK_BACKUP.SAV. This save set was created
using the BACKUP/IMAGE/RECORD command.
• The save sets for the incremental backups are named as follows:
WORK_16_JAN.SAV
WORK_17_JAN.SAV
WORK_18_JAN.SAV
• Both the image and the incremental backup save sets are on the disk named DUA3:, which is
already mounted.
461
Chapter 11. Using BACKUP
$ MOUNT/FOREIGN DUA2:
%MOUNT-I-MOUNTED, WORK_B mounted on _DUA2:
$ BACKUP/IMAGE DUA3:WORK_BACKUP.SAV/SAVE_SET DUA2:
$ DISMOUNT/NOUNLOAD DUA2:
$ MOUNT DUA2: WORK_B
%MOUNT-I-MOUNTED, WORK_B mounted on _DUA2:
$ BACKUP/INCREMENTAL DUA3:WORK_18_JAN.SAV/SAVE_SET DUA2:
$ BACKUP/INCREMENTAL DUA3:WORK_17_JAN.SAV/SAVE_SET DUA2:
$ BACKUP/INCREMENTAL DUA3:WORK_16_JAN.SAV/SAVE_SET DUA2:
In this example, the individual command lines perform the following steps:
Mount the disk DUA2: with the /FOREIGN qualifier. The files will be restored to this disk.
Restore the directory structure and all the files from the save set WORK_BACKUP.SAV to the
disk DUA2. This was an image backup, so it must be the first save set you restore when you
want to restore incremental backup save sets.
Logically dismount the disk DUA2.
Remount the disk DUA2:, this time as a Files–11 volume.
Restore the most recent incremental backup.
Restore the next incremental backup.
Restore the oldest incremental backup.
Restoring the incremental backups in reverse chronological order is the most efficient way
to restore files. When you have restored the last incremental backup, the restore operation is
complete.
BACKUP detects modified directory files and will subsequently save the contents of the directory and
its subdirectories to allow proper restoration of renamed directories.
Note
Renaming directories is not recommended. Also, changing security information for a directory
changes its modification date. Thus, a directory might appear to be “renamed” and its contents
included in incremental save sets if the file protection or security information is changed. The addition
of renamed directory contents might increase the size of some incremental save sets.
BACKUP processes the target disk directory structure by directory levels, in alphabetical order. Thus,
circumstances can occur that prevent BACKUP from correctly restoring an incremental save set to
a target disk. For example, the target disk does not have sufficient space to hold newly “renamed”
directories and their contents prior to deleting the original directories and their contents on the target
disk.
If incremental restore fails due to insufficient disk space, a possible solution is to apply the
incremental save set a second time (before doing anything else). This causes the first incremental
restore to continue and delete directories and their contents, making more space available on the target
disk. A second solution is to selectively restore files from the save set.
462
Chapter 11. Using BACKUP
BACKUP attempts to restore alias or synonym file entries in incremental restore operations that do
not specify multiple processing of alias or synonym file entries (/NOALIAS). In cases where the alias
entry cannot be restored properly, BACKUP issues an error message indicating the alias file entry, its
primary file, and a secondary status of the cause of the failure.
If you specify the /LOG qualifier, then BACKUP issues a message upon successful restoration of alias
file entries.
If you specify the /VERIFY qualifier, BACKUP attempts alias entry restoration during the verify
pass. Otherwise, alias entry restoration is attempted along with the normal file restoration. The reason
for this behavior is that BACKUP attempts to restore all primary files before attempting to restore
alias entries that will eventually reference those files.
Note
Because the BACKUP output device (the shadow set) must be mounted using the /FOREIGN
qualifier, VSI does not support a restore operation from an image save set to a virtual unit.
• A system disk could become inoperable if a problem occurs during a software upgrade, update,
or installation. Before you attempt any of these operations, back up the system disk. If a problem
occurs, you can restore the backup copy of the system disk.
• System files could inadvertently be deleted. After you install, upgrade, or update the operating
system or any other software products, back up the system disk. If a system file is deleted, you can
restore the backup copy and continue to use the system.
• The drive that holds the system disk could malfunction. If you have a backup copy of the
operating system and your other software, you can restore it to a functioning disk and continue to
use the system.
• Disk fragmentation could occur if files are stored noncontiguously on the disk. Perform an
image backup of the system disk to a magnetic tape or another disk and then restore the files to
the original system disk. This restores the system disk and contiguously stores files. You can
also eliminate fragmentation by performing a disk-to-disk image backup without using the /
SAVE_SET qualifier. This creates a functionally equivalent copy of the entire system disk, on
which files are stored contiguously. (See Section 11.17.5.)
If you have access to the OpenVMS Alpha or VAX operating system distribution compact disc, back
up your system using the menu system provided on the disc. For more information about using the
menu system, see Section 11.17.1.
463
Chapter 11. Using BACKUP
Note
If you use the menu system to back up large system disks on low memory VAX systems (those with
less than 32 MB of memory), BACKUP might need to page and thereby cause the operation to fail. If
this problem occurs, use standalone BACKUP to back up system disks on VAX systems.
If you do not have access to the OpenVMS VAX operating system distribution compact disc, use
standalone BACKUP to back up and restore your system disk. For more information about standalone
BACKUP, see Section 11.17.2.
If the operating system is running, log in to the SYSTEM account. Enter the following command
and press Return:
$ @SYS$SYSTEM:SHUTDOWN
Answer the questions. When the procedure asks if an automatic system boot should be performed,
press Return for NO. When the procedure is finished, it displays the following message:
• On OpenVMS VAX systems, boot the distribution compact disc from the SYS1 directory.
Note
The boot command you use for your computer depends on the type of system you have. For more
information about booting your system, see the installation and operations supplement for your
computer.
3. When the system boots, it displays a menu. Choose the menu item that allows you to execute DCL
commands and procedures.
4. At the DCL prompt, you can back up or restore the system and user disks.
11.17.1.1. Example
The following example shows how to start the menu system on an OpenVMS VAX system:
FUNCTION FUNCTION
ID
1 - Display Menu
2 - Help
3 - Choose Service
4 - Select Options
5 - Stop
Enter a function ID value: 3
OPTION OPTION
ID
1 - Find Services
2 - Enter known Service Name
Copyright (c) 2018 VMS Software, Inc. (VSI) All rights reserved.
Installing required known files...
Configuring devices...
****************************************************************
The menu can be used to execute DCL commands and procedures for
various "standalone" tasks, such as backing up the system disk.
Please choose one of the following:
1) Execute DCL commands and procedures
2) Shut down this system
WARNING –
The normal VMS startup procedure has not executed.
Some commands and utilities will not work as documented.
$$$
465
Chapter 11. Using BACKUP
466
Chapter 11. Using BACKUP
You should have a standalone BACKUP kit that came with your OpenVMS distribution kit; however,
depending on the type of media you have, standalone BACKUP boots faster if you build it on the
system disk or a user disk. The installation and upgrade supplement for your computer contains
instructions for building and booting standalone BACKUP on several types of media.
This section provides information about building standalone BACKUP on a disk or tape and using it
to back up your system disk.
You can build standalone BACKUP on either the system disk or a user disk. If you build standalone
BACKUP on a user disk, the kit occupies more disk space than if you build it on the system disk. This
is because certain files that boot the system already exist on the system disk.
3. Enter the device name of the disk that you are building standalone BACKUP on. If you are
building standalone BACKUP on the system disk, enter SYS$SYSDEVICE. For example:
Enter the name of the device on which to build the kit: SYS$SYSDEVICE:
4. The procedure places the files in the appropriate directories on the disk that you are using to build
standalone BACKUP. It lists the files as they are copied. When the procedure finishes, it displays
the following message:
467
Chapter 11. Using BACKUP
When you perform an image backup from an RF73 disk (or a disk with a cluster size of 4 blocks)
to an RF74 disk (or a disk with a cluster size of 7 blocks), the Backup utility does not check the file
size when it allocates space for the file being copied. Therefore, if the file has an allocation greater
than the value of the CLUSTER_SIZE attribute established during initialization, BACKUP allocates
one more cluster size number of blocks to the allocation size even though the actual file size is less
than the cluster size. For example, during an image backup, a file that uses 6 blocks and is allocated 8
blocks (which displays as 6/8 on the screen if you enter a DIRECTORY/SIZE=ALfter it is copied to
the target disk.
As a result of this problem, the following files are copied to the image system disk with a blocks used/
allocation size of 6/14 blocks:
SYS$COMMON:[SYS$LDR]LIDRIVER.EXE
SYS$COMMON:[SYS$LDR]LPDRIVER.EXE
This incorrect allocation size causes standalone BACKUP to fail on the booted image system disk.
To correct this problem, recopy the two previously listed files to the same directory after the image
backup, by using the following command (which also specifies the correct allocation size):
$ COPY/ALLOCATION=7 SYS$COMMON:[SYS$LDR]LIDRIVER.EXE
$ COPY/ALLOCATION=7 SYS$COMMON:[SYS$LDR]LPDRIVER.EXE
If the operating system is running, log in to the SYSTEM account. Enter the following command
and press Return:
$ @SYS$SYSTEM:SHUTDOWN
Answer the questions. When the procedure asks if an automatic system boot should be performed,
press Return for NO. When the procedure is finished, it displays the following message:
3. Boot standalone BACKUP from the root where the kit is located. The exact commands for
booting standalone BACKUP differ among the various computer models. Refer to the upgrade and
installation supplement for your computer for booting information.
For example, to boot a MicroVAX 3100 computer, use the following format:
where:
• n is the number of the root on the disk containing the standalone backup.
468
Chapter 11. Using BACKUP
For example, if the disk has a device name of DKA400:, and the standalone BACKUP kit was
created in the [SYSE] directory, enter the following command:
5. The procedure asks you for the date and time. Enter the date and time using the 24-hour clock
format and press Return. For example:
6. The procedure displays a list of the local devices on your system. For example:
Check the list of devices. If the list is incomplete, make sure that all the drives are properly
connected to the system. Refer to your hardware manuals for details.
7. When standalone BACKUP finishes booting, it displays an identification message followed by the
dollar sign prompt ($):
1. Obtain a blank, initialized tape cartridge. Write the name S/A BKUP V7.3 on the paper label.
Insert the label into the label slot.
2. Write-enable the tape cartridge by sliding the write-protect switch away from the label slot.
3. Insert the tape cartridge labeled S/A BKUP V7.3 into the drive.
469
Chapter 11. Using BACKUP
6. The procedure asks you for the name of the target device. Enter the device name of the tape
cartridge drive you are using to build standalone BACKUP. For example:
Enter the name of the device on which to build the kit: MUA0
9. The system displays verification messages informing you that files are being copied.
10. When standalone BACKUP is built, the procedure displays a message similar to the following
one:
Ending time 19-MAY-2000 16:44:29.90
Starting time 19-MAY-2000 16:30:39.05
11. Remove the tape cartridge labeled S/A BKUP V7.3 from the tape cartridge drive.
12. Write-protect the tape cartridge by sliding the write-protect switch toward the label slot. Store the
cartridge in a safe place.
If the operating system is running, log in to the SYSTEM account. Enter the following command
and press Return:
$ @SYS$SYSTEM:SHUTDOWN
Answer the questions. When the procedure asks if an automatic system boot should be performed,
press Return for NO. When the procedure is finished, it displays the following message:
SYSTEM SHUTDOWN COMPLETE – USE CONSOLE TO HALT SYSTEM
470
Chapter 11. Using BACKUP
3. Insert the tape cartridge that contains standalone BACKUP into the tape cartridge drive.
4. To boot standalone BACKUP, enter the BOOT command followed by the device name of the tape
cartridge drive that contains standalone BACKUP. For example:
6. The procedure might ask you for the date and time. Enter the date and time using the 24-hour
clock format and press Return. For example:
7. The procedure displays a list of the local devices on your system and, if you have them, HSC and
MSCP-served devices. For example:
8. When standalone BACKUP finishes booting, it displays an identification message followed by the
dollar sign prompt ($):
9. Remove the tape cartridge containing standalone BACKUP from the tape cartridge drive.
Qualifier Function
/IMAGE Lets you create a functionally equivalent copy of the entire system disk. When
restored, files from an image backup are placed contiguously on the system disk,
eliminating disk fragmentation.
/PHYSICAL Copies, saves, restores, or compares the entire system disk in terms of logical
blocks, ignoring any file structure.
For a complete description of the Backup utility qualifiers, refer to the VSI OpenVMS System
Management Utilities Reference Manual.
471
Chapter 11. Using BACKUP
1. Obtain blank tape cartridges or magnetic tapes that you can use for the backup operation.
2. Write-enable the tape. To write-enable a tape cartridge, slide the write-protect switch away from
the tape cartridge label. To write-enable a tape, insert a write-enable ring in the back of the tape
reel.
4. Determine the device name of the system disk you are backing up. (See Section 8.3 for
information about determining the names of your devices.) To display the device name of
the system disk you are booted from, enter the DCL command SHOW LOGICAL SYS
$SYSDEVICE.
5. Depending on your configuration, either boot standalone BACKUP or start the menu system:
• If you have access to the OpenVMS Alpha or VAX operating system distribution compact
disc, start the menu system described in Section 11.17.1.
• If you do not have access to the OpenVMS VAX operating system distribution compact disc,
boot standalone BACKUP as described in either Section 11.17.2.2 or Section 11.17.2.4.
where:
• output-specifier is the device name of the drive that you want to hold the backup copy.
• saveset.BCK is the name of the save set. The name should reflect the contents of the tape (for
example, OCT_31_2000.BCK) and cannot exceed 17 characters in length.
• label is the volume label of the tape in the drive. If the tape has been initialized already, use
the same volume label that was assigned by the INITIALIZE command.
For example:
7. The following message indicates that BACKUP has transferred the files and is verifying the
accuracy of the backup copy:
8. If your system disk contains more data than a single tape cartridge or magnetic tape can store, the
procedure displays the following messages and prompt:
If you do not receive these messages, see step 9. If you do receive these messages, perform the
following steps:
472
Chapter 11. Using BACKUP
b. Label it COMPLETE SYSTEM BACKUP and include the date and the number of the tape in
the sequence.
e. When you are ready to continue, enter Y (for YES) and press Return.
f. The procedure displays the following message, which indicates that it has transferred the files
and is verifying the accuracy of the backup copy:
Each time the procedure displays a mount request, follow steps a through e.
9. If you are using standalone BACKUP, when the backup is finished, the system displays the
following message:
10. If you are using the menu system, the DCL prompt appears after the backup is finished. Log out
and choose the Shutdown option from the menu.
11. Remove the backup tape from the drive. Label it COMPLETE SYSTEM BACKUP, number it (if
you used more than one cartridge), and include the date.
473
Chapter 11. Using BACKUP
Note
The BACKUP restore operation creates a system disk that includes a set of volume parameters
provided by VSI, including a cluster size (disk access scheme). You can change most volume
parameters later with the SET VOLUME command. For cluster-mounted volumes, changes occur to
the nodes on which the SET VOLUME command is issued.
To change the cluster size, back up the system disk to a disk that has been previously initialized
with the cluster size that you want. For more information about initializing a disk, see Section 9.3.
For more information about the BACKUP command qualifiers, refer to the VSI OpenVMS System
Management Utilities Reference Manual.
1. Depending on your configuration, either boot standalone BACKUP or start the menu system:
• If you have access to the OpenVMS Alpha or VAX operating system distribution compact
disc, start the menu system described in Section 11.17.1.
• If you do not have access to the OpenVMS VAX Version operating system distribution
compact disc, boot standalone BACKUP as described in either Section 11.17.2.2 or
Section 11.17.2.4.
2. Determine the device name of the system disk you want to restore. (See Section 8.3 for
information about determining the names of your devices.)
3. Insert the first tape of the complete system disk backup into the drive. Make sure the tape is write-
protected.
where:
• input-specifier is the device name of the drive that holds the backup copy.
• output-specifier is the device name of the system disk that you are restoring.
For example:
$ BACKUP/IMAGE/VERIFY MUA0:DEC_31_BACKUP.BCK/REWIND DUA0:
6. If your system disk contained more data than one tape could store, you receive the following
messages and prompt:
%BACKUP-I-RESUME, Resuming operation on volume 2
%BACKUP-I-READYREAD, Mount volume 2 on MUA0: for reading Enter "YES"
when ready.
If you do not receive these messages, see step 7. If you do receive these messages, perform the
following steps:
474
Chapter 11. Using BACKUP
c. When you are ready to continue, enter Y (for YES) and press Return.
Each time the procedure displays a mount request, follow steps a through c.
7. If you are using standalone BACKUP, when the restore is finished the system displays the
following message:
8. If you are using the menu system, the DCL prompt appears after the restore is finished. Log out
and choose the shutdown option from the menu.
Note
This procedure initializes the output disk, effectively erasing the files on the disk.
1. Obtain a disk with enough storage capacity to use for the backup. Make sure the disk does not
contain files you need, because standalone BACKUP initializes the output disk.
475
Chapter 11. Using BACKUP
2. Determine the device name of the system disk you are backing up. (See Section 8.3 for
information about determining the names of your devices.) To display the device name of
the system disk you are booted from, enter the DCL command SHOW LOGICAL SYS
$SYSDEVICE.
3. Depending on your configuration, either boot standalone BACKUP or start the menu system:
• If you have access to the OpenVMS Alpha or VAX operating system distribution compact
disc, start the menu system described in Section 11.17.1.
• If you do not have access to the OpenVMS VAX operating system distribution compact disc,
boot standalone BACKUP as described in either Section 11.17.2.2 or Section 11.17.2.4.
where:
• output-specifier is the device name of the drive that you want to hold the backup copy.
For example:
$ BACKUP/IMAGE/VERIFY DUA0: DUA1:
5. BACKUP displays the following message, which indicates that it has transferred the files and is
verifying the accuracy of the backup copy:
%BACKUP-I-STARTVERIFY, starting verification pass
6. If you are using standalone BACKUP, when the backup is finished the system displays the
following message:
%BACKUP-I-PROCDONE, Operation completed. Processing finished at 19-
MAY-2000 15:30.
If you do not want to perform another standalone BACKUP operation, use
the console to halt the system.
7. If you are using the menu system, the DCL prompt appears after the backup is finished. Log out
and choose the shutdown option from the menu.
8. You can use the backup output disk as the system disk. Files are stored contiguously on the output
disk, eliminating disk fragmentation.
11. Reboot the system using the newly created system disk.
476
Chapter 11. Using BACKUP
Note
The boot command you use for your computer depends on the type of system you have. For more
information about booting your system, refer to the installation and operations supplement for your
computer.
3. At the prompt, you can perform the backup of your system disks.
Example 11.1 shows the procedure for backing up a system disk to an InfoServer tape.
FUNCTION FUNCTION
ID
1 - Display Menu
2 - Help
3 - Choose Service
4 - Select Options
5 - Stop
Enter a function ID value: 3
OPTION OPTION
ID
1 - Find Services
2 - Enter known Service Name
Enter an Option ID value: 2
Enter a Known Service Name: VMS072
OpenVMS VAX Version 7.3 Major version id = 3 Minor version id = 0
%SYSINIT-E, error opening page file, status = 0000025C
%SYSINIT-E, error opening swap file, status = 0000025C
%SYSINIT, primary PAGEFILE.SYS not found; system initialization continuing
%SYSINIT, no dump file - error log buffers not saved
%SYSINIT-E, error mounting system device, status = 00000F64
$! Copyright (c) 2018 VMS Software, Inc. (VSI) All rights reserved.
$set noverify
Copyright (c) 2018 VMS Software, Inc. (VSI) All rights reserved.
477
Chapter 11. Using BACKUP
****************************************************************
The menu can be used to execute DCL commands and procedures for
various "standalone" tasks, such as backing up the system disk.
Please choose one of the following:
WARNING ––
The normal VMS startup procedure has not executed.
Some commands and utilities will not work as documented.
As an output save-set qualifier, /CRC writes the CRC checking code into the blocks of the output save
set.
As an input save-set qualifier, /CRC checks the CRC information in the input save set.
478
Chapter 11. Using BACKUP
VSI recommends that you use the CRC. Although it increases processing time, it also improves data
integrity.
$ BACKUP/IMAGE/RECORD
_From: DKA100:
_To: MKB100:BACKUP.SAV/LABEL=WKY101/GROUP_SIZE=20
This command adds a recovery block after every 20 blocks of saved data. This allows BACKUP to
recover a corrupted data block for every 20 blocks of saved data. The value of the /GROUP_SIZE
qualifier defaults to 10.
Although using this qualifier increases the size of the save set and the processing time for the
operation, VSI recommends using the /GROUP_SIZE qualifier to increase data integrity.
You can instruct the backup procedure to save open files by using the /IGNORE=INTERLOCK
qualifier on the BACKUP command. When you use the /IGNORE=INTERLOCK qualifier, the
contents of the file at the moment of the backup are saved.
The /IGNORE=INTERLOCK qualifier is useful for files that are constantly open (and would
therefore not otherwise be saved). However, you must recognize that you might be saving inconsistent
data, depending on the applications that are writing to the open files (for example, open application
transactions or file data cached in memory). Also, because of the way BACKUP scans directories,
any activity in a directory (such as creating or deleting files) can cause files to be excluded from the
backup. In general, it is best to back up your system when a minimum number of files are open.
Also, because of the way the file system works, using the /IGNORE=INTERLOCK qualifier to back
up open files affects subsequent incremental backups. For example, you can back up an open file
with the BACKUP/IMAGE/RECORD/IGNORE=INTERLOCK command. However, the backup
date field of the file is not updated until you close the file. If the file remains open during subsequent
incremental backups, it is not included in those backups because its backup date field is not as recent
as the last image backup.
$ BACKUP/LOG
_From: WORK3:[OCONNELL]*.*
479
Chapter 11. Using BACKUP
_To: WORK1:[OCONNELL.SCRATCH]*.*
%BACKUP-S-CREDIR, created WORK1:[OCONNELL.SCRATCH.COM]
%BACKUP-S-CREATED, created WORK1:[OCONNELL.SCRATCH]DECW$MAIL.DAT;2
%BACKUP-S-CREATED, created WORK1:[OCONNELL.SCRATCH]DECW$SM.LOG;42
%BACKUP-S-CREATED, created WORK1:[OCONNELL.SCRATCH]DECW$SM.LOG;41
.
.
.
If BACKUP finds differences between the input and output files, it issues an error message.
VSI recommends that you use the /VERIFY qualifier. Although it increases processing time, it also
improves data integrity.
• The second BACKUP command has a /BLOCKSIZE of less than 4096 bytes (8*512).
11.19. Troubleshooting
This section describes some common BACKUP errors and how to recover from them.
480
Chapter 11. Using BACKUP
Note
If BACKUP is running interactively and you used the command qualifier /NOASSIST, you can
enter an option in response to the BACKUP> prompt. If BACKUP is executing as a batch job or you
specified the command qualifier /ASSIST, the operator must use the DCL command REPLY to enter
an option.
The option you choose depends on several factors, as explained in Table 11.11.
The following example illustrates the sequence of events that occurs when BACKUP encounters an
excessive rate of media errors on VOL3 and you choose the RESTART option:
1. BACKUP indicates that the magnetic tape has an excessive number of media errors and displays
the following error message and prompt:
2. Enter RESTART.
3. BACKUP dismounts VOL3 and prompts for a new tape. Remove VOL3 from the drive and
discard this tape.
4. Place a new tape into the drive and enter YES in response to the prompt for a new tape.
5. BACKUP restarts the save operation from the beginning of VOL3; no data is lost.
481
Chapter 11. Using BACKUP
Depending on the option you specify, you can quit the backup operation (QUIT), dismount the old
tape and mount a new one (NEW), overwrite the data on the tape (OVERWRITE), or USE the loaded
tape.
If you use blank tapes or tapes that you intend to overwrite, use the /
IGNORE=LABEL_PROCESSING qualifier. This suppresses the previous BACKUP message, which
normally occurs if BACKUP encounters a non-ANSI-labeled tape during a save operation.
OpenVMS VAX Version 5.5-2 and OpenVMS Alpha Version 1.5 corrected this problem. However,
if you restore image backups that were created with an older version of OpenVMS, the problem can
recur.
You can check both the save set and the system disk to determine whether either of these has an
incorrect relationship between the VMS$COMMON.DIR file and the [SYSx]SYSCOMMON.DIR
alias.
Note
If you delete any files listed under [SYSx]SYSCOMMON.DIR, you must restore the system disk
from the save set, and verify that the relationship between the VMS$COMMON.DIR file and the
[SYSx]SYSCOMMON.DIR alias is correct as described in the section called “Checking the System
Disk”.
482
Chapter 11. Using BACKUP
.
.
[000000]VOLSET.SYS;1 0 24-SEP-2002 19:31
[]000000.DIR;1 1 24-SEP-2002 19:31
[]SYSCOMMON.DIR;1 2 24-SEP-2002 19:31
[]SYSLIB.DIR;1 18 24-SEP-2002 19:31
[]SYSTEST.DIR;1 1 24-SEP-2002 19:31
[]SYSMAINT.DIR;1 1 24-SEP-2002 19:31
[]SYSMGR.DIR;1 6 24-SEP-2002 19:31
[]SYSHLP.DIR;1 6 24-SEP-2002 19:31
[]EXAMPLES.DIR;1 1 24-SEP-2002 19:31
[]SYSUPD.DIR;1 4 24-SEP-2002 19:31
[]SYSMSG.DIR;1 3 24-SEP-2002 19:31
.
.
.
[]SECURITY_AUDIT.AUDIT 3 3-FEB-2003 15:23
[]SECURITY_AUDIT.AUDIT 11 3-FEB-2003 15:23
[]BACKUP.EXE;33 273 4-FEB-2003 09:37
[]STABACKUP.EXE;9 486 4-FEB-2003 09:38
If the display lists lost files in the VMS$COMMON directory, as indicated by an empty directory
specification ([]), the system disk information in this save set is affected by this problem. Whenever
you perform a system restore using this save set, you must subsequently perform the procedure
described in the section called “Correcting the Problem” to correct it.
If you have access to the system from which the save set was created, perform the procedure
described in the section called “Checking the System Disk” to determine whether that system still has
the problem. If so, perform the procedure described in the section called “Correcting the Problem”.
$ DUMP/HEAD/BLOCK=COUNT:0 dr301:[000000]VMS$COMMON.DIR;1
If the name displayed in the File name: field is VMS$COMMON.DIR;1, as shown in the example, the
relationship is correct, and you need take no further action.
However, if the name displayed in the File name: field is SYSCOMMON.DIR;1, the relationship
is not correct, and you must perform the procedure described in the section called “Correcting the
Problem” to correct it.
483
Chapter 11. Using BACKUP
484
Chapter 12. Security Considerations
This chapter outlines the security features available with the OpenVMS operating system and suggests
procedures to reduce the threat of a break-in on your system or cluster. It also tells how to use the
access control list editor (ACL editor) to create and modify access control list entries (ACEs) on
protected objects. For a more detailed description of security management, refer to the VSI OpenVMS
Guide to System Security.
Task Section
Managing passwords Section 12.2
Adding to the system password dictionary Section 12.2.1
Setting up intrusion detection Section 12.3
Interpreting a user identification code (UIC) Section 12.4.1
Parsing a protection code Section 12.4.2
Creating access control lists (ACLs) Section 12.6
Using the access control list editor (ACL editor) Section 12.8
Auditing security-relevant events Section 12.9.1
Concept Section
What security management involves Section 12.1
Aspects of password management Section 12.2
Ways to protect objects Section 12.4
Construction of access control lists (ACLs) Section 12.6
Audit log file analysis Section 12.10
For full descriptions of all these tasks and concepts, refer to the VSI OpenVMS Guide to System
Security.
485
Chapter 12. Security Considerations
Environmental Considerations
A secure system environment is a key to system security. VSI strongly encourages you to stress
environmental considerations when reviewing site security.
• Controlling access to the system; for example, interactively, through batch processing jobs, or over
the network
• Controlling access to information and resources that are kept on the system; for example, files,
application programs, or system utilities
• Managing the auditing system so security-relevant events are logged, the log file is reviewed on a
regular basis, and the log is kept to a reasonable size
The following sections describe measures to control access to your system and its resources.
This section describes basic elements of the standard OpenVMS password policy and how to manage
them. For information about how to manage extensions to the standard password policy (also known
as external authentication), refer to the chapter Managing System Access in the VSI OpenVMS
Guide to System Security.
486
Chapter 12. Security Considerations
a user's last 60 passwords. The operating system compares each new password with entries in the
password history list to ensure that an old password is not reused.
The system dictionary is located in SYS$LIBRARY. You can enable or disable the dictionary
search by specifying the DISPWDDIC or NODISPWDDIC option with the /FLAGS qualifier in
AUTHORIZE. The password history list is located in SYS$SYSTEM. To enable or disable the history
search, specify the DISPWDHIS or NODISPWDHIS option to the /FLAGS qualifier.
1. Create a file containing passwords you want to add to the dictionary. Each password should be on
a separate line and in lowercase, as follows:
$ CREATE LOCAL_PASSWORD_DICTIONARY.DATA
somefamous
localheroes
(Ctrl/Z)
Pre-expired passwords are conspicuous in the UAF record listing. The entry for the date of the last
password change carries the following notation:
(pre-expired)
By default, the OpenVMS operating system forces new users to change their passwords the first time
they log in. Encourage your site to use a training program for its users that includes information about
changing passwords.
• All terminals using dial-up lines or public data networks for access
• Terminals on lines that are publicly accessible and not tightly secured, such as those at computer
laboratories at universities
487
Chapter 12. Security Considerations
SYSPASSWORD/PERMANENT. To enable system passwords for all terminals, set the appropriate
bit in the system parameter TTY$DEFCHAR2.
The main advantage of a second password is that it prevents accounts from being accessed through
DECnet for OpenVMS using simple access control.
Another advantage of a second password is that it can serve as a detection tool when a site has
unexplained break-ins after the password has been changed and the use of the password generator
has been enforced. Select problem accounts, and make them a temporary target of this restriction. If
the problem goes away when you institute personal verification through the secondary password, you
know you have a personnel problem. Most likely, the authorized user is revealing the password for the
account to one or more other users who are abusing the account. Refer to the VSI OpenVMS Guide to
System Security for an explanation of how to add secondary passwords.
Password Expiration
With the AUTHORIZE qualifier /PWDLIFETIME, you can establish the maximum length of time
that can elapse between password changes before the user will be forced to change the password or
lose access to the account.
The use of a password lifetime forces the user to change the password regularly. The lifetime can be
different for different users. Users who have access to critical files generally should have the shortest
password lifetimes.
488
Chapter 12. Security Considerations
• Make certain the password for the SYSTEM account, which is a standard account on all
OpenVMS systems, is secure and is changed regularly.
• Disable any accounts that are not used regularly with the AUTHORIZE qualifier /
FLAGS=DISUSER (for example, SYSTEST and FIELD).
• Do not permit an outside or an in-house service organization to choose the password for an
account they use to service your system. Such service groups tend to use the same password
on all systems, and their accounts are usually privileged. On seldom-used accounts, set the
AUTHORIZE flag DISUSER, and enable the account only when it is needed. You can also change
the password immediately after each use and notify the service group of the new password.
• Set appropriate account expiration dates, especially when you know a user has only short-term
requirements for an account.
• If you have an account on a system that stores passwords in plaintext (unencrypted), choose a
different password on all of your accounts on other machines. Passwords should not even be
shared between machines that encrypt the password. A compromised machine can be used to read
plaintext on its way into the machine, thereby gaining access to the other machine.
• Do not leave listings of operator logs, accounting logs, or audit logs where they could be read or
stolen.
• Maintain adequate protection of authorization files. Note that the system user authorization file
(SYSUAF.DAT) and network proxy authorization file (NETPROXY.DAT) are owned by the
system account ([SYSTEM]). There should be no other users in this group. Accordingly, the
categories SYSTEM, OWNER, and GROUP are synonymous. Normally the default UIC-based
file protection for these authorization files is adequate.
The following actions are not strictly for password protection, but they reduce the potential of
password detection or limit the extent of the damage if passwords are discovered or bypassed:
• Ensure that the files containing components of the operating system are adequately protected.
489
Chapter 12. Security Considerations
To implement control of retries, use the following two LGI system parameters: LGI_RETRY_TMO
and LGI_RETRY_LIM. If you do not change the values of these system parameters, the default
values allow the users three retries with a 20-second interval between each.
Keep in mind that controlling dial-up retries is only a part of an overall security program and is not,
in itself, sufficient to avoid break-ins. An obstacle like redialing is not going to prove an effective
deterrent to a persistent intruder.
Parameter Description
LGI_BRK_LIM Defines a threshold count for login failures.
When the count of login failures exceeds the
LGI_BRK_LIM value within a reasonable time
interval, the system assumes that a break-in is in
progress.
LGI_BRK_TERM Controls the association of terminals and user
names for counting failures.
LGI_BRK_TMO Controls the time period in which login failures
are detected and recorded.
LGI_HID_TIM Controls the duration of the evasive action.
LGI_BRK_DISUSER Makes the effects of intrusion detection more
severe. If you set this parameter to 1, the
OpenVMS operating system sets the DISUSER
flag in the UAF record for the account where the
break-in was attempted. Thus, that user name is
disabled until you manually intervene.
Refer to the VSI OpenVMS Guide to System Security for a full description of these parameters.
490
Chapter 12. Security Considerations
The intrusion database keeps track of failed login attempts. This information is scanned during
process login to determine if the system should take restrictive measures to prevent access to the
system by a suspected intruder.
Use the DCL command SHOW INTRUSION to display the contents of the intrusion database. Use
the DCL command DELETE/INTRUSION_RECORD to remove entries from the intrusion database.
The network proxy database file (NET$PROXY.DAT) is used during network connection processing
to determine if a specific remote user may access a local account without using a password. The
information contained in this database is managed by the Authorize utility.
The following example shows the expanded expiration time field in the new SHOW INTRUSION
output.
$ SHOW INTRUSION
Intrusion Type Count Expiration Source
NETWORK SUSPECT 1 21-MAY-2000 12:41:01.07
DEC:.ZKO.TIDY::SYSTEM
The second protection mechanism uses access control lists (ACLs), which employ a more refined
level of protection than that available with UIC-based protection. ACLs can be used to grant or deny
access to individual users or groups of users.
The Authorize utility assigns each user process in the system a unique UIC in the user authorization
file (UAF). Each object on the system is also associated with a UIC (typically the UIC of its creator).
A UIC consists of two parts, group and member, specified in the following format:
[group,member]
A UIC can be either numeric or alphanumeric. A numeric UIC consists of a group number in the
range 0 through 37776 (octal) and a member number in the range 0 through 177776 (octal). VSI
reserves group 1 and groups 300–377.
491
Chapter 12. Security Considerations
user category
User categories include system (S), owner (O), group (G), and world (W). Each category can be
abbreviated to its first character. Categories have the following definitions:
• System: Members of this category can include any of the following users:
• Users with low group numbers, usually from 1 to 10 (octal). These group numbers are
generally for system managers, security administrators, and system programmers. (The exact
range of system group numbers is determined by the security administrator in the setting of the
system parameter MAXSYSGROUP. It can range as high as 37776 (octal).)
• Users with the GRPPRV privilege whose UIC group matches the UIC group of the object's
owner.
• In access requests to files on a disk volume, users whose UIC matches the UIC of the volume's
owner.
• Owner: The user with the same UIC as the user who currently owns the object. In general, the
creator of an object is entitled to owner access unless explicit action is taken to secure the object
from its creator.
• Group: All users who are in the same UIC group as the object's owner.
When specifying more than one user category, separate the categories with commas, and enclose the
entire code in parentheses. You can specify user categories and access types in any order.
A null access specification means no access, so when you omit an access type for a user category,
that category of user is denied that type of access. To deny all access to a user category, specify the
user category without any access types. Omit the colon after the user category when you are denying
access to a category of users.
When you omit a user category from a protection code, the current access allowed that category of
user remains unchanged.
access-list
Access types are object-dependent and are described in the VSI OpenVMS Guide to System Security.
For files, the access types include read (R), write (W), execute (E), and delete (D). The access type is
assigned to each user category and is separated from its user category by a colon (:).
Example
The protection code in the following example allows system users full access to an object, the owner
full access except delete, and group and world users no access:
$ SET SECURITY/PROTECTION=(S:RWED,O:RWE,G,W) [JONES]MY_FILE.TXT
492
Chapter 12. Security Considerations
$ SET PROTECTION=(S:RWED,O:RWED,G:RE,W:RE)/DEFAULT
Before creating an association through ICC, you need the OPEN security attribute on the
node::association pair. A security object created by ICC$CREATE_SECURITY_OBJECT is not
deleted until the system reboots.
The ability to connect to an association is controlled by the ACCESS security attribute on the security
object.
Every process using ICC must open an association. If you have SYSNAM privilege, you can open
associations without calling ICC$CREATE_SECURITY_OBJECT, however the object is not
permanent. No privileges are required, therefore anyone can create access named ICC$ pid* (for
example, ICC$20203F9A_FOO).
Note that SYS$MANAGER: also contains file SYS$SYSTARTUP.TEMPLATE so that you can
customize the procedure to your specific requirements.
ACE Description
Identifier ACE Controls the types of access allowed to specific users based on the user's
identification. Each Identifier ACE includes one or more rights identifiers
and a list of the types of access the user holding the identifier has
permission to exercise. See Section 12.6.2 for a summary of identifiers.
493
Chapter 12. Security Considerations
ACE Description
For example, the following ACE grants the user Jones read, write, and
execute access to an object:
(IDENTIFIER=[ACCOUNTING,JONES],ACCESS=READ+WRITE
+EXECUTE)
Default Protection ACE Allows you to specify a protection code for a directory file that is
propagated to all files created within that directory and its subdirectories.
(DEFAULT_PROTECTION,S:RWED,O:RWED,G:RE,W:)
Creator ACE Adds an extra ACE to the ACL of a file created within the directory to
which you assign the Creator ACE. The Creator ACE applies when the
file being created is not owned by the user identification code (UIC) of
the process creating the file, such as when the directory is owned by a
resource identifier.
The following ACE, for example, specifies that any user creating a file in
the directory will receive read, write, execute, and delete access to it:
(CREATOR,ACCESS=READ+WRITE+EXECUTE+DELETE)
(ALARM=SECURITY,ACCESS=SUCCESS+READ)
The security Alarm ACE has no effect unless ACL alarms are enabled
with the following command:
$ SET AUDIT/ALARM/ENABLE=(ACL)
Security Audit ACE Specifies the access criteria that cause a security alarm message be sent
to the system security audit log file if an object is accessed in a particular
way.
(AUDIT=SECURITY,ACCESS=SUCCESS+READ)
A message is recorded only if ACL audits are enabled with the DCL
command SET AUDIT/AUDIT/ENABLE=ACL.
Subsystem ACE Grants additional identifiers to a process while it is running the image
to which the Subsystem ACE applies. Users with execute access to the
image can access objects that are in the protected subsystem, such as
494
Chapter 12. Security Considerations
ACE Description
data files and printers, but only when they run the subsystem image. The
Subsystem ACE applies to executable images only.
(SUBSYSTEM, IDENTIFIER=ACCOUNTING)
Refer to the VSI OpenVMS System Management Utilities Reference Manual for a complete
description of each kind of ACE. The VSI OpenVMS Guide to System Security provides further
details on how to construct and apply ACEs.
Table 12.1.
Type Descripton Example
UIC identifiers Based on a user's [GROUP1,JONES] [JONES]
identification code (UIC), GROUP1 JONES
which uniquely identifies
a user on the system and
defines the group to which the
user belongs.
General identifiers Defined by the security SALES RESERVE_DESK
administrator.
Environmental identifiers Describe different types of BATCH, NETWORK
users based on their initial INTERACTIVE LOCAL,
entry into the system. These DIALUP REMOTE
identifiers are automatically
created by the system.
Facility identifiers Defined by a facility during RDB$ENTRY
installation
In addition to the environmental identifiers, a system node identifier of the form SYS
$NODE_node_name is created by the system startup procedure (STARTUP.COM in SYS$SYSTEM).
Capability
Common event flag cluster
Device
File
Group global section
495
Chapter 12. Security Considerations
Typically, ACLs are used when you want to provide access to an object for some, but not all, users,
or if you want to deny access to specific, unprivileged users. When the operating system receives a
request for access to an object having an ACL, it searches each access control list entry in the ACL,
stopping at the first match. If another match occurs in the ACL, it has no effect. Therefore, ACEs
granting or denying access to a protected object for specific users should appear in the ACL before
ACEs identifying broader classes of users.
You can use either the EDIT/ACL command or the SET SECURITY/EDIT command to invoke the
ACL editor. In the command line, specify the name of the object whose ACL you want to create or
modify. For example, the following command invokes the ACL editor to create an ACL for the file
INVENTORY.DAT:
$ EDIT/ACL INVENTORY.DAT
If the object whose ACL you want to create or modify is not a file, you must specify the type of object
with the /CLASS qualifier. For example, the following command invokes the ACL editor to create an
ACL for the disk DOCD$:
$ EDIT/ACL/CLASS=DEVICE DOCD$
You can invoke the ACL editor to modify an existing ACL or to create a new ACL on the object. If an
object has an ACL, the ACL will appear on the screen when the ACL editor is invoked.
The ACL editor can be invoked from within a program written in any OpenVMS common language
that generates calls using the OpenVMS calling standard. Refer to the OpenVMS Utility Routines
Manual for more information about using the callable interface to the ACL editor.
For example, the following ACE grants user Pat, who is identified by the UIC identifier
[SALES,PAT], read, write, and execute access to a file. The ACL denies Pat delete and control access
because it omits them from the access statement.
(IDENTIFIER=[SALES,PAT],ACCESS=READ+WRITE+EXECUTE)
The Default attribute of an Identifier ACE allows users to define one or more default ACEs for
inclusion in the ACLs for newly created files in a particular directory. Thus, if you wanted all
files in the directory [MALCOLM] to have an ACE that permitted read and write access to users
496
Chapter 12. Security Considerations
with the PERSONNEL identifier, you could include the following ACE in the ACL for the file
MALCOLM.DIR:
(IDENTIFIER=PERSONNEL,OPTIONS=DEFAULT,ACCESS=READ+WRITE)
As a result of this ACE, any file created in the [MALCOLM] directory has the following ACE:
(IDENTIFIER=PERSONNEL,ACCESS=READ+WRITE)
Refer to the VSI OpenVMS Guide to System Security for further discussion of the Default attribute
and its effect on the processing of an ACL.
For example, the following ACE specifies that users in the system and owner categories have read,
write, execute, and delete access to any files subsequently created in the directory, and that group and
world users have no access:
(DEFAULT_PROTECTION,S:RWED,O:RWED,G,W)
Note
The Default Protection ACE does not apply to existing subdirectories. It applies to subdirectories
created after the ACE is applied to the parent directory.
Refer to the VSI OpenVMS Guide to System Security for more information about how to use these
types of ACEs.
You can enable additional classes of events by listing one or more of the keywords of the /ENABLE
qualifier to the DCL command SET AUDIT listed in Table 12.2.
497
Chapter 12. Security Considerations
Refer to the VSI OpenVMS DCL Dictionary for more information about the SET AUDIT command.
498
Chapter 12. Security Considerations
event criteria to be included in the report. Refer to the VSI OpenVMS Guide to System Security for a
description of how to use the utility.
499
Chapter 12. Security Considerations
500
Chapter 13. Managing the Queue
Manager and Queue Database
Before you can create and start queues, you must set up the queue manager and the queue database.
This chapter tells how to set up and manage the queue manager and queue database for the OpenVMS
batch and print queuing system.
Task Section
Specifying the location of the queue database Section 13.3
Displaying information about queue managers Section 13.4
Starting the queue manager and creating the queue database Section 13.5
Customizing queue manager failover Section 13.6
Stopping and restarting the queue manager Section 13.7
Using multiple queue managers Section 13.8
Saving and restoring the queue database Section 13.9
Maximizing queuing system performance Section 13.10
Solving queue manager problems Section 13.11
Reporting a queuing system problem to VSI Section 13.12
Concept Section
The queue manager Section 13.1
The queue database Section 13.2
Multiple queue managers Section 13.8.1
Note that this chapter contains many references to DCL commands. You can find additional
information about all DCL commands in the VSI OpenVMS DCL Dictionary.
Before you can perform any queue operation, you must start the queue manager and create the queue
database. Section 13.5 contains instructions for doing this.
Figure 13.1 illustrates how the queue manager works to manage queue activity in an OpenVMS
Cluster environment.
501
Chapter 13. Managing the Queue Manager and Queue Database
When a user submits a batch or print job to a queue, the queue manager performs the following tasks:
1. Receives the user's queue request, including information about the type of job, the file name or
names, the name of the queue, and any special options.
2. Stores and retrieves appropriate information from the queue database to print or execute the job.
3. Places the job in the appropriate queue to await its turn for processing:
a. Print jobs are sent to an independent process, called a symbiont, for formatting and are then
sent to the printer for printing.
b. For batch jobs, the job controller creates a batch job process.
One or more queue manager processes control queuing for all processes on a node or in an OpenVMS
Cluster environment. Jobs can be submitted from one node and executed on a queue running on
another cluster node. User processes, symbionts, and job controllers on each node communicate
directly with queue managers.
502
Chapter 13. Managing the Queue Manager and Queue Database
In addition, the job controller works with the queue manager to perform the following queue
management tasks:
You can specify the order in which OpenVMS Cluster nodes claim the queue manager process; you
can also limit the nodes that can run the queue manager. For more information, see Section 13.6.
For example, you might create separate queue managers for batch queues and print queues. Run the
batch queue manager on one node and the print queue manager on a different node. You can also
maintain queue and journal files on separate disks.
For information about creating additional queue managers, including reasons and restrictions for using
multiple queue managers, see Section 13.8.
File Description
Master file, QMAN$MASTER.DAT Contains:
503
Chapter 13. Managing the Queue Manager and Queue Database
File Description
SYS$QUEUE_MANAGER.QMAN$QUEUES
Journal file, Contains information allowing the queue manager
to return to the last known state if:
SYS$QUEUE_MANAGER.QMAN$JOURNAL
• A standalone machine stops unexpectedly
On systems with multiple queue managers, the queue database contains an additional queue
file and journal file for each additional queue manager. Additional queue files are named in the
format name_of_manager.QMAN$QUEUES. Additional journal files are named in the format
name_of_manager.QMAN$JOURNAL.
Figure 13.2 shows a queue database containing a master file that lists two queue managers,
PRINT_MANAGER and BATCH_MANAGER. Each queue manager has its own queue and journal
files.
SYS$COMMON:[SYSEXE] is the default location for all queue database files. However, you can
store the files in another location. The next section explains why and how to do this.
504
Chapter 13. Managing the Queue Manager and Queue Database
• In an OpenVMS Cluster environment with multiple system disks, the default location does not
work because it has a different physical location on each system disk. You need to store the files
on a disk that is shared by all cluster member nodes.
You must also make sure the disk holding the master file, QMAN$MASTER.DAT, is available to
all nodes using the queue database at the beginning of system startup.
• To save space on the system disk or to help improve performance. Moving just the queue and
journal files is usually sufficient.
• When you create the queue database files the first time, create them in an alternate location:
2. Start the queue manager with the START/QUEUE/MANAGER command, specifying the
dirspec parameter (to specify where the queue and journal files are to be created).
3. Verify that the files have been successfully copied to the new location, and then delete the files
in the old location.
4. If you move the master file, define the logical name QMAN$MASTER on all nodes
(to specify where the master file is located), and add this logical name definition to
SYLOGICALS.COM on all nodes.
5. Restart the queue manager with the START/QUEUE/MANAGER command, specifying the
dirspec parameter (to specify where the queue and journal files are located).
Section 13.3.1 explains how to specify the location of the master file; Section 13.3.2 explains how to
specify the locations of queue and journal files.
where equivalence-name specifies the device and directory where the master file is to be created
or located.
505
Chapter 13. Managing the Queue Manager and Queue Database
In an OpenVMS Cluster environment, enter this command on every node in the cluster.
Note
In an OpenVMS Cluster environment, the directory you specify for the master file must be available
to all nodes in the cluster. If the directory specification is a concealed logical name, you must define it
identically on all nodes in the cluster; you must also mount the disk on all cluster member nodes early
in system startup.
2. On every node in the OpenVMS Cluster environment, add the command that you entered in step 1
to SYS$MANAGER:SYLOGICALS.COM.
3. If the location you specify is on a disk other than the node's system disk, add a command in
SYLOGICALS.COM to mount the disk. SYLOGICALS.COM is normally used to define logical
names; however, it is important that SYLOGICALS.COM contain the command to mount the disk
holding the master file so that the master file is available before the job controller starts the queue
manager.
For more information about defining systemwide logical names in SYLOGICALS.COM, see
Section 5.2.5.
$ START/QUEUE/MANAGER DUA2:[SYSQUE]
This command specifies that the queue and journal files are to be located in the directory DUA2:
[SYSQUE].
Note
In an OpenVMS Cluster environment, the directory you specify for the queue and journal files must
be available to all nodes that can run the queue manager. If the directory specification is a concealed
logical name, you must define it identically on all nodes in the cluster. You must also mount the disk
on all nodes capable of running the queue manager.
The directory location you enter with START/QUEUE/MANAGER is stored in the queue database
master file and becomes the default. Therefore, if you must restart the queue manager, you do not
need to respecify this directory location.
506
Chapter 13. Managing the Queue Manager and Queue Database
Examples
1. The following example displays default (/BRIEF) information about two queue managers,
PRINT_MANAGER and SYS$QUEUE_MANAGER.
$ SHOW QUEUE/MANAGERS
Queue manager PRINT_MANAGER, running, on NODEA::
2. Use the /FULL qualifier to display complete information about queue managers on the system or
cluster.
In the following example, the master file is in one location, while the queue and journal files
belonging to two queue managers are in a different location.
$ SHOW QUEUE/MANAGERS/FULL
Master file: SYS$SPECIFIC:[SYSEXE]QMAN$MASTER.DAT;
Figure 13.3 shows the locations of the queue database files shown in the second example.
507
Chapter 13. Managing the Queue Manager and Queue Database
START/QUEUE/MANAGER/NEW_VERSION[/ON=(node,...)] [dirspec]
where:
Master file
Queue file
Journal file
Caution
Specify the /NEW_VERSION qualifier only if you do not have a currently functioning queue
database. If you specify this qualifier and you already have queue database files, the system
overwrites your current queue database files.
You normally perform this task only once because when you enter the command, the system stores it,
along with any qualifier or parameter you enter, in the queue database.
The job controller automatically starts the queue manager during reboot unless you enter a STOP/
QUEUE/MANAGER/CLUSTER command. For this reason, including START/QUEUE/MANAGER
in your startup command procedure is unnecessary.
Note
This section describes how to start the queue manager and create the queue database files on systems
and clusters with a single system disk. For systems in a cluster with multiple system disks, including
mixed-architecture OpenVMS Cluster systems, you must prepare a shared environment, as described
in OpenVMS Cluster Systems.
• The Network Control Program (NCP) SHOW EXECUTOR SUMMARY command shows the
DECnet for OpenVMS node name and node ID.
508
Chapter 13. Managing the Queue Manager and Queue Database
For more specific instructions, see the second example in Section 13.11.5.1.
To create queue database files in a location other than the default, follow the instructions in
Section 13.3.1 or Section 13.3.2, or both.
3. To start the queue manager and create queue database files, enter a START/QUEUE/MANAGER
command. This command starts the queue manager process and, optionally, creates queue and
journal files.
If the queue manager does not start, see Section 13.11.1 for a troubleshooting checklist.
Example
The following example specifies that:
• The queue and journal files are to be located in the directory DUA2:[SYSQUE]. (The master file,
however, will remain in DUA4:[MASTER].)
For information about creating one or more additional queue managers, see Section 13.8.
• Aborts all current jobs that cannot be restarted and requeues all current restartable jobs
509
Chapter 13. Managing the Queue Manager and Queue Database
• Closes all queue database files associated with that queue manager
Once you enter STOP/QUEUE/MANAGER/CLUSTER, the queue manager process remains stopped;
requests to that queue manager are denied until you restart the queue manager by entering START/
QUEUE/MANAGER. (Note that the queue system remains running as long as one or more queue
managers are running.)
OpenVMS Cluster transitions do not change the state of the queue manager. Newly available nodes do
not attempt to start the queue manager (unless you enter START/QUEUE/MANAGER).
Use the /CLUSTER qualifier to stop a clusterwide queue manager. If you enter the obsolete command
STOP/QUEUE/MANAGER (without the /CLUSTER qualifier), the command performs the same
function as STOP/QUEUES/ON_NODE. (Use STOP/QUEUES/ON_NODE to stop all queues on a
single node without stopping the queue manager.)
Specify the /ON=(node,...) qualifier and dirspec parameter only if you want to change the value
you are currently using for the qualifier or parameter. The command you enter to start the queue
manager is stored in the queue database, with any qualifier or parameter you specify. If you do not
specify a qualifier or parameter, the queue manager is started using the node list and location (if any)
stored in the queue database.
If the queue manager does not start, see Section 13.11.1 for a troubleshooting checklist.
510
Chapter 13. Managing the Queue Manager and Queue Database
• Queues running on one queue manager cannot reference queues running on a different queue
manager. For example, a generic queue running on queue manager A cannot direct jobs to an
execution queue running on queue manager B.
• You cannot move a job from a queue on one queue manager to a queue on a different queue
manager.
• The operating system allows a maximum of five queue managers in an OpenVMS Cluster
environment.
Know the process names of all your queue managers so that you can troubleshoot queue manager
problems, as explained in Section 13.11.
• START/QUEUE/MANAGER
• STOP/QUEUES/ON_NODE
• STOP/QUEUE/MANAGER/CLUSTER
• DELETE/QUEUE/MANAGER
The /NAME_OF_MANAGER qualifier allows you to specify a different queue manager for these
commands.
511
Chapter 13. Managing the Queue Manager and Queue Database
where:
Caution
Do not specify the /NEW_VERSION qualifier when you create an additional queue manager:
multiple queue managers share a single master file. An additional queue file and journal file are
created automatically for each additional queue manager.
Example
The command in the following example creates and starts a new queue manager named
BATCH_MANAGER.
$ START/QUEUE/MANAGER/ADD/NAME_OF_MANAGER=BATCH_MANAGER/ON=(A,B,*) DUA2:
[QUEUES]
To move an existing queue from its original queue manager to a different queue manager, delete the
queue with the DELETE/QUEUE command and re-create the queue with the INITIALIZE/QUEUE
command.
512
Chapter 13. Managing the Queue Manager and Queue Database
Example
In the following example:
• The first command creates and starts the queue manager PRINT_MANAGER and creates master,
queue, and journal files.
• The second command creates and starts an additional queue manager, BATCH_MANAGER;
queue and journal files are created for it automatically.
• The SHOW QUEUE/MANAGERS command displays information about the queue managers
running on your system, as explained in Section 13.4.
$ START/QUEUE/MANAGER/NEW_VERSION/NAME_OF_MANAGER=PRINT_MANAGER -
_$ /ON=(JADE,RUBY,*)
$ START/QUEUE/MANAGER/ADD/NAME_OF_MANAGER=BATCH_MANAGER -
_$ /ON=(OPAL,PEARL,*)
$ SHOW QUEUE/MANAGERS/FULL
Example
$ SHOW QUEUE/MANAGER
Queue manager PRINT_MANAGER, running, on NODEA::
Queue manager SYS$QUEUE_MANAGER, running, on NODED::
$ SHOW QUEUE/MANAGER/FULL
Master file: SYS$SPECIFIC:[SYSEXE]QMAN$MASTER.DAT;
Example
In the following example:
• The first command creates and starts the queue manager PRINT_MANAGER and creates master,
queue, and journal files.
• The second command creates and starts an additional queue manager, BATCH_MANAGER;
queue and journal files are created for it automatically.
513
Chapter 13. Managing the Queue Manager and Queue Database
• The SHOW QUEUE/MANAGERS command displays information about the queue managers
running on your system, as explained in Section 13.4.
$ START/QUEUE/MANAGER/NEW_VERSION/NAME_OF_MANAGER=PRINT_MANAGER -
_$ /ON=(JADE,RUBY,*)
$ START/QUEUE/MANAGER/ADD/NAME_OF_MANAGER=BATCH_MANAGER -
_$ /ON=(OPAL,PEARL,*)
$ SHOW QUEUE/MANAGERS/FULL
Master file: SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;
For more information about CONVERT, refer to the OpenVMS Record Management Utilities
Reference Manual.
2. Enter a CONVERT command in the following format to save the queue file:
3. Use the Backup utility (BACKUP) to save the files created with CONVERT. Use a command in
the following format:
514
Chapter 13. Managing the Queue Manager and Queue Database
For more information about the Backup utility, refer to the VSI OpenVMS System Management
Utilities Reference Manual.
Example
The following example is a simple procedure showing how to save the queue database.
2. Delete all three queue database files. (You must delete all three files, even if only one or two of
them are lost.)
Caution
When starting a queue manager on OpenVMS, the queue manager process always opens version
number one of the queue journal file (SYS$QUEUE_MANAGER.QMAN$JOURNAL;1). For this
reason, when you restore the queue system files with the Backup utility, you must ensure that the
latest version of the queue journal file is version number one.
3. Use the MOUNT command to mount the disk or tape containing the queue database backup.
4. Use the Backup utility (BACKUP) to restore the queue file and master file from the save set you
created in step 3 of Section 13.9. If the master file or queue file is stored in a location other than
the default, make sure you restore it to the correct location or that you specify the new location
when you start the queue manager.
Caution
When starting a queue manager on OpenVMS, the queue manager process always opens version
number one of the queue journal file (SYS$QUEUE_MANAGER.QMAN$JOURNAL;1). For this
515
Chapter 13. Managing the Queue Manager and Queue Database
reason, when you restore the queue system files with the Backup utility, you must ensure that the
latest version of the queue journal file is version number one.
Note
When you restore your queue database, you must always restore both the master and queue files, even
if you lost only one of those files.
5. Start the queue manager with the START/QUEUE/MANAGER command. Do not enter the /
NEW_VERSION qualifier: a new, empty journal file will be created automatically.
Example
The following example is a simple procedure showing how to restore the queue database from tape.
$ STOP/QUEUE/MANAGER/CLUSTER
$ SET DEFAULT SYS$COMMON:[SYSEXE]
$ DELETE SYS$QUEUE_MANAGER.QMAN$JOURNAL;,SYS$QUEUE_MANAGER.QMAN$QUEUES;, -
_$ QMAN$MASTER.DAT;
$ MOUNT/FOREIGN MUA0:
%MOUNT-I-MOUNTED, QDB mounted on _LILITH$MUA0:
$ BACKUP/LOG MUA0:QDB_9SEP.SAV/SELECT=[SYSEXE]MASTERFILE_9SEP.KEEP; -
_$ QMAN$MASTER.DAT;
%BACKUP-S-CREATED, created SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;1
$ SET MAGTAPE/REWIND MUA0:
$ BACKUP/LOG MUA0:QDB_9SEP.SAV/SELECT=[SYSEXE]QFILE_9SEP.KEEP; -
_$ SYS$QUEUE_MANAGER.QMAN$QUEUES
%BACKUP-S-CREATED, created SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN
$QUEUES;1
$ DISMOUNT MUA0:
$ START/QUEUE/MANAGER
• CPUs — CPU speed and availability are important on the nodes on which the queue managers
are running. The more time the queue manager has and the faster the CPU, the faster the queue
manager can process information.
• Disks — Disk speed as well as nonqueuing activity (such as paging and heavy access to the
database) on the database disk can affect performance.
• Maintain queue manager processes on the fastest and most available nodes in a cluster. (See
Section 13.1.)
• Create an additional queue manager to run on another node to distribute the CPU load on heavily
used queuing systems. (See Section 13.8.)
• Move queue and journal files to disks with less activity or higher speeds. (See Section 13.5.)
516
Chapter 13. Managing the Queue Manager and Queue Database
Note that moving the master file provides little difference in performance.
517
Chapter 13. Managing the Queue Manager and Queue Database
Use the information provided with these messages to further investigate the problem, making sure you
have met the requirements listed in Section 13.11.1.
13.11.2.2. Cause
The cause of the problem is the system's inability to find the queue master file. Often the logical is not
defined correctly, or the disk is not available. For example, the following message indicates that the
master queue file does not exist in the expected location:
Example
$ START/QUEUE/MANAGER DUA55:[SYSQUE]
%JBC-E-QMANNOTSTARTED, queue manager could not be started
$ SEARCH SYS$MANAGER:OPERATOR.LOG /WINDOW=5 QUEUE_MANAGE,JOB_CONTROL
$ START/QUEUE/MANAGER DUA5:[SYSQUE]
This command attempts to start the queue manager, specifying DUA55:[SYSQUE] as the
location of the queue and journal files.
The error message indicates that the queue manager did not start.
This command searches the operator log file for relevant messages. The SEARCH command
does not include a second queue manager name, such as BATCH_MANAGE.
This message indicates that the queue file could not be opened because device DUA55: does not
exist.
This command, which correctly specifies DUA5:[SYSQUE] as the location for the queue and
journal files, successfully starts the queue manager.
For more information about multiple queue managers and their process names, see Section 13.8.1.
518
Chapter 13. Managing the Queue Manager and Queue Database
• The node on which the queue manager was running leaves the cluster.
• You change the node list specified with the /ON qualifier of the START/QUEUE/MANAGER
command.
• You start the queue manager after moving the queue database.
On systems with multiple queue managers, also search for messages displayed by additional queue
managers by including their process names in the search string. To display information about queue
managers running on your system, use the SHOW QUEUE/MANAGERS command, as explained in
Section 13.4.
For more information about multiple queue managers and their process names, see Section 13.8.1.
The following messages indicate that the queue database is not in the specified location:
The following messages indicate that the queue database disk is not mounted:
519
Chapter 13. Managing the Queue Manager and Queue Database
13.11.3.2. Cause
The queuing system does not work correctly under the following circumstances:
• If the queue database disk is not mounted for the node on which the queue manager attempts to
run.
In general, the queuing system will be shut off completely if the queue manager encounters a serious
error and forces a crash or failover twice in two minutes consecutively on the same node. Therefore,
the queuing system may have stopped, or it may continue to run if the queue manager moves to yet
another node on which it can access the database after the original failed startup.
1. If the queue manager is stopped, enter START/QUEUE/MANAGER and include the following
information:
• The appropriate dirspec parameter (to specify the location of the queue and journal files). All
the nodes included in the node list with the /ON qualifier must be able to access this directory.
2. On all nodes specified in the node list (except on any nodes that boot from the disk where the
queue database files are stored), add a MOUNT command to the SYLOGICALS.COM procedure
to mount the disk that holds the master file. You do not need to explicitly mount the disk on a node
where it is the system disk.
13.11.4.2. Cause
An insufficient failover node list might have been specified for the queue manager, so that none of the
nodes in the failover list is available to run the queue manager.
If you are in doubt about what nodes to specify, VSI recommends that you specify an asterisk (*)
wildcard character as the last node in the list; the asterisk indicates that any remaining node in
the cluster can run the queue manager. Specifying the asterisk prevents your queue manager from
becoming unavailable because of an insufficient node list.
520
Chapter 13. Managing the Queue Manager and Queue Database
1. Search the operator log that was current when the problem existed for the following messages.
These messages are broadcast every 30 seconds after the affected node boots.
%%%%%%%%%%% OPCOM 4-FEB-2000 15:36:49.15 %%%%%%%%%%%
Message from user SYSTEM on ZNFNDL
%QMAN-E-COMMERROR, unexpected error #5 in communicating with node CSID
000000
2. Compare the node's value for the system address parameters SCSNODE and SCSSYSTEMID
with the values for the DECnet node name and node ID, as follows:
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS SHOW SCSSYSTEMID
Parameter Name Current Default Min. Max. Unit
Dynamic
-------------- ------- ------- ------- ------- ----
-------
SCSSYSTEMID 19941 0 -1 -1 Pure-
numbe
SYSMAN> PARAMETERS SHOW SCSNODE
Parameter Name Current Default Min. Max. Unit
Dynamic
-------------- ------- ------- ------- ------- ----
-------
SCSNODE "RANDY " " " " " "ZZZZ" Ascii
SYSMAN> EXIT
$ RUN SYS$SYSTEM:NCP
NCP> SHOW EXECUTOR SUMMARY
NCP> EXIT
$ WRITE SYS$OUTPUT 19*1024+45
19501
13.11.5.2. Cause
If the DECnet node name and node ID do not match the SCSNODE and SCSSYSTEMID system
address parameters, IPC (interprocess communication, an operating system internal mechanism)
cannot work properly and the affected node will not be able to participate in the queuing system.
521
Chapter 13. Managing the Queue Manager and Queue Database
1. Modify the system address parameters SCSNODE and SCSSYSTEMID or modify the DECnet
node name and node ID, so the values match.
For more information about these system parameters, refer to the VSI OpenVMS System
Management Utilities Reference Manual. For more information about the DECnet node name and
node ID, refer to the DECnet for OpenVMS Guide to Networking1.
• After submitting a print job, you can display the job with a SHOW ENTRY command on the same
node, but not on other nodes in the OpenVMS Cluster environment.
• After defining or modifying a queue, the changes appear in a SHOW QUEUE display on some
nodes, but not on others.
• You can successfully submit or print a job on some nodes, but on other nodes, you receive a
JOBQUEDIS error.
1. Enter SHOW LOGICAL to translate the QMAN$MASTER logical name within the environment
of each node in the cluster. If there is no translation on any given node, then translate the default
value of SYS$COMMON:[SYSEXE].
If the SHOW LOGICAL translations show a different physical disk name on one or more nodes,
you have identified the problem.
2. Check the operator log files that were current at the time that one of the affected nodes booted.
Search for an OPCOM message similar to the following one from the process JOB_CONTROL:
13.11.6.2. Cause
This problem may be caused by different definitions for the logical name QMAN$MASTER on
different nodes in the cluster, causing multiple queuing environments. You typically find this problem
1
This manual has been archived.
522
Chapter 13. Managing the Queue Manager and Queue Database
in OpenVMS Cluster environments when you have just added a system disk or moved the queuing
database.
1. If only one queue manager and queue database exist, skip to step 2.
If more than one queue manager and queue database exist, perform the following steps:
a. Enter a command in the following format on one of the nodes where the QMAN$MASTER
logical name is incorrectly defined:
STOP/QUEUE/MANAGER/CLUSTER/NAME_OF_MANAGER=name
b. Delete all three files for the invalid queue database. (On systems with multiple queue
managers, you might have more than three invalid files.)
2. Reassign the logical name QMAN$MASTER on the affected systems and correct the definition in
the startup procedure where the logical name is defined (usually SYLOGICALS.COM).
4. Enter START/QUEUE/MANAGER on any node and verify that the queuing system is working
properly.
Information Description
Summary of the problem Include the following information:
523
Chapter 13. Managing the Queue Manager and Queue Database
Information Description
• What events occurred on the system between
the time the queuing system operated
correctly and the time the problem appeared.
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/CLUSTER
SYSMAN> DO/OUTPUT SHOW QUEUE/
MANAGERS/FULL
SYSMAN> EXIT
$ TYPE SYSMAN.LIS
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/CLUSTER
SYSMAN> DO SHOW LOGICAL QMAN$MASTER
524
Chapter 13. Managing the Queue Manager and Queue Database
Information Description
the returned value until you reach a translation
that includes the physical device name.
Operator log file output Enter the following commands to search the
operator log for any message output by the job
controller or queue manager:
$ SEARCH SYS$MANAGER:OPERATOR.LOG/
WINDOW=5 - _$
JOB_CONTROL,QUEUE_MANAGE
$ SEARCH SYS$MANAGER:OPERATOR.LOG/
WINDOW=5 -
_$
JOB_CONTROL,QUEUE_MANAGE,PRINT_MANAGE
Information returned from relevant DCL Include this information if entering a DCL
commands command shows evidence of the problem.
A copy of the journal file of the queue database Use the Backup utility (BACKUP)
with the /IGNORE=INTERLOCK
qualifier to create a copy of the file SYS
$QUEUE_MANAGER.QMAN$JOURNAL, and
provide this copy to VSI.
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/CLUSTER
SYSMAN> DO DIRECTORY/DATE SYS
$SPECIFIC:[SYSEXE]JBC$*.DMP, -
_SYSMAN> QMAN
$*.DMP,PRTSMB.DMP,LATSYM.DMP
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SET ENVIRONMENT/CLUSTER
SYSMAN> DO DIRECTORY/DATE SYS
$SPECIFIC:[SYSEXE]JBC$*.DMP, -
_SYSMAN> QMAN
$*.DMP,PRTSMB.DMP,LATSYM.DMP
525
Chapter 13. Managing the Queue Manager and Queue Database
Information Description
LATSYM, also include process dump files from
the symbiont. The file name has the format
image_file_name.DMP.
Output from the SHOW QUEUE command If your problem affects individual queues, enter
the SHOW QUEUE command to show each
affected queue.
Any other relevant information For example:
526
Chapter 14. Setting Up and
Maintaining Queues
If you have a printer connected to your system, or if you want to use batch processing, you must use
queues. A queue allows users to submit requests for printing or batch processing at any time; the
system then prints or processes jobs as resources allow.
Before setting up queues, you need to understand how the queue manager and the queue database
operate and how to create them for the OpenVMS queuing system. These are explained in Chapter 13.
Task Section
Managing queues on small systems Section 14.1.1
Designing your batch queue environment Section 14.2.1
Designing your output queue environment Section 14.2.2
Planning your queue setup Section 14.3
Creating and starting queues Section 14.4
Restarting execution queues on reboot Section 14.5
Using queue options Section 14.6
Using and creating forms Section 14.6.7
Using queue management commands Section 14.7.1
Managing jobs in queues Section 14.7.2
Solving queue problems Section 14.8
Concept Section
Queuing process Section 14.1
Types of queues Section 14.1.2
Autostart feature Section 14.1.3
Options for controlling access to queues Section 14.6.1
Job retention Section 14.6.2
Queue characteristics Section 14.6.3
Batch processing options Section 14.6.4
Job scheduling options Section 14.6.5
Banner pages Section 14.6.6
Forms and stock Section 14.6.7
Page and line overflow Section 14.6.7.8
Initial form feed Section 14.6.7.9
527
Chapter 14. Setting Up and Maintaining Queues
Concept Section
Device control libraries Section 14.6.8
Note
This chapter contains many references to DCL commands. You can find additional information about
all DCL commands in the VSI OpenVMS DCL Dictionary.
The queue manager places the job in the appropriate queue to await its turn for processing. Only one
print job can be printed on a printer at a single time. However, more than one batch job can execute
simultaneously in a batch queue.
For more information about the queue manager and queue database, and the operation of batch and
print queues, including print symbionts, see Chapter 13.
Topic Section
Simple batch queue configuration Section 14.2.1.1
Simple output queue configuration Section 14.2.2.1
Setting up and starting queues Section 14.3
Choosing and specifying queue options Section 14.6
Managing queues Section 14.7.1
Managing jobs in queues Section 14.7.2
Class Description
Execution queues Queues that accept batch or print jobs for
processing.
Generic queues Queues that hold jobs until an appropriate
execution queue becomes available. The queue
528
Chapter 14. Setting Up and Maintaining Queues
Class Description
manager then requeues the job to the available
execution queue.
The following sections provide more details about execution and generic queues.
• Batch execution queues accept only batch jobs. A batch job executes as a detached process
that sequentially runs one or more command procedures. The user defines the list of command
procedures when submitting the job.
• Output execution queues accept jobs that a symbiont processes. The queue manager sends the
symbiont a list of files, which the user defines when submitting the job. An output symbiont
transfers data from a disk to an output device. As the symbiont processes each file, it produces
output for the device it controls, such as a printer or a terminal.
The operating system provides a standard print symbiont named PRTSMB, which prints files on
hardcopy devices. The LAT print symbiont LATSYM prints files on output devices attached to
LAT ports. You can also design symbionts for this or any other file-processing activity that the
OpenVMS batch and print queuing system manages. (Refer to the OpenVMS Utility Routines
Manual for more information.)
Type Description
Printer execution queue Uses a symbiont to direct output to a printer.
Terminal execution queue Uses a symbiont to direct output to a terminal
printer.
Server execution queue Uses a user-modified or user-written symbiont to
process the files that belong to jobs in the queue.
When you create an output execution queue, you designate it as either a printer, a terminal, or
a server execution queue; you can also specify the symbiont to be associated with the queue.
However, when the queue is started, the symbiont process associated with the queue can override
the queue designation if the queue type specified does not match the type of device.
The standard symbiont provided with the operating system determines whether it is controlling a
printer or a terminal. The symbiont communicates this information to the queue manager, which,
if necessary, changes the type designation of the output execution queue. By convention, a user-
written or user-modified symbiont that does not deliver output to a printer defines its queue as a
server queue.
• Generic batch queues direct jobs only to batch execution queues. Generic batch queues are
typically used in OpenVMS Cluster environments to distribute the batch work load across several
nodes (see Section 14.2.1.3).
529
Chapter 14. Setting Up and Maintaining Queues
Generic batch queues are not automatically stopped when a node shuts down. Therefore, they do
not need to be started when a node reboots.
• Generic output queues direct jobs to any of the three types of output execution queues: print,
terminal, or server. Generic output queues are typically used to distribute the output work load
among several like printers (see Section 14.2.2.5).
Generic output queues are not automatically stopped when a node shuts down. Therefore, they do
not need to be started when a node reboots.
• Logical queues are a special type of generic output queue that transfers jobs to another output
execution queue. You might use a logical queue to temporarily redirect a queue when the device
on which it runs is broken.
A logical queue transfers its jobs into the execution queue specified with the ASSIGN/QUEUE
command. For information about setting up a logical queue, see Section 14.7.1.10.
• Specify a list of nodes (in an OpenVMS Cluster environment) to which a queue can automatically
attempt to fail over
Autostart failover is particularly useful on LAT queues. Because LAT printers are usually shared
among users of multiple systems or OpenVMS Cluster systems, many users are affected if a LAT
queue is unavailable. For highest availability, set up your LAT queues with a list of nodes to which
the queue can fail over, so the queue can continue to run even if a node becomes unavailable.
To use autostart queues, you must perform the following three steps:
Task Description
1 Create the queue as an autostart queue and, optionally, specify a failover list.
2 Activate the queue for autostart. You can do this either when you create a queue, or
after you create one.
3 Enable autostart on a node. You can do this before or after you create a queue.
When you enable autostart on a node, the queue manager automatically starts all
stopped, active autostart queues capable of running on the node. Any autostart queue
that fails over to the node is also automatically started.
530
Chapter 14. Setting Up and Maintaining Queues
By default, when a user submits a batch job with the SUBMIT command, the job is placed in the
queue named SYS$BATCH. To set up a single default queue on a standalone system, name the queue
SYS$BATCH.
Figure 14.2 shows a configuration of several queues, each customized to process certain types of
batch jobs.
531
Chapter 14. Setting Up and Maintaining Queues
Figure 14.2. Multiple Batch Queues with Special Resource and Performance Options
In Figure 14.2, SYS$BATCH is the default queue. Normal batch jobs would be submitted to this
queue. The FAST queue executes high-priority jobs that should not be swapped out of memory.
SLOW is a background queue for processing low-priority jobs. These are large jobs with large
requirements for physical memory.
Be conservative when changing base priority and swapping on a queue. Even a slight change can have
a significant negative effect on batch and interactive performance. For example, even an increase of 1
in a queue's base priority can affect performance significantly.
For information about specifying these options for a batch queue, see Section 14.6.4.
532
Chapter 14. Setting Up and Maintaining Queues
In Figure 14.3, a generic clusterwide batch queue named SYS$BATCH feeds jobs to execution queues
on each node in the OpenVMS Cluster environment. A job submitted to SYS$BATCH is placed in
the appropriate execution queue to minimize the ratio of executing jobs to job limits for all execution
queues fed by SYS$BATCH.
Refer to OpenVMS Cluster Systems for more information about OpenVMS Cluster queue
configurations. For information about how to create a generic queue, see Section 14.4.3.
533
Chapter 14. Setting Up and Maintaining Queues
By default, when a user submits a print job with the PRINT command, the job is placed in the queue
named SYS$PRINT. To set up a single default printer queue on a standalone system, name the queue
SYS$PRINT.
534
Chapter 14. Setting Up and Maintaining Queues
535
Chapter 14. Setting Up and Maintaining Queues
VSI recommends that you set up your LAT queues as autostart queues with failover lists to ensure that
these queues are highly available. Because LAT printers are usually shared among users of multiple
systems or clusters, many users will be affected if a LAT queue is unavailable.
For information about how to create autostart queues with failover lists, see Section 14.4.2.
536
Chapter 14. Setting Up and Maintaining Queues
Figure 14.7. Queue Configuration with Three Like Printers and a Generic Queue
For information about how to create a generic queue, see Section 14.4.3.
537
Chapter 14. Setting Up and Maintaining Queues
538
Chapter 14. Setting Up and Maintaining Queues
The Distributed Queuing Service (DQS) layered product extends the printing capabilities of the
OpenVMS queuing system to a distributed environment. DQS enables users to print files on output
devices attached to remote nodes in your network.
For more information, refer to the DQS documentation or your VSI support representative.
539
Chapter 14. Setting Up and Maintaining Queues
2. If you will use LAT printers, create logical LAT ports. You must create a logical LAT port on
each service node to which a LAT printer is to be available, and associate the logical port with
a physical port or service on the terminal server node. To do so, use the LATCP commands
CREATE PORT and SET PORT. For more information, refer to the VSI OpenVMS System
Management Utilities Reference Manual.
3. Set device characteristics for line printers and printers attached to terminal ports. To do so, use
a series of SET commands. For more information, see Section 8.9.1. In step 5, you create a
command procedure to set up your devices each time the system reboots. The commands you
enter to set device characteristics must be included in this command procedure.
4. Spool printers. If you use LAT printers, or if you run applications that write output directly to a
printer, spool your printers. For more information about spooled printers, see Section 14.2.2.7.
To spool a printer, use the SET DEVICE/SPOOLED command, as explained in Section 8.9.2.1.
5. Create a command procedure to set up your device characteristics and spool printers each time
the system reboots. You must include the commands you entered in steps 3 and 4 in the command
procedure. (Include the commands you entered to set up logical ports in step 2 in your site-specific
LAT startup command procedure SYS$MANAGER:LAT$SYSTARTUP.COM.)
540
Chapter 14. Setting Up and Maintaining Queues
Example
$ SET PRINTER/TAB/PAGE=66/WIDTH=132/LOWER/FF/NOCR -
_$ /FALLBACK/NOWRAP/NOTAB LPA0:
$ SET TERMINAL/SPEED=9600/PAGE=100/WIDTH=200/DEVICE=LN03/NOBROADCAST -
_$ /NOECHO/HARDCOPY/NOTYPE_AHEAD/NOFORM/NOWRAP/PASTHRU/PERMANENT LTA3331:
$ SET DEVICE/SPOOLED=(LPA0,SYS$SYSDEVICE) LPA0:
$ SET DEVICE/SPOOLED=(LN03_1,SYS$SYSDEVICE) LTA3331:
1. Execution queues
2. Generic queues
For detailed instructions on creating and starting queues, see the following sections:
1. Create the queue as an autostart queue and, optionally, specify a failover list.
2. Activate the queue for autostart. You can do this either when you create a queue, or after you
create one.
3. Enable autostart on a node. You can do this before or after you create a queue.
Example
$ INITIALIZE/QUEUE/START/DEFAULT=(NOBURST,FLAG=ALL,TRAILER=ONE) -
_$ /AUTOSTART_ON=(LILITH::LPA0:,SMITTN::LPA0:) LPA0
$ INITIALIZE/QUEUE/START/DEVICE=TERMINAL/ -
_$ /AUTOSTART_ON=(LILITH::LTA3331:,SMITTN::LTA555:) -
_$ /RECORD_BLOCKING/BLOCK_LIMIT=600/CHARACTERISTICS=(EAST)-
_$ /SEPARATE=(NOBURST,NOTRAILER,NOFLAG,RESET=ANSI$RESET) -
541
Chapter 14. Setting Up and Maintaining Queues
_$ /DEFAULT=(NOFEED,NOBURST,FLAG=ONE,NOTRAILER,FORM=MEMO) -
_$ /LIBRARY=LN03LIBRARY /PROCESSOR=LATSYM LN03_1
$ ENABLE AUTOSTART/QUEUES
$ ENABLE AUTOSTART/QUEUES/ON_NODE=SMITTN
Creates an autostart queue named LPA0 and activates it for autostart. Because this is an autostart
queue with a failover list, this queue can run on either LILITH::LPA0 or SMITTN::LPA0.
Creates an autostart queue named LN03_1 for LAT printers and activates it for autostart.
Because this is an autostart queue with a failover list, this queue can run on either of the printers
attached to LAT ports LTA3331: on node LILITH or LTA555: on node SMITTN.
Enables autostart on the node on which the process is running. Assume this is node LILITH.
Because both LPA0 and LN03_1 are active autostart queues capable of running on node
LILITH, these queues will start up on this node.
Enables autostart on node SMITTN. If LILITH becomes unavailable, both LPA0 and LN03_1
can fail over to node SMITTN.
For node::, specify the name of the node on which the queue is to run.
For device:, specify the name of the output device to which the queue's output
is sent. To allow the autostart queue to fail over to another node and device,
specify a list of nodes and devices, separated by commas.
Batch queues INITIALIZE/QUEUE/BATCH/AUTOSTART_ON=(node:: [,...]) queue-name
For node::, specify the name of the node on which the queue is to run. To allow
the autostart queue to fail over to another node, specify a list of nodes, separated
by commas.
Caution
The system does not check the node name you specify as node:: to determine if it is an existing
node name, so be sure to specify the node name correctly.
542
Chapter 14. Setting Up and Maintaining Queues
• Use the /START qualifier in the INITIALIZE/QUEUE command used to create the queue, as
follows:
INITIALIZE/QUEUE/START/AUTOSTART_ON[/qualifiers,...] queue-name
START/QUEUE[/qualifiers,...] queue-name
Once an autostart queue is activated, it remains active until the queue is stopped with STOP/QUEUE/
NEXT or STOP/QUEUE/RESET. Shutting down a node does not deactivate autostart queues on the
node.
• Immediately if a node on which the queue can run is enabled for autostart
• As soon as a node on which the queue can run is enabled for autostart
1. For each node on which you want autostart queues to run (including those to which the queues can
later fail over), enter the following command:
$ ENABLE AUTOSTART/QUEUES
Enabling autostart on a node notifies the queue manager to automatically perform the following
tasks:
• Start any active autostart queue that fails over to the node
By default, the command affects the node from which it is entered. Specify the /ON_NODE
qualifier to enable autostart on a different node.
Note
The ENABLE AUTOSTART/QUEUES command starts only valid, active autostart queues capable of
running on a node. If an autostart queue does not start when you enter this command, the queue might
not be active for autostart. You must activate autostart queues, as explained in Section 14.4.1.2.
543
Chapter 14. Setting Up and Maintaining Queues
You can start all stopped active autostart queues on a node by enabling autostart for queues with
ENABLE AUTOSTART/QUEUES. Including a separate START/QUEUE command to start an active
autostart queue is not necessary.
When a node reboots, autostart is disabled until you enter ENABLE AUTOSTART/QUEUES.
The following example illustrates some sample commands that you might add to a node's
SYSTARTUP_VMS.COM procedure:
Example
The following example creates a batch queue named SYS$BATCH and starts the queue on LILITH:
$ INITIALIZE/QUEUE/START/BATCH/ON=LILITH::SYS$BATCH
For device:, specify the device to which the queue's output is sent.
Batch queues INITIALIZE/QUEUE/BATCH/ON=node:: queue-name
544
Chapter 14. Setting Up and Maintaining Queues
• Enter the /START qualifier in the INITIALIZE/QUEUE command that you use to create the
queue, with the following format:
INITIALIZE/QUEUE/START/ON[/qualifiers,...] queue-name
• Enter START/QUEUE after you create the queue, using the following format:
START/QUEUE[/qualifiers,...] queue-name
For each nonautostart queue, you must include a START/QUEUE command naming the queue in
your startup command procedure.
For the first queue-name, specify the execution queue to which the generic
queue sends jobs.
For the second queue-name, specify the generic queue to which output is sent.
Batch queues INITIALIZE/QUEUE/BATCH/GENERIC[=(queue-name[,...]) queue-name
For queue-name, specify the execution queue to which the generic queue sends
jobs. The execution queue must be a batch queue.
You can also set up a generic queue without explicitly naming the execution queues to which it may
send jobs. Instead, use the /ENABLE_GENERIC qualifier with INITIALIZE/QUEUE, START/
QUEUE, or SET QUEUE for the execution. This method is not normally recommended. However, if
your queue configuration is simple, you can use this method.
Example
The following example creates a generic queue (LN03_PRINT), which lists execution queues to
which LN03_PRINT sends jobs:
$ INITIALIZE/QUEUE/GENERIC=(LN03_1,LN03_2,LN03_3) LN03_PRINT
545
Chapter 14. Setting Up and Maintaining Queues
• Use the /START qualifier in the INITIALIZE/QUEUE command used to create the queue, using
the following format:
INITIALIZE/QUEUE/START/GENERIC(=queue-name[,...])[/qualifiers, ...]
queue-name
• Enter START/QUEUE after you create the queue, using the following format:
START/QUEUE[/qualifiers,...] queue-name
If your configuration is simple, you can add the commands to the site-specific startup command
procedure SYSTARTUP_VMS.COM. If your configuration requires a large number of commands,
create a separate command procedure and execute it from SYSTARTUP_VMS.COM.
Generic queues are not automatically stopped when a node shuts down. Therefore, including
commands to start generic queues in your startup command procedure is unnecessary.
• Specify options after you create a queue by including qualifiers with START/QUEUE or SET
QUEUE.
Table 14.1 lists qualifiers you can use to specify queue options, and indicates the type of queue for
which you can specify each option.
546
Chapter 14. Setting Up and Maintaining Queues
547
Chapter 14. Setting Up and Maintaining Queues
PRINTER (default)
TERMINAL
SERVER
548
Chapter 14. Setting Up and Maintaining Queues
549
Chapter 14. Setting Up and Maintaining Queues
As with a file or directory, you can use UIC-based or ACL-based protection to control access to a
queue.
550
Chapter 14. Setting Up and Maintaining Queues
Refer to the VSI OpenVMS Guide to System Security for detailed information about establishing
system security.
When you create a queue, the queue is assigned an owner UIC and a protection code. The default
owner is [SYSTEM], but you can specify another owner with the /OWNER_UIC qualifier.
The queue class provides the following default UIC-based security profile:
System:Manager,Owner:Delete,Group:Read,World:Submit
Jobs are assigned an owner UIC equal to the UIC of the process that submitted the job, unless the job
was submitted with the /USER qualifier. Each job in a queue (and each operation that is performed on
a queue) is checked against the UIC of the owner, the protection of the queue, and the privileges of the
requester.
The following table lists the types of access that the queue class supports:
Note that when a process receives read or delete access through a protection code, it can operate on
only its job in the queue. However, when granted through an ACL, read and delete access allow a
process to operate on all jobs in the queue.
Privileges Required
You need SYSNAM and OPER privilege to stop or start the queue manager. OPER is necessary to
create and delete queues, or to change the symbiont definition.
551
Chapter 14. Setting Up and Maintaining Queues
For more information about queue security, refer to the VSI OpenVMS Guide to System Security.
Command Description
INITIALIZE/QUEUE/ Specifies the protection of a queue:
PROTECTION=(ownership[:access],...)
• Specify the ownership parameter as system
START/QUEUE/ (S), owner (O), group (G), or world (W).
PROTECTION=(ownership[:access],...)
• Specify the access parameter as read (R),
SET QUEUE/ submit (S), manage (M), or delete (D).
PROTECTION=(ownership[:access],...)
INITIALIZE/QUEUE/OWNER_UIC= uic Enables you to change the UIC of a queue. The
default UIC is [1,4].
START/QUEUE/OWNER_UIC= uic
Examples
1. The following example sets protection on a queue, and then displays full information about the
queue:
$ INITIALIZE/QUEUE/GENERIC=(SYS_QUE1,SYS_QUE2)/
PROTECTION=(S:M,O:D,G:R,W:R) -
_$ /OWNER_UIC=[1,8]/RETAIN=ERROR SYS_PRINT
$ SHOW QUEUE/FULL SYS_PRINT
Generic printer queue SYS_PRINT/GENERIC=(SYS_QUE1,SYS_QUE2) -
_$ /OWNER=[1,8]/PROTECTION=(S:M,O:D,G:R,W:R)/RETAIN=ERROR
552
Chapter 14. Setting Up and Maintaining Queues
2. The following example gives the owner manage and delete access to this queue and makes user
AGBELL the owner. With manage access, the owner AGBELL can manage the queue, but cannot
modify security information.
$ SET SECURITY/CLASS=QUEUE/OWNER=[AGBELL]/PROTECTION=O:MD -
_$ TELEPHONE_QUE
$ SHOW SECURITY/CLASS=QUEUE TELEPHONE_QUEUE
TELEPHONE_QUEUE object of class QUEUE
Owner: [INVENTORS,AGBELL]
Protection: (System: M, Owner: MD, Group: R, World: S)
Access Control List: <empty>
Refer to the VSI OpenVMS Guide to System Security for detailed information about establishing
ACLs for protected objects.
Command Description
SET SECURITY/ACL=(IDENTIFIER=( Sets ACL protection on a queue.
identifier, - _ACCESS= access-type)
[,...])CLASS=QUEUE
SHOW QUEUE/FULL Shows any ACLs set on a queue.
SHOW SECURITY/CLASS=QUEUE Shows any ACLs set on a queue.
For more information about ACL-based security, refer to the VSI OpenVMS Guide to System
Security.
Examples
1. The SET QUEUE/PROTECTION command in the following example modifies the default
protection of queue SYS_QUE1 to prevent access by nonprivileged users. The SET SECURITY/
ACL command then restricts access to only those members of a project group who hold the
ULTRA_LITE or MINUTES identifiers. Members with the MINUTES identifier have only read
and submit access to the queue. The SHOW QUEUE/FULL command displays information,
including security information, about the queue.
$ SET QUEUE/PROTECTION=(S,O,G,W)
$ SET SECURITY/CLASS=QUEUE SYS_QUE1 -
_$/ACL=((IDENTIFIER=ULTRA_LITE, ACCESS=READ+SUBMIT+MANAGE+DELETE), -
_$(IDENTIFIER=MINUTES, ACCESS=READ+SUBMIT))
$ SHOW QUEUE/FULL SYS_QUE1
553
Chapter 14. Setting Up and Maintaining Queues
(IDENTIFIER=ULTRA_LITE,ACCESS=READ+SUBMIT+MANAGE+DELETE)
(IDENTIFIER=MINUTES,ACCESS=READ+SUBMIT)
2. The following example shows how to use ACLs to restrict queue access to members of a
particular project group:
$ SET QUEUE/PROTECTION=(S,O,G,W)
$ SET SECURITY/CLASS=QUEUE SYS_QUE1 -
_$/ACL=((IDENTIFIER=ULTRA_LITE, ACCESS=READ+SUBMIT+MANAGE+DELETE), -
_$(IDENTIFIER=MINUTES, ACCESS=READ))
3. The following example shows a queue that has only UIC-based protection, and then gives user
AGBELL control access with an ACL. Control access allows user AGBELL to modify security
information.
Privilege Access
OPER Manage and control access to all queues.
BYPASS Manage and control access to all queues.
READALL Read access to all jobs and to queue security information.
SYSPRV The access specified for users with system UICs.
GRPPRV The access specified for users with system or group UICs.
554
Chapter 14. Setting Up and Maintaining Queues
User Commands
Users can request that a job be retained in a queue after the job completes by using the /RETAIN
qualifier with the PRINT or SUBMIT command. For example:
PRINT/RETAIN
SUBMIT/RETAIN
By default, no job retention option is set on a queue. To specify a job retention option, use one of the
following commands:
INITIALIZE/QUEUE/RETAIN=option
START/QUEUE/RETAIN=option
SET QUEUE/RETAIN=option
Option Description
ALL Holds all jobs in the queue after execution (default).
ERROR Holds jobs in the queue only if they complete unsuccessfully.
The following command specifies that the queue retain all jobs that complete with a status other than
success:
For example, if you need to know all batch jobs that do not complete successfully on a specific
queue, set the queue to retain jobs that complete with an error status. You can enter SHOW QUEUE
to display a list of jobs (including their completion status) that completed unsuccessfully. If a job
completes unsuccessfully, this message helps determine why. The displays also include the date and
time at which a retained job completed.
The job retention option you specify on a queue overrides any job retention option requested by a
user for a job in that queue. Figure 14.10 shows how job retention affects a job submitted to a generic
queue.
555
Chapter 14. Setting Up and Maintaining Queues
• The retention setting on the execution queue in which the job executes
• The retention setting on the generic queue (if the job is submitted to a generic queue)
• The retention requested by the user upon submitting the job (if retention was requested)
If jobs are retained in queues, periodically delete the jobs that no longer need to be retained.
556
Chapter 14. Setting Up and Maintaining Queues
$ SUBMIT/RETAIN=UNTIL=19-MAY-2000:07:31:0.0 MYFILE.DAT
This eliminates the need to delete retained jobs from queues. Encourage users who include the /
RETAIN qualifier to also use timed retention.
Option Description
ALWAYS Holds the job in the queue regardless of the job's completion status.
DEFAULT Holds the job in the queue as specified by the queue's retention option. If no
option has been set on the queue, the job is not retained.
ERROR Holds the job in the queue only if the job completes unsuccessfully.
UNTIL= time- Holds the job in the queue for a specified length of time, regardless of the job's
value completion status. This lets you retain the job in the queue only as long as the
job is needed and eliminates the need to delete the job from the queue later. The
time value you specify is interpreted first as a delta time, then as a combination
time, and finally as an absolute time. For information about specifying time
values, refer to the OpenVMS User’s Manual.
For example, the following command retains job 172 in the queue until 3 hours after the job
completes. At that time, the job will automatically be deleted from the queue.
$ SET ENTRY/RETAIN=UNTIL="+3:00" 172
To remove a job retention option from a queue, use the /NORETAIN qualifier with INITIALIZE/
QUEUE, START/QUEUE, or SET QUEUE.
A print job can be processed on an execution queue if the job's characteristics are a subset of
the queue's characteristics. However, if any of the characteristics associated with the job are not
associated with the queue, the job remains pending until you correct the characteristic mismatch as
explained in Section 14.8.2.2.
557
Chapter 14. Setting Up and Maintaining Queues
Example
You manage three LN03 printers in each of the four corners of a building. A generic queue
LN03$PRINT feeds execution queues for each printer. You can define the characteristics EAST,
WEST, NORTH, and SOUTH.
When a user submits a print job to LN03$PRINT with the EAST characteristic, the job prints on the
first idle LN03 printer in the eastern corner of the building. If the system has queues for printers on
multiple floors, you can further define a characteristic for each floor, for example, FIRST, SECOND,
and THIRD.
Command Description
DEFINE/CHARACTERISTIC Creates a characteristic and assigns a name and
number.
DELETE/CHARACTERISTIC Deletes a characteristic.
SHOW QUEUE/CHARACTERISTICS Displays information about characteristics
defined for the system.
INITIALIZE/QUEUE/CHARACTERISTICS Specifies one or more characteristics for
SET QUEUE/CHARACTERISTICS START/ processing jobs on a queue.
QUEUE/CHARACTERISTICS
SHOW QUEUE/FULL Displays information about a queue, including
any characteristics assigned to the queue.
PRINT/CHARACTERISTICS SUBMIT/ Specifies the name or number of one or more
CHARACTERISTICS SET ENTRY/ characteristics to be associated with the job.
CHARACTERISTICS
If your queue configuration requires more than one characteristic name for a single number, you can
define logical names to achieve the same result.
In an OpenVMS Cluster environment, you must define the logical names on every node that requires
them.
Note
If you want to define a characteristic name that is also an existing logical name, read the description
of logical names in the OpenVMS User’s Manual.
558
Chapter 14. Setting Up and Maintaining Queues
Example
In the following example, the characteristic name SECOND_FLOOR is assigned to characteristic
number 2. The logical names SALES_FLOOR and SALES_DEPT are defined as equivalent to
the characteristic name SECOND_FLOOR. As a result, the logical names SALES_FLOOR and
SALES_DEPT are equivalent to the characteristic name SECOND_FLOOR and characteristic
number 2. These logical names can be specified as the characteristic-name value for any /
CHARACTERISTIC= characteristic-name qualifier.
$ DEFINE/CHARACTERISTIC SECOND_FLOOR 2
$ DEFINE/SYSTEM/EXECUTIVE_MODE SALES_FLOOR SECOND_FLOOR
$ DEFINE/SYSTEM/EXECUTIVE_MODE SALES_DEPT SECOND_FLOOR
Example
$ SHOW QUEUE/CHARACTERISTICS
Characteristic name Number
------------------- ------
EAST 1
WEST 2
NORTH 3
SOUTH 4
Example
$ SET QUEUE/CHARACTERISTICS=(EAST) LN03_1
Example
$ SHOW QUEUE/FULL LN03_1
<Printer queue LN03_1, idle, on HERA::TTA3, mounted form DEFAULT>
/BASE_PRIORITY=4 /CHAR=(1) /DEFAULT=(FLAG=ONE,FORM=LN03$PORTRAIT
(stock=DEFAULT)) /LIBRARY=LN03LIBRARY Lowercase
/OWNER=[SYSTEM] /PROCESSOR=LATSYM /PROTECTION=(S:M,O:D,G:R,W:R)
/SEPARATE=(RESET=(ANSI$RESET))
559
Chapter 14. Setting Up and Maintaining Queues
If you know the number assigned to the characteristic but do not know the name, enter SHOW
QUEUE/CHARACTERISTICS to display the names and numbers assigned to characteristics on the
system.
If the system displays the following messages, a queue or job refers to the characteristic:
You must remove all references to the characteristic before you can delete the characteristic. For
information about removing references to a characteristic, see Section 14.8.5.
Use the following qualifiers with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE to set
these queue options:
Qualifier Description
/JOB_LIMIT= n Specifies the number of jobs that can execute
concurrently in the queue.
/[NO]DISABLE_SWAPPING Specifies whether the processes running jobs on
the queue can be swapped in and out of memory.
/CPUDEFAULT= time Specifies the default CPU time limit for all jobs
in the queue. The time cannot exceed the time
limit set with the /CPUMAXIMUM qualifier.
/CPUMAXIMUM= time Specifies the maximum CPU time limit for all
jobs in the queue.
/RAD= n Specifies the RAD number on which to run batch
jobs assigned to the queue.
Although the following qualifiers are not specific to batch queues, they are commonly used to control
batch job performance and the use of system resources by batch processes:
Option Description
/BASE_PRIORITY= n Specifies the base process priority at which jobs
are initiated from a batch queue.
/WSDEFAULT= n Specifies the default working set size for
jobs executed in a batch queue. (For output
queues, specifies the default working set size for
symbiont processes.)
/WSEXTENT= n Specifies the working set extent for jobs executed
in a batch queue. (For output queues, specifies the
working set extent for symbiont processes.)
/WSQUOTA= n Specifies the working set quota for jobs executed
in a batch queue. (For output queues, specifies the
working set quota for symbiont processes.)
560
Chapter 14. Setting Up and Maintaining Queues
For more information about these limits, quotas, and priorities, refer to the following manuals:
By default, a process running a batch job uses values taken from the UAF record of the user
submitting the job or from system parameter settings. If you specify values for any of these options,
processes for jobs executed in the queue will use the values you set unless the user specifies values
when the job is submitted. (A user can specify values for CPU time and for the working set options
default, quota, and extent.)
A user-specified value cannot exceed the value you set for the queue. If you did not specify a value,
the user-specified value cannot exceed the value specified in the associated UAF limit or system
parameter.
The following sections provide guidelines for choosing values for these options:
If you choose a value less than DEFPRI, jobs in this queue will potentially progress more slowly than
the typical interactive job. CPU time will be allocated to jobs in this queue only after servicing jobs of
DEFPRI priority.
If a queue is defined for a very special purpose – for example, high-priority jobs – a value greater than
DEFPRI (for example, 5) might be appropriate. However, this choice can have a significant negative
effect on the performance of other users and batch jobs.
561
Chapter 14. Setting Up and Maintaining Queues
In general, the working set quota and extent values specified in the UAF record for each user are
sufficient. However, you can specify more generous or stringent values for a queue, depending on the
purpose of the queue. For example, you can encourage users to submit large jobs (such as compiling
and linking large programs) as batch jobs to reserve interactive use of the system for jobs that do not
require extensive resources, as follows:
• Set a large working set size for batch jobs by specifying larger WSQUOTA and WSEXTENT
values when you create the batch queue.
• Restrict the working set size of interactive jobs by providing smaller WSQUOTA and
WSEXTENT values in users' UAF records.
Do not set CPU time limit values too low. When a job's CPU time limit is exceeded, the job is
terminated with an error status. If working set values (explained in Section 14.6.4.3) are set too low,
the system might use memory less efficiently but the jobs can still complete normally. However, if
CPU time limit values are set too low, the system might terminate jobs that are making legitimate and
authorized use of the CPU.
For example, you might use a CPU time limit on a batch queue devoted to execution of newly coded
software that could unexpectedly enter a CPU loop. The CPU time limit would terminate infinitely
looping jobs so they do not waste the CPU resource. However, you must be careful to choose a
sufficiently high time limit so normally executing jobs do not terminate prematurely.
Another way to control allocation of the CPU resource is to create a special-purpose batch queue that
shifts execution of its jobs to a less busy time of day when CPU time is more available.
562
Chapter 14. Setting Up and Maintaining Queues
14.6.4.5. Swapping
Typically, swapping is enabled on batch queues. However, for a special-purpose, high-priority queue,
you might disable swapping. This provides a favorable status to jobs in this queue by removing them
from consideration when memory must be reclaimed from processes (through the operating system's
swapping and trimming mechanism).
Fluid memory can be reassigned from one process to another through swapping and paging. (You can
calculate fluid memory as the space that remains when you subtract the number of pages permanently
allocated to the operating system from the total memory. To obtain these values, enter SHOW
MEMORY.)
You can also set process quotas for greatest SORT efficiency. The values recommended here are
based solely on SORT considerations; you should integrate other system considerations with these to
determine appropriate values.
For maximum sorting efficiency, use the /WSEXTENT qualifier with INITIALIZE/QUEUE,
START/QUEUE, or SET QUEUE to set this value on the queue to the largest value any sorting
job would ever need. Generally, the smaller the working set, the slower the sort.
If you want to sort large files in batch mode, you need to set the WSEXTENT system parameter to
a large value to accommodate the sort.
For maximum sorting efficiency, set this system parameter to at least 1000 pages (on VAX
systems) or pagelets (on Alpha systems) more than the maximum working set extent. Although
SORT limits the size of the sort data structure to the process's working set extent, if work files are
required, SORT can use the extra memory for I/O buffers. If this parameter is too low relative to
the working set extent, SORT might be unable to create buffers for the work files when the files
cannot be sorted in memory.
The RAD value is a positive integer between 0 and SYI$_RAD_MAX_RADS. The SHOW/QUEUE/
FULL command displays the RAD in its output.
563
Chapter 14. Setting Up and Maintaining Queues
This section describes a sequence of the commands and their effects on a batch queue. A SHOW
command is included in each example to illustrate the batch queue modifications.
• The following INITIALIZE/QUEUE command creates or reinitializes the batch queue BATCHQ1
to run on node QUEBID. All jobs assigned to this queue will run on RAD 0.
$ INITIALIZE/QUEUE/ON=QUEBID::/BATCH/RAD=0 BATCHQ1
$ SHOW QUEUE/FULL BATCHQ1
Batch queue BATCHQ1, stopped, QUEBID::
/BASE_PRIORITY=4 /JOB_LIMIT=1 /OWNER=[SYSTEM] /
PROTECTION=(S:M,O:D,G:R,W:S)
/RAD=0
• The following START/QUEUE command modifies BATCHQ1 to run all assigned jobs on RAD 1
of QUEBID, and readies the queue to accept jobs for processing:
$ START/QUEUE/RAD=1 BATCHQ1
$ SHOW QUEUE/FULL BATCHQ1
Batch queue BATCHQ1, idle, on QUEBID::
/BASE_PRIORITY=4 /JOB_LIMIT=3 /OWNER=[SYSTEM] /
PROTECTION=(S:M,O:D,G:R,W:S)
/RAD=1
• The following SET/QUEUE command modifies the batch queue to run all assigned jobs on RAD
0 of QUEBID. Any new jobs assigned to the queue will run on RAD 0. Jobs already executing on
the queue will continue to completion executing on the previous RAD value.
$ SET/QUEUE/RAD=0 BATCHQ1
$ SHOW QUEUE/FULL BATCHQ1
Batch queue BATCHQ1, idle, on QUEBID::
/BASE_PRIORITY=4 /JOB_LIMIT=3 /OWNER=[SYSTEM] /
PROTECTION=(S:M,O:D,G:R,W:S)
/RAD=0
• To erase the RAD value for a batch queue, use the SET/QUEUE/NORAD command:
$ SET/QUEUE/NORAD BATCHQ1
$ SHOW QUEUE/FULL BATCHQ1
Batch queue BATCHQ1, idle, on QUEBID::
/BASE_PRIORITY=4 /JOB_LIMIT=3 /OWNER=[SYSTEM] /
PROTECTION=(S:M,O:D,G:R,W:S)
When you change the RAD value on a batch queue, the jobs currently in the batch queue are not
dynamically updated with the new RAD value specified on the queue. Any executing jobs complete
processing using the original RAD value. Jobs in the pending, holding, or timed execution states
retain the old RAD value on the job; however, when such a job becomes executable, the job is updated
with the new RAD value and runs on the RAD specified on the queue.
The queue manager checks the job's scheduling priority. The job with the highest scheduling
priority value is processed first. The job scheduling priority is different than the base process
564
Chapter 14. Setting Up and Maintaining Queues
priority or current process priority. The user can specify job scheduling priority with the /
PRIORITY qualifier of the PRINT or SUBMIT command.
By default, the job size of an output job is checked. Among jobs of identical scheduling priority,
the smallest job is processed first.
The job size is not checked if the queue has been created, started, or modified to use the /
SCHEDULE=NOSIZE option.
3. Submission time
If the jobs' scheduling priorities are identical, the job that was submitted first is processed first.
In the following example, /SCHEDULE=SIZE (the default), causes short jobs to print before longer
ones on the print queue LPA0_PRINT:
$ INITIALIZE/QUEUE/SCHEDULE=SIZE LPA0_PRINT
565
Chapter 14. Setting Up and Maintaining Queues
If you enter this command while pending jobs are in any queue, its effect on future jobs is
unpredictable.
In the following example, LPB0_PRINT has a block size limit of 50, indicating that this queue is
reserved for jobs smaller than 51 blocks.
$ INITIALIZE/QUEUE/BLOCK_LIMIT=50 LPB0_PRINT
You might also want to limit the size of jobs during certain hours of the day. You can submit a batch
job that runs a command procedure to set a maximum block limit of 500 blocks for a queue at 8:00
a.m. The command procedure might resubmit itself and remove the block limit after 5:00 p.m. each
day. This lets users print jobs of any size after normal work hours, when the printing work load is
lighter. Users can specify the /AFTER qualifier with the PRINT command to specify that a job is to be
printed after a specific time.
To change the scheduling priority of a job, use the /PRIORITY qualifier with SET ENTRY in the
following format:
SET ENTRY/PRIORITY=n entry-number
Do not confuse the job scheduling priority with the base process priority on a queue. The job
scheduling priority value must be in a range of 0 through 255, where 0 is the lowest priority and 255
is the highest. The default value for /PRIORITY, which refers to the job scheduling priority, is the
value of the system parameter DEFQUEPRI (usually set at 100).
• Job pages are banner pages that identify and separate jobs.
• File pages are banner pages that identify and separate files within a job.
Most sites use only a subset of the available banner pages at any given time. The following table
describes the types of banner pages you can use:
566
Chapter 14. Setting Up and Maintaining Queues
Note
If you do not need to burst pages of a printer's output – for example, if your printer uses cut sheet
paper – avoid the burst page option. Flag pages, or flag and trailer pages, are usually sufficient for
identifying the end of a job.
Table 14.2 describes the information found on job flag pages, file flag pages, job trailer pages, and file
trailer pages.
Item Description
Header bar A segmented bar composed of:
• Rows of a repeated numeral indicating the sequence of the job in the queue.
567
Chapter 14. Setting Up and Maintaining Queues
Item Description
For a job trailer page:
• File organization
• File record characteristics: record type, carriage control, and size of longest
record
Receipt box (job Contains the following signoff fields: Received:, Date:, and Operator:.
trailer page only)
Job sentence Indicates the following information:
568
Chapter 14. Setting Up and Maintaining Queues
Item Description
• Job start time
Identical to the job flag header bar except the definition of the system logical
name (PSM$ANNOUNCE) is not used as the embedded string. The default text
is always used as the embedded string.
Identical to the file flag header bar except that the embedded text string is "VMS
Software Inc." followed by the operating system version number.
Identical to the job flag header bar except the definition of the system logical
name (PSM$ANNOUNCE) is not used as the embedded string.
Identical to the file flag header bar except that the embedded text string is "VMS
Software Inc." followed by the operating system version number.
Ruler (file trailer A sequence of numbers counting to the end of the form.
and job trailer
pages only)
Figure 14.11 shows job flag and burst pages. Figure 14.12 shows file flag and burst pages.
Figure 14.13 shows file trailer and job trailer pages.
569
Chapter 14. Setting Up and Maintaining Queues
570
Chapter 14. Setting Up and Maintaining Queues
571
Chapter 14. Setting Up and Maintaining Queues
Widths greater than 40 characters and less than 200 characters and lengths of any size greater than
40 characters are supported for file and job banner pages. Pages requested for widths greater than
200 characters are formatted and printed at 200-character widths. Lengths less than 40 characters are
572
Chapter 14. Setting Up and Maintaining Queues
extended by that form length until the 40-character threshold is exceeded. Margins are not taken into
account when formatting banner pages.
Note
All banner pages format information to the width and length of the default form size of 80 characters
by 51 lines. Therefore, information might be truncated, depending on the form sizes you specify. See
Section 14.6.7.8 for information about controlling line and page overflow.
Command Description
INITIALIZE/QUEUE/SEPARATE= option Specifies one or more of the following job banner
START/QUEUE/SEPARATE= option SET page options:
QUEUE/SEPARATE= option
[NO]BURST
[NO]FLAG
[NO]TRAILER
573
Chapter 14. Setting Up and Maintaining Queues
In OpenVMS, you have the option of using either of the following forms:
If your printing needs are limited, use the systemwide default form (named DEFAULT) for all
queues. Note that you can make changes to the systemwide default form.
To format output or indicate special paper, you can create customized forms. Users can then
request a form for a print job by specifying the form when they submit a job.
Mounting Forms
The stock of a form affects whether a job is eligible to print. The stock must match the queue's
mounted form. The mounted form is the form of the current job or, if no job is processing, the form of
the last job printed in a queue.
If the stock of a job's form matches the stock of the queue's mounted form, the job is processed using
the options in the job's form. The mounted form changes automatically to the form of the job being
processed in the queue. If the stock does not match the stock of the mounted form, the job remains
pending until you perform special steps. (See Section 14.6.7.6.)
Command Description
DEFINE/FORM Creates a form and assigns a name and number.
SHOW QUEUE/FORM/FULL Displays information about forms available on a
system.
DELETE/FORM Deletes a form.
INITIALIZE/QUEUE/DEFAULT=FORM Specifies the name or number of the default form
START/QUEUE/DEFAULT=FORM SET for an output execution queue.
QUEUE/DEFAULT=FORM
PRINT/FORM SET ENTRY/FORM Specifies the name or number of the form to be
associated with a print job.
INITIALIZE/QUEUE/FORM_MOUNTED Specifies the name or number of the mounted
START/QUEUE/FORM_MOUNTED SET form for an output execution queue.
QUEUE/FORM_MOUNTED
SHOW QUEUE/FULL Displays information about a queue, including the
default form for the queue and the form mounted
on the queue.
If you want to change the default form, however, do so before creating any queues that reference the
form. For more information about how to make changes, see Section 14.6.7.3.
574
Chapter 14. Setting Up and Maintaining Queues
The following sections provide guidelines for performing these tasks with all forms, systemwide
default forms, or customized forms:
Example
$ SHOW QUEUE/FORM/FULL MEMO
Form name Number Description
--------- ------ -----------
MEMO (stock=DEFAULT) 110 LN03 indented memo format
/LENGTH=66 /MARGIN=(TOP=2,BOTTOM=2,LEFT=5) /STOCK=DEFAULT /TRUNCATE
/WIDTH=80
Example
In the following example, the default form is REPORT and its stock is 8_5x11. All jobs processed
on this queue that are not associated with an explicit form definition in the PRINT command have
the default form REPORT. As long as the stock of the mounted form matches the stock of the default
form, all jobs submitted to this queue without an explicit form definition will be scheduled to print.
$ SHOW QUEUE/FULL JEAN_PRINT
Printer queue JEAN_PRINT, idle, on BAY::TTA3:, mounted form 8_5x11
<Queue for printer in Jean's office>
/BASE_PRIORITY=4 /DEFAULT=(FEED,FORM=REPORT (stock=8_5X11)) /
OWNER=[SYSTEM]
/PROTECTION=(S:M,O:D,G:R,W:R)
575
Chapter 14. Setting Up and Maintaining Queues
/MARGIN=(BOTTOM=6)
/STOCK=DEFAULT
/TRUNCATE
/WIDTH=132
/LENGTH=66
To change the systemwide default form, enter the DEFINE/FORM command in the following format:
DEFINE/FORM DEFAULT 0 /qualifier[s]
Example
To change the default bottom margin from 6 to 4, and the page length from 66 to 55, enter this
command:
$ DEFINE/FORM DEFAULT 0/MARGIN=(BOTTOM=4)/LENGTH=55
Note
Once a queue or job references a form, you cannot change the stock for that form. Change the stock of
the default form before you create any queues.
2. Assign a default form for each output execution queue. Use the /DEFAULT=FORM= type
qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE, as explained in
Section 14.6.7.5.
If you do not assign a default form to a queue, the queue uses the systemwide default form.
3. Inform users of the available forms and the queues with which they should be used. You can,
if you like, create symbols to automatically include the form with the PRINT command; for
example:
$ PRINT_REPORT :== PRINT/FORM=REPORT
When you create a form, you can specify any of the qualifiers shown in Table 14.3.
576
Chapter 14. Setting Up and Maintaining Queues
Qualifier Purpose
/MARGIN=( option= n[,...]) Specifies the number of blank spaces for one
or more of the four margin options: BOTTOM,
LEFT, RIGHT, and TOP.
/[NO]PAGE_SETUP=( module[,...]) Specifies one or more device control modules that
set up a device at the start of each page.
/SETUP=( module[,...]) Specifies one or more device control modules that
set up the device at the start of each file.
/[NO]SHEET_FEED Specifies that print jobs pause at the end of every
physical page so that a new sheet of paper can be
inserted.
/STOCK= string Specifies the type of paper stock to be associated
with the form.
/DESCRIPTION= string Specifies a string used to provide information
about the form.
If you create forms only to provide different formatting options (and not to specify paper stock),
specify the same stock type for each form. That way, jobs requesting any of these forms will print on
the same queue without requiring you to enter any additional commands to modify the queue.
Unless you specify the /STOCK qualifier, the form's stock name is the same as the name of the form.
Note
If you want to define a form name that is also an existing logical name, read the description of logical
names in the OpenVMS User’s Manual.
Example
The command in the following example defines the form MEMO as the number 3 and defines
formatting options for the form:
To assign a default form for an output execution queue, use the /DEFAULT qualifier with
INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE.
Note
The queue's default form is associated with a print job at the time the job is processed unless the user
specifies a specific form when the job is submitted. Therefore, if a user submits a job to a generic
queue without specifying the /FORM qualifier, no form is associated with the job until it is transferred
to an execution queue.
577
Chapter 14. Setting Up and Maintaining Queues
If you do not establish a default form for a queue, the queue uses the systemwide default form,
DEFAULT.
Example
In the following example, the SET QUEUE command changes the default form to LN03_PORTRAIT
for the LN03_PRINT queue.
$ SET QUEUE/DEFAULT=FORM=LN03_PROTRAIT LN03_PRINT
where type is the form name or number defined by the DEFINE/FORM command.
If you see a print job pending because of a stock mismatch, change the stock of the printer to the
requested stock and mount the form associated with the requested stock on the queue, or perform one
of the other steps explained in Section 14.8.2.1.
You must specify the form name with DELETE/FORM (not the form number). If you know the
number assigned to the form but do not know the name, enter SHOW QUEUE/FORM to display the
names and numbers assigned to forms on the system.
If the system displays the following messages, a queue or job exists with a reference to the form:
%DELETE-E-NOTDELETED, error deleting form-name
-JBC-E-REFERENCED, existing references prevent deletion
You must remove all references to the form before you can delete the form. For information about
removing references to a form, see Section 14.8.5.
Line Overflow
VSI recommends that you control line overflow by using form definitions. To do this, you must set
terminals and printers to avoid wrapping or truncating the print line before the physical limit of the
device's width.
Note
The print symbiont uses the form to determine the width of a line. Once the print symbiont has
finished formatting the data, if the width of the line exceeds the /WIDTH setting for the device, the
device driver will use the /TRUNCATE or /WRAP settings (if set) to truncate or wrap the line.
578
Chapter 14. Setting Up and Maintaining Queues
Different forms can have different right, left, top, and bottom margin settings. By using forms to
control page and line overflow, users can switch from one form to another without requiring operators
to stop the queue, alter the device setup, and restart the queue. The queue manager automatically
mounts any forms with the same stock as the currently mounted form. Operator assistance is needed
only to mount a form that has a stock that differs from the stock of the currently mounted form. For
more information, see Section 14.8.2.1.
To control line overflow, create forms using DEFINE/FORM with the /[NO]TRUNCATE and /
[NO]WRAP qualifiers described in Table 14.3.
Page Overflow
To control page overflow errors, use the /DEFAULT=[NO]FEED qualifier with INITIALIZE/
QUEUE, START/QUEUE, or SET QUEUE. This qualifier controls whether a form-feed character is
automatically inserted when the symbiont detects overflow into the bottom margin area. Users can use
the PRINT/[NO]FEED command to override the default feed option specified for a queue.
Users can specify the /PASSALL qualifier with the PRINT command to bypass all formatting,
including carriage control, that the print symbiont performs. The default is /NOPASSALL. Use this
qualifier when the print symbiont formatting might interfere with the desired formatting of the file.
The /PASSALL qualifier causes the print symbiont to send I/O to the device driver with all formatting
suppressed.
To suppress the initial form feed, use the /NO_INITIAL_FF qualifier with INITIALIZE/QUEUE,
SET QUEUE, or START/QUEUE.
• With programmable printers, to insert device-dependent escape sequences that set up a printer for
selected print options such as point size, character set, and bold or italic print
• With programmable and nonprogrammable printers, to insert text at specific points in the
processing of a print job
The three types of device control library modules, distinguished by their placement in a print job, are:
579
Chapter 14. Setting Up and Maintaining Queues
2. Assign the device control library to a queue. (This step is not necessary if you use the default
library name SYSDEVCTL.TLB.)
Command Description
DEFINE/FORM/SETUP Specifies one or more modules that set up the
device at the start of each file of a job.
DEFINE/FORM/[NO]PAGE_SETUP Specifies one or more modules that set up the
device at the start of each page of a job.
INITIALIZE/QUEUE/LIBRARY Specifies the file name of the device control
library.
START/QUEUE/LIBRARY
INITIALIZE/QUEUE/SEPARATE=[NO]RESET Specifies one or more device control library
modules that contain the job reset sequence for
START/QUEUE/SEPARATE=[NO]RESET the queue.
SET QUEUE/SEPARATE=[NO]RESET
PRINT/FORM Specifies the name or number of the form to be
associated with the print job.
1. Reset modules assigned to the queue. (Reset modules are only used at this point for the first job
printed after a queue is started.)
5. Page 1 of file 1.
580
Chapter 14. Setting Up and Maintaining Queues
2. Determine the contents of the module—either the text to be inserted or the escape sequences
needed for the printer setup you want. To determine the proper escape sequences for a printer
option, refer to the operation guide for the specific printer.
3. Create a module file and enter the appropriate escape sequences, carriage control characters, or
text. Create and edit a module file as you would any other text file. Make sure your text editor
does not insert a carriage return or line feed at the end of your file. This will affect your printer
output.
4. Insert the module into the device control library by entering a command in the following format:
LIBRARY/INSERT/TEXT library-file module-file
Note
To add a module to or delete it from a library, you must stop all output queues assigned to that library.
Refer to the OpenVMS Command Definition, Librarian, and Message Utilities Manual for more
information about creating libraries and inserting modules.
where filename is the name of the library file that contains the selected modules.
Libraries must be in SYS$LIBRARY and must have the file type .TLB. The default library is SYS
$LIBRARY:SYSDEVCTL.TLB. Use the /LIBRARY qualifier to specify an alternate device control
library. For example:
581
Chapter 14. Setting Up and Maintaining Queues
$ INITIALIZE/QUEUE/LIBRARY=LN03DEVCTL LN03_A_QUE
Note
If you specify a value for the /LIBRARY qualifier, do not include the directory, file type, or version
number. The system assumes that the file is in SYS$LIBRARY and has the type .TLB. If you copy a
library file from another node, be sure that the new library has a unique file name.
Operations that request a particular device control library module use the module from the library
specified for the queue. Guidelines for using libraries follow:
• If you have a small configuration of printers and normally use only a few modules, you usually
store all modules in a single library and assign that same library to each printer queue.
• If you use a single library to store modules for different types of printers, make sure that each
module has a unique name.
• For sites with a large number of different printers, you usually create and assign a separate device
control library for each type of printer. In this case, VSI recommends that you give modules that
perform the same function an identical name in all libraries, even though the modules contain
escape sequences unique to the specific type of printer.
Example
If three libraries contained modules that set up a printer for landscape orientation, these modules
might be named LANDSCAPE in all three libraries. This allows you to use the same form on any
queue for which a library contains a module of the specified name, even though the modules might
contain different device-specific sequences.
Use the following command format to display a listing of all modules contained within a specified
library:
LIBRARY/LIST/FULL SYS$LIBRARY:library-name.TLB
Users can request the module by using one of the following qualifiers with the PRINT command:
When the user enters PRINT/FORM, the form name is checked for validity.
When the user enters PRINT/SETUP, the module names are not checked until the job attempts to
print. If there is an error in the module name, the job will not print and the user will not be notified
unless the /NOTIFY qualifier was specified.
582
Chapter 14. Setting Up and Maintaining Queues
Because the /SEPARATE qualifier specifies mandatory queue options, the RESET module you
specify is sent to the queue at the end of every job. The user cannot override this option.
Examples
In the following example, the reset sequence contained in the module resets the printer at the end of
each job. It also resets the printer when the queue is started to ensure that the first job prints correctly.
$ INITIALIZE/QUEUE/LIBRARY=MYDEVCTL/SEPARATE=RESET=MODULE2 PDQ_QUE
The following example uses device control library modules to process a print job. Two device control
modules are created and inserted into the library file MYDEVCTL.TLB. The escape sequence or text
in the setup module named MODULE1 is sent to the printer to set up the printer before REPORT.TXT
is printed and again before MEMO.TXT is printed. The escape sequence or text in the reset module
named MODULE2 is sent to the printer only once after both files in job REPORT have printed.
$ LIBRARY/CREATE/TEXT SYS$LIBRARY:MYDEVCTL.TLB
$ EDIT MODULE1.TXT
$ EDIT MODULE2.TXT
$ DEFINE/FORM/SETUP=MODULE1/STOCK=DEFAULT FORM1 1
$ PRINT/FORM=FORM1 REPORT.TXT,MEMO.TXT/QUEUE=PDQ_QUE
Job REPORT (Queue PDQ_QUE, entry 619) started on PDQ_QUE
Also, setting up queues is not restricted to startup time. During normal operation, you can create
and start queues as your needs dictate. If you decide to set up queues at a later time, refer to the
instructions in Section 14.4.
If you create additional output queues at a later time, make sure to perform the following actions:
• Add commands to set device characteristics to the startup command procedure on the node on
which the device is located.
583
Chapter 14. Setting Up and Maintaining Queues
• For devices attached to a LAT port, add commands to the startup procedures on all nodes with
queues for the device.
• For additional nonautostart queues, add appropriate START/QUEUE commands to the startup
command procedure on the node on which the queue will run. If you do not add appropriate
START/QUEUE commands, the queues will not be started when the system reboots.
584
Chapter 14. Setting Up and Maintaining Queues
Command Effect on
STOP/QUEUE/NEXT Stops a queue after allowing Stops a queue after allowing the
the current jobs to complete, current jobs to complete.
and deactivates the queue for
autostart.
STOP/QUEUE/RESET Stops a queue abruptly and Stops a queue abruptly.
deactivates the queue for
autostart.
If you do not specify a qualifier or a queue name, the system displays the status of all queues on the
system and all jobs you own. The SHOW QUEUE qualifiers let you select the type of queue and the
amount of information you want to display.
Use the following qualifiers to select the information you want to display:
Qualifier Description
/BY_JOB_STATUS[= keyword-list] Displays queues that contain jobs of the specified
status. You can specify one or more of the
following keywords:
EXECUTING
HOLDING
PENDING
RETAINED
TIMED_RELEASE
585
Chapter 14. Setting Up and Maintaining Queues
Qualifier Description
If no keyword is specified, by default the jobs
of all status are displayed. For more information
about job status, see Table 14.6.
/BATCH Displays batch execution queues.
/DEVICE[= keyword-list] Displays output execution queues. You can select
a specific type of execution queue by entering one
or more of the following keywords:
PRINTER
TERMINAL
SERVER
Use the following qualifiers to select the amount of information you want to display:
Qualifier Description
/ALL_JOBS Displays information about all jobs for the selected queues.
/BRIEF Displays a brief listing of information about job entries in the queue. The brief
listing is the default for the SHOW QUEUE command.
/FILES Adds a list of files associated with each job to the display.
/FULL Displays complete queue and job information (also displays any ACLs set for
the queues).
/SUMMARY Displays the total number of executing, pending, holding, retained, and timed
release jobs. The jobs themselves are not displayed.
You can also combine certain qualifiers to further delineate the queue information you want to display.
586
Chapter 14. Setting Up and Maintaining Queues
To display the forms or characteristics available on a system, use the SHOW QUEUE/FORM or
SHOW QUEUE/CHARACTERISTICS command.
You can further customize the type of queue information you want to monitor by writing a command
procedure that uses the F$GETQUI lexical function. F$GETQUI invokes the $GETQUI system
service to return information stored in the queue database.
You can use the F$GETQUI lexical function to obtain information about the following types of
objects:
Characteristics
Forms
Queues
Jobs contained in queues
Files of jobs contained in queues
For example, you could write a command procedure to display the total number of blocks of jobs
in a pending state in all printer queues. You must have read access to the job or SYSPRV or OPER
privilege to obtain job and file information.
For more information about the system service invoked by the F$GETQUI lexical function, refer to
the description of the $GETQUI system service in the VSI OpenVMS System Services Reference
Manual.
Examples
1. The following example displays summary information for all printer and terminal queues:
$ SHOW QUEUE/SUMMARY/DEVICE=(PRINTER,TERMINAL)
Printer queue HERA_LPA0, busy, on HERA::LPA0, mounted form DEFAULT
<Printer queue on node HERA for a line printer>
Job summary: 1 executing
Printer queue HERA_LPB0, busy, on HERA::LPB0, mounted form DEFAULT
<Printer queue on node HERA for a line printer>
Job summary: 1 executing
Generic printer queue CLUSTER_PRINT
<Generic printer queue for LPA0: and LPB0:>
Job summary: 1 holding
Terminal queue LQ_PRINT, stopped, on HERA::TXA7:,
<Letter quality printer in Bob's office> mounted form
PORTRAIT_INDENTED (stock=DEFAULT)
Job summary: 2 pending (445 blocks), 1 holding
587
Chapter 14. Setting Up and Maintaining Queues
2. The following example displays the full status and options of all executing jobs:
$ SHOW QUEUE/FULL/ALL/BY_JOB_STATUS=EXECUTING
The SET QUEUE command lets you change many queue options without having to stop the queue,
initialize it, and restart it. For example, the following command modifies the running batch queue,
SYS$BATCH:
$ SET QUEUE/JOB_LIMIT=4/DISABLE_SWAPPING SYS$BATCH
The command in this example changes the job limit for the queue and disables swapping for all jobs
processed in SYS$BATCH. All other options of the queue remain the same. The changed options
do not affect the execution of current jobs; however, all subsequent jobs are executed with the new
options in effect.
588
Chapter 14. Setting Up and Maintaining Queues
Any qualifiers that you do not specify remain as they were when the queue was previously
initialized, started, or set.
Note that initializing an existing queue does not delete any current jobs in that queue. Any new queue
settings established by the new INITIALIZE/QUEUE command affect all jobs waiting in the queue or
subsequently entering the queue.
See Table 14.1 for a list of the options that you can use for batch and output queues.
When the queue is available again, use the /OPEN qualifier to open the queue for incoming jobs.
Command Description
STOP/QUEUE/NEXT Lets all currently executing jobs complete and then stops the queue. Once
you enter this command, all new jobs are prevented from executing.
STOP/QUEUE/RESET Abruptly stops the queue and returns control to the system. Any jobs that
are currently executing are stopped immediately.
If the queue is not set to retain jobs completed with an error status, use
SET QUEUE/RETAIN=ERROR to do so before stopping the queue with
STOP/QUEUE/RESET. This causes the queue to retain information about
aborted jobs.
589
Chapter 14. Setting Up and Maintaining Queues
For autostart queues, these commands deactivate a queue for autostart as explained in
Section 14.7.1.6. To restart a stopped nonautostart queue or to reactivate a deactivated autostart queue,
enter START/QUEUE.
• Mark all autostart queues on the node as “stop pending” in preparation for a planned shutdown.
This lets jobs currently executing on the queues complete.
• Upon completion of any jobs currently executing on one of the node's autostart queues, force
the queue to fail over to the next available node in the queue's failover list on which autostart is
enabled. (An autostart queue can only fail over if you have set it up to run on more than one node.)
By default, DISABLE AUTOSTART/QUEUES affects the node from which it is entered. Specify
the /ON_NODE qualifier to disable autostart on a different node.
Use DISABLE AUTOSTART/QUEUES prior to shutting down a node. For more information, see
Section 14.7.1.9.
STOP/QUEUES/ON_NODE=node
When you enter STOP/QUEUES/ON_NODE, nonautostart queues and autostart queues without a
failover list are stopped. Autostart queues created or started with a failover list fail over to the next
available node in that list that has autostart enabled. In all cases, currently executing jobs are aborted.
However, you can allow jobs executing on autostart queues to complete by entering the DISABLE
AUTOSTART/QUEUES command and waiting for jobs to complete before entering the STOP/
QUEUES/ON_NODE command. For more information, see Section 14.7.1.9.
• DISABLE AUTOSTART/QUEUES
• STOP/QUEUES/ON_NODE
590
Chapter 14. Setting Up and Maintaining Queues
Timing Method
Before executing SHUTDOWN.COM Define the logical name SHUTDOWN
$DISABLE_AUTOSTART to be the number of
minutes in the following format:
DEFINE/SYSTEM/EXECUTIVE_MODE
SHUTDOWN$DISABLE_AUTOSTART
number-of-minutes
While executing SHUTDOWN.COM Specify the number of minutes as a shutdown
option as follows:
Shutdown options
[NONE]:DISABLE_AUTOSTART=number-of-
minutes
Determine an appropriate number of minutes for your configuration, based on the number and type of
jobs in the autostart queues.
If you shut down a node without using SHUTDOWN.COM, you might want to enter DISABLE
AUTOSTART/QUEUES and wait a few minutes to allow jobs on autostart queues to finish processing
before you enter STOP/QUEUES/ON_NODE.
1. Stop the queue associated with the malfunctioning print device by entering a command in the
following format:
STOP/QUEUE/NEXT queue-name[:]
This command inhibits new jobs from processing but lets the current job finish processing, unless
the print device is not operating at all. If the device is inoperable, use STOP/QUEUE/RESET to
halt the queue and immediately cancel all output from the device.
3. Reroute existing jobs from the malfunctioning print device to another print device by entering a
command in the following format:
591
Chapter 14. Setting Up and Maintaining Queues
Ensure that the options of the new print device are appropriate for processing the new jobs.
where target-queue is the queue to which you are moving the jobs; source-queue is the queue to be
deleted.
The ASSIGN/MERGE command moves all jobs currently in the source queue. If new jobs are entered
into the source queue before it is deleted, those new jobs remain in the source queue, and are not
transferred to the target queue. You might want to close the queue to prevent new jobs from being
entered in the queue, as explained in Section 14.7.1.4, before entering ASSIGN/MERGE.
3. Requeue the entries still pending in the queue. If you do not perform this step, jobs will be deleted
along with the queue.
4. Remove all references to the queue from generic queues or jobs. See Section 14.8.5 for more
information about removing references to queues.
Task Reference
Monitoring jobs Section 14.7.2.1
Modifying job processing options Section 14.7.2.2
Holding and releasing a job Section 14.7.2.3
Requeuing an executing job Section 14.7.2.4
592
Chapter 14. Setting Up and Maintaining Queues
Task Reference
Requeuing a pending job Section 14.7.2.5
Deleting a job Section 14.7.2.6
Pausing an output queue to control print job position and alignment Section 14.7.2.7
If you do not specify an entry number or job name, the system displays all jobs owned by you or by
the user specified with the /USER_NAME qualifier. If you specify a job name, the system displays
all jobs owned by you or by the user specified with /USER_NAME that match the specified character
string. You can also display a group of jobs by entering a list of entry numbers or job names, or both,
on the command line.
Specify qualifiers with the SHOW ENTRY command to specify the type of job information you want
to display. For more information, refer to the VSI OpenVMS DCL Dictionary.
Table 14.6 describes the job statuses returned by the SHOW ENTRY command.
Examples
$ SHOW ENTRY/USER_NAME=GARDNER
593
Chapter 14. Setting Up and Maintaining Queues
2. In the following example, the /FULL qualifier displays job status information, the time the job
was submitted, the file specification, and the job processing options:
Table 14.7 lists some qualifiers that are frequently used to change jobs. For a list of all the job
processing options you can change with the SET ENTRY command, refer to the VSI OpenVMS DCL
Dictionary.
594
Chapter 14. Setting Up and Maintaining Queues
You can use the following commands to hold and release jobs:
Command Purpose
SET ENTRY/HOLD Holds a job in a queue indefinitely before
processing.
SET ENTRY/AFTER= time Holds a job in a queue for processing after a
specified time. To specify /AFTER for a job on
hold, you must also specify /NOHOLD to cause
the job to be held only until the specified time.
SET ENTRY/NOHOLD Releases a job that is held in a queue for any of
the following reasons:
595
Chapter 14. Setting Up and Maintaining Queues
Command Purpose
• A job was submitted with the /HOLD or /
AFTER qualifier.
Examples
1. The following example holds a job until the specified time and subsequently releases the job after
that time:
$ SET ENTRY 1121/AFTER=12-FEB-2000:17:30
$ SET ENTRY/NOAFTER
2. The following example holds a job until the end of the current day (00:00:00.00 o'clock) and
subsequently releases the job before that time:
$ SET ENTRY 1121/AFTER=TODAY
$ SET ENTRY/NOAFTER
3. The following example holds a job indefinitely and subsequently releases it:
$ SET ENTRY 1234/HOLD
$ SET ENTRY 1234/RELEASE
Note
The STOP/QUEUE/REQUEUE command stops only the job currently executing in the queue. The
queue is not stopped.
Examples
1. A job is executing in output execution queue BETA_LPB0 when the printer on which the queue
is running jams. If no other jobs are pending in the queue, you might want to stop and requeue
the job to a queue running on another printer. Because the printer in this example is jammed, you
might also want to stop the queue. To do so, enter commands similar to the following ones:
$ STOP/QUEUE/REQUEUE=BETA_LPA0 BETA_LPB0
$ STOP/QUEUE/RESET BETA_LPB0
The first command stops the executing print job on BETA_LPB0 and requeues it to BETA_LPA0.
The second command stops queue BETA_LPB0.
2. If you are requeuing a job on a batch queue, you must include the /ENTRY= n qualifier. For
example:
$ STOP/QUEUE/ENTRY=1251/REQUEUE=FRED_BATCH WILMA_BATCH
596
Chapter 14. Setting Up and Maintaining Queues
To hold an aborted job, specify the /HOLD qualifier using the following format:
STOP/QUEUE/REQUEUE[=queue-name]/HOLD[/ENTRY=entry-number] queue-name
The /HOLD qualifier places the aborted job in a hold state for later release with the SET ENTRY/
RELEASE or SET ENTRY/NOHOLD command.
To change the scheduling priority of the aborted job, specify the /PRIORITY qualifier using the
following format:
STOP/QUEUE/REQUEUE[=queue-name]/PRIORITY=n[/ENTRY=entry-number] queue-name
1. Determine the entry number of the job by entering a command using one of the following formats:
If you do not know the job name, user name, or queue name, enter the following command:
$ SHOW QUEUE/BATCH/ALL_JOBS/BY_JOB_STATUS=EXECUTING
DELETE/ENTRY=(entry-number)[,...]
Example
A user has noticed that a job is processing in an endless loop. The user is not the owner of the job and
lacks sufficient privilege to stop it. The user enlists your aid as the system manager. You might enter
the following command:
$ SHOW QUEUE/BATCH/ALL_JOBS/BY_JOB_STATUS=EXECUTING
Batch queue JADE_BATCH, available, on JADE::
Entry Jobname Username Status
----- ------- -------- ------
312 ARTWORK HUNTER Executing
597
Chapter 14. Setting Up and Maintaining Queues
• Specify the position at which a suspended job is to resume printing. For example, suppose a
printer has a paper jam and the first several pages of a print job are destroyed. You can pause the
queue and restart the job, resuming printing at the beginning of the file.
• Specify the number of pages and the type of data for aligning printer forms. For example, suppose
a printer uses a paper stock that is a preprinted continuous-form paper. When you begin printing a
job, you notice the paper is not correctly aligned, so output does not print in the correct space on
the preprinted form. You can pause the queue and print sample data to help you correct the paper
alignment.
Note
To perform these tasks, you must enter STOP/QUEUE after the job has begun printing.
By default, when you pause a queue and restart it, printing resumes in the current job at a checkpoint
near where it left off. To specify the position at which the current job is to resume printing, pause the
queue, then enter START/QUEUE with any of the following qualifiers:
Qualifier Description
/BACKWARD[= n] Restarts a print queue n pages before the current
page; n defaults to 1. If you omit the value,
printing resumes at the top of the current page.
/FORWARD[= n] Advances the specified number of pages before
resuming printing the current file in the current
job; the default is 1. If you omit the page value,
printing resumes at the top of the next page.
/SEARCH= "search-string" Specifies that printing is to resume at the page
containing the specified string. The search for
the string moves forward, beginning on the page
following the current page. During the search,
consecutive tabs and spaces are treated as a
single space, and character case is ignored. The
598
Chapter 14. Setting Up and Maintaining Queues
Qualifier Description
string can be from 1 to 63 characters and must be
enclosed in quotation marks (" ").
/TOP_OF_FILE Resumes printing at the beginning of the file that
was current when the output execution queue
paused.
When you must use more than one positioning qualifier with the same START/QUEUE command, file
positioning is performed in the following order:
1. /TOP_OF_FILE
2. /FORWARD
3. /BACKWARD
4. /SEARCH
Examples
1. In the following example, STOP/QUEUE suspends the job that is currently printing on the printer
queue JADE_PRINT and places that queue in the paused state. The START/QUEUE command
releases the queue from the paused state. The /TOP_OF_FILE qualifier causes the job that was
suspended to resume printing at the beginning of the file rather than at where it was interrupted.
$ STOP/QUEUE JADE_PRINT
$ START/QUEUE/TOP_OF_FILE JADE_PRINT
2. In the following example, START/QUEUE resumes output on printer SYS_LPA0 after advancing
15 pages from the beginning of the file:
$ START/QUEUE/TOP_OF_FILE/FORWARD=15 SYS_LPA0
The following options control the number of alignment pages and type of alignment data:
Option Description
MASK Specifies that input data is masked by replacing alphabetic characters with the
character X and numbers with the number 9. Mask characters let you prevent the
printing of sensitive information. If you omit the MASK option, data is printed
unaltered.
n A decimal number in the range 1 to 20 that specifies the number of alignment
pages to print. By default, one page of alignment data is printed.
You can use the /ALIGN qualifier with any of the file positioning qualifiers described in the previous
section. File positioning is performed before alignment data is printed. After the alignment is
complete, the queue enters a paused state until you restart it by reentering START/QUEUE. Printing
resumes from the point that alignment data started; that is, the task is backspaced over the pages
printed for alignment.
599
Chapter 14. Setting Up and Maintaining Queues
Example
The command in the following example requests masked alignment for four pages of output. In this
example, the file for the job that was being printed when the queue was paused is backspaced two
pages before alignment is performed. Four pages of alignment mask characters are printed. Then the
output for the current job is positioned backward four pages, and the queue pauses.
$ START/QUEUE/BACKWARD=2/ALIGN=(MASK,4) SYS_LPA0
Problem Section
General printer problems Section 14.8.1
Scheduling pending jobs Section 14.8.2
Stock mismatch problems Section 14.8.2.1
Characteristics mismatch problems Section 14.8.2.2
Stalled output queues Section 14.8.3
Autostart queues that do not start Section 14.8.4
Problems deleting queues, forms, and characteristics Section 14.8.5
Problems deleting files following printing Section 14.8.6
Problems adding or deleting a module from a device control library Section 14.8.7
Queue is disabled Section 14.8.8
1. Enter a command in the following format to determine the status of the queue with which the
printer is associated:
SHOW QUEUE/FULL queue-name
2. Enter the SHOW LOGICAL/FULL SMBSRVSHR command to determine whether the logical
name SMBSRVSHR is assigned, and, if it is assigned, its access mode (SUPERVISOR_MODE
or EXECUTIVE_MODE). In most cases, this logical name should not be defined. However, if
SMBSRVSHR is assigned, deassign it by entering the DEASSIGN SMBSRVSHR command with
the /USER_MODE, /SUPERVISOR_MODE, or /EXECUTIVE_MODE qualifier.
3. If a print request returns a fatal error or does not print, perform the following steps:
b. If the output device is spooled, despool it using the SET DEVICE/NOSPOOLED command.
c. Copy the file you are attempting to print by entering the COPY command in the following
format:
600
Chapter 14. Setting Up and Maintaining Queues
If the COPY command does not produce output, a PRINT request will not work.
4. If the problem is on a queue using the LATSYM symbiont, try using the default symbiont,
PRTSMB, and see if the problem persists. You can use the PRTSMB symbiont for printers on LAT
ports. However, only one queue at a time will be able to send jobs to the printer.
To determine whether a queue is using the LATSYM symbiont, enter SHOW QUEUE/
FULL. If the queue is using the LATSYM symbiont, the display shows the following words: /
PROCESSOR=LATSYM.
5. Attach a terminal at the end of the cable that is being used for the printer. If the data shows up
on the terminal, the Hold Screen key works, and no data is lost, the problem is probably with the
printer (an incorrect setting, for example). If the problem exists with the terminal, it might be
caused by the cable, the hardware interface port, or a hardware port setting.
If the job is in a holding status, see Section 14.7.2.3 for information about holding and releasing a job.
If the job is in the pending state, the /FULL qualifier enables you to see the reason why the job is
ineligible to execute. (Use a 132-character wide display to make sure that all the information is
displayed.)
For example:
$ SHOW QUEUE/FULL/ALL_JOBS/BY_JOB_STATUS=PENDING
Generic printer queue REG$GENERIC
/GENERIC=(REG$Q1,REG$Q2,REG$Q3)/OWNER=[SYSTEM]/
PROTECTION=(S:M,O:D,G:R,W:R)
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
684 PROBLEMS CHURCHILL 3118 Pending (check execution
queues)
Submitted 7-MAR-2000 17:49 /FORM=DEFAULT /NOTIFY /PRIORITY=100
File: _$5$DUA174:[CHURCHILL]PROBLEMS.TXT;2
Printer queue REG$Q1, stopped, on LONDON::NPA1, mounted form DEFAULT
/BASE_PRIORITY=4/DEFAULT=(FEED,FORM=DEFAULT)/OWNER=[SYSTEM]
/PROTECTION=(S:M,O:D,G:R,W:R)
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
687 PM$SPEECH CHURCHILL 3558 Pending (queue stopped)
Submitted 7-MAR-2000 17:51 /FORM=DEFAULT /NOTIFY /PRIORITY=100
File: _$5$DUA174:[CHURCHILL]PM$SPEECH.TXT;1 (checkpointed)
601
Chapter 14. Setting Up and Maintaining Queues
A job enters the pending status whenever the job is not eligible to execute. Table 14.8 lists common
causes and solutions for a pending status.
Table 14.8. Common Causes and Solutions for Pending Job Status
Problem Solution
The queue is currently processing as many jobs as Wait until intervening jobs complete.
it can.
The queue is stopped or stalled. If a SHOW QUEUE/FULL command shows the
queue status as stopped or stalled, determine why
the queue is stopped or stalled.
602
Chapter 14. Setting Up and Maintaining Queues
To fix jobs that are pending because of a stock mismatch, perform one or more of the following
actions:
• Make the stocks match by mounting a different form on the queue (for example, using SET
QUEUE/FORM_MOUNTED) or by specifying a different form with the job (for example, using
SET ENTRY/FORM).
• Move the job to a queue on which the stock of the mounted form matches the stock of the job's
form (for example, using SET ENTRY/REQUEUE).
To fix jobs that are pending because of a characteristics mismatch, perform one or more of the
following actions:
• Move the job to a queue on which the characteristics match those of the job (for example, using
SET ENTRY/REQUEUE).
• Make the characteristics match by assigning new characteristics to the queue (for example, using
SET QUEUE/CHARACTERISTICS).
603
Chapter 14. Setting Up and Maintaining Queues
If you cannot fix the problem immediately, stop the queue by entering STOP/QUEUE/RESET. While
the queue is stopped, you might want to reroute the jobs in the queue to a functioning queue, as
explained in Section 14.7.1.10. When the problem is fixed, deassign the logical queue and start the
queue by entering START/QUEUE.
Example
$ ENABLE AUTOSTART/QUEUES/ON_NODE=KATY::
$ SHOW QUEUE KATY_BATCH
Batch queue KATY_BATCH, stopped, autostart inactive, on KATY::
$ START/QUEUE KATY_BATCH
$ SHOW QUEUE KATY_BATCH/ALL
Batch queue KATY_BATCH, idle, on KATY::
• All references to a queue, form, or characteristic must be removed before you can delete the
queue, form, or characteristic.
If you see a message similar to the following one, a reference to the queue, form, or characteristic still
exists:
604
Chapter 14. Setting Up and Maintaining Queues
For example, the queue you are attempting to delete might be named as a target for a generic queue,
or the form you are attempting to delete might be specified for a print job. All references to a queue,
form, or characteristic must be removed before you can delete the queue, form, or characteristic.
2. Use the SEARCH command to search the output file for the name of the form or queue, or the
number of the characteristic to be deleted. The result of your search will include all references to
the queue, form, or characteristic.
3. If the SEARCH command reveals any queues with references to the queue, form, or characteristic
you are trying to delete, perform the following steps:
b. Use START/QUEUE with the appropriate qualifiers to restart each queue without the
reference.
4. If the SEARCH command reveals any jobs with references to the queue, form, or characteristic
you are trying to delete, perform the following steps to eliminate the job reference:
a. Wait for the job to complete. (You might want to raise the priority of the job as explained in
Section 14.6.5.2, so the job will be scheduled for processing sooner.)
• Modify the options for the job as explained in Section 14.7.2.2, or ask the owner of the job
to do so.
Example
The following example includes several commands used to fix problems preventing the deletion of a
queue:
$ DELETE/QUEUE JADE_BATCH
%DELETE-E-NOTDELETED, error deleting JADE_BATCH
-JBC-E-QUENOTSTOP, queue must be stopped to perform operation
$ STOP/QUEUE/NEXT JADE_BATCH
$ DELETE/QUEUE JADE_BATCH
%DELETE-E-NOTDELETED, error deleting JADE_BATCH
-JBC-E-REFERENCED, existing references prevent deletion
$ SHOW QUEUE/FULL
.
.
.
Generic batch queue CLUSTER_BATCH
/GENERIC=(JADE_BATCH,RUBY_BATCH,OPAL_BATCH) /OWNER=[SYSTEM]
/PROTECTION=(S:M,O:D,G:R,W:R)
.
605
Chapter 14. Setting Up and Maintaining Queues
.
.
$ STOP/QUEUE/NEXT CLUSTER_BATCH
$ START/QUEUE CLUSTER_BATCH/GENERIC=(RUBY_BATCH,OPAL_BATCH)
$ DELETE/QUEUE JADE_BATCH
You can ensure that the PRINT/DELETE or SUBMIT/DELETE command deletes the specified files
by mounting the disks on which the files reside clusterwide. To mount a disk clusterwide, use the /
CLUSTER qualifier with the MOUNT command.
However, if your operating environment does not allow you to mount a disk clusterwide, you can
resolve this problem by running the queue manager process on a node that has access to the disk. You
can specify the node on which the queue manager process runs by specifying the /ON= node qualifier
with the START/QUEUE/MANAGER command. For more information about this qualifier, refer to
the VSI OpenVMS DCL Dictionary.
To add or delete a library module, you must stop all output queues to which the library is assigned. To
determine which queues the library is assigned to, perform the following steps:
SHOW QUEUE/FULL/OUTPUT=filespec
where filespec is the name of a file to which the display output of the command is to be sent.
606
Chapter 14. Setting Up and Maintaining Queues
2. Use the SEARCH command to search the output file for the name of the library.
The result of your search will include all queues to which that library is assigned. Stop the queues and
reenter the command to add or delete the library module.
Note
The SHOW QUEUE/FULL display shows the library assigned to a queue only if you explicitly
assigned a library for the queue by including the /LIBRARY qualifier with INITIALIZE/QUEUE
or START/QUEUE. If you do not explicitly assign a library to a queue, the default library,
SYSDEVCTL, is used.
If the module you are trying to delete is in the default library, SYSDEVCTL, you must stop all queues
for which SHOW QUEUE/FULL displays no library. To make sure the SYSDEVCTL library appears
in the SHOW QUEUE/FULL display in the future, specify /LIBRARY=SYSDEVCTL when you
restart the queue.
If you cannot stop the queues immediately, perform the following steps:
1. Use the COPY command to copy the library to be modified into your own directory.
2. Add the module to the copy, or delete the module from the copy.
3. Use the COPY command to copy the library back to the directory SYS$COMMON:[SYSLIB].
As long as you use the same name for the modified library, the library will be picked up by each
queue when the queue is stopped and restarted.
If your site has a large number of different printers, you can help prevent this problem by using more
libraries, so that each library is assigned to fewer queues. For example, you should create and assign a
different library for each type of printer, as explained in Section 14.6.8.3.
When a queue is disabled, any attempt to modify or submit a job to it returns the following message:
%JBC-E-QUEDISABLED, disabled queue cannot be modified, nor can a job be
submitted to it
If you see either of the previous messages, perform the following actions:
607
Chapter 14. Setting Up and Maintaining Queues
608