HPOC cheat sheet
HPOC · Keep the key ideas within reach.
OpenVMS System Concepts and Architecture
OpenVMS privilege modes, highest to lowest: Kernel, Executive, Supervisor, User; code executes in the mode of the image or the mode granted by the called system service.
VIRTUAL memory is divided into P0 (process-private, grows up), P1 (process-private, grows down), S0/S1 (system), and S2 (shared) address space regions.
A process is the unit of resource ownership (address space, quotas); a kernel thread is the unit of execution and scheduling on each CPU.
RMS record formats: fixed, variable with fixed control (RFM=VAR), and stream; file organizations are sequential, relative, and indexed (ISAM).
The Rights database (RIGHTSLIST) grants identifiers; UIC is [group,member] and the system UIC is [SYSTEM] with group 1.
Logical names are defined in tables LNM$PROCESS, LNM$JOB, LNM$GROUP, LNM$SYSTEM, and LNM$FILE_DEV, searched in that order for file translation.
The CLI (DCL) is an image; command procedures run under DCL and symbol substitution occurs before command parsing.
Page file (PAGEFILE.SYS) backs virtual memory; the swap file (SWAPFILE.SYS) holds outswapped process working sets.
Installation, Configuration, and Booting
Boot sequence: console firmware loads the boot block, which loads SYSBOOT.EXE; SYSBOOT loads the system image and executes SYSINIT, then STARTUP.COM runs.
SYSBOOT parameters (e.g., WSMAX, NPAGEDYN, CLI) are read from SYSBOOT.DAT on the system disk and can be overridden at the console prompt.
Conversational boot is entered with BOOT /R5:1 (or answering NO to SYSBOOT's continue prompt) to reach SYSBOOT> for parameter changes.
Startup files: SYS$SYSTEM:STARTUP.COM is the master; site-specific commands belong in SYLOGICALS.COM, SYCONFIG.COM, and SYSTARTUP_VMS.COM.
MODPARAMS.DAT holds parameter values consumed by AUTOGEN; AUTOGEN runs in phases (GETDATA, GENPARAMS, SETPARAMS, GENFILES, SHUTDOWN, REBOOT).
AGEN$PARAMS.REPORT records the last AUTOGEN run's parameter calculations and feedback.
The installation procedure (VMSINSTAL/PCSI) requires a privileged account and the distribution media mounted as a device; licenses load via LICENSE REGISTER or LOAD LICENSE.
DECwindows startup is controlled by the WINDOW_SYSTEM logical and STARTUP options; disabling it reduces memory and boot time.
System Management and Startup/Shutdown
SYSTARTUP_VMS.COM runs at the end of startup and is the supported place for site-specific startup commands; keep it short and call subordinate procedures.
Orderly shutdown: @SYS$SYSTEM:SHUTDOWN.COM prompts for minutes-to-shutdown, option (reboot/halt), and whether to spin down disks.
OPCOM messages are enabled per operator terminal with REPLY/ENABLE; classes include CLUSTER, DEVICE, OPERATOR, and SECURITY.
ACCOUNTING is enabled with ACCOUNTING/ENABLE and records are read by ACCOUNTING and summarized by ACCOUNTNG or the ACCOUNTING utility reports.
The SYSTEM account is not subject to quotas by default and should be used only for system-level work; day-to-day admin should use a privileged personal account.
ANALYZE/SYSTEM (or SDA) inspects the running system: SHOW PROCESS, SHOW CRASH, SHOW SUMMARY, and CLUE crash dumps.
SET TIME and the TDF (time differential factor) must be consistent across a cluster; time is maintained by the distributed time server (DTSS) or NTP.
The error log is written to SYS$ERRORLOG:ERRLOG.SYS and analyzed with ANALYZE/ERROR_LOG.
User Account and Security Management
AUTHORIZE manages the SYSUAF (user authorization file); UAF records hold UIC, quotas, privileges, and flags such as DISCTLY, DEFCLI, and CAPTIVE.
Privileges are granted with /PRIVILEGES=(...) and removed with /NOPRIVILEGES; the default new account gets TMPMBX and NETMBX.
Password policy is set with SET PASSWORD /SYSTEM or AUTHORIZE qualifiers: minimum length, lifetime, and password history depth.
The security profile (SET SECURITY /PROFILE) controls break-in detection, password hashing, and audit settings; the SECURITY class audit log is SECURITY_AUDIT.AUDIT$JOURNAL.
Identifiers are defined with AUTHORIZE ADD/IDENTIFIER and granted to users; rights are held in the RIGHTSLIST database and control resource access.
Protection codes are (System:Owner:Group:World) with access types R, W, E, D; SET SECURITY /PROTECTION sets them, and ACLs are added with /ACL.
The security audit journal is enabled with SET AUDIT /ENABLE and read with ANALYZE/AUDIT.
CAPTIVE accounts cannot use the CLI; RESTRICTED accounts cannot change their CLI or run images outside the allowed set.
Storage, Volumes, and File Systems
A volume is initialized with INITIALIZE (creating the ODS-2/ODS-5 structure) and mounted with MOUNT; ODS-5 supports long names and case preservation.
The index file (INDEXF.SYS) holds file headers; number of files is limited by the volume's file-header capacity, extended with the /MAXIMUM_FILES qualifier.
Files-11 on-disk layout: boot block (LBN 0), home block (LBN 1), index file, then the file area; the home block holds volume name and cluster size.
Cluster size (default 3 blocks) controls allocation granularity; larger clusters reduce fragmentation overhead but waste space on small files.
Logical volume sets (MOUNT /BIND) present multiple physical volumes as one; shadow sets (MOUNT /SHADOW) provide redundancy with one or more copies.
BACKUP savesets are created with BACKUP/IMAGE or /SAVE_SET; /IMAGE saves the whole volume and preserves file attributes and placement.
Mount options: /NOSHARE, /NOWRITE, /NOCACHE, and /OVERRIDE=IDENTIFICATION; dismounting with DISMOUNT /ABORT forces removal.
Disk quotas are enabled per volume with SET VOLUME /QUOTA and enforced against the user's UAF quota.
Processes, Scheduling, and Performance
Process states: LEF, COM, CUR, and the wait states (PFW, COL, MWA, etc.); SHOW PROCESS /ALL lists them with priority and state.
Base priority is set with SET PROCESS /PRIORITY; the scheduler uses priority plus a decaying boost for I/O completion.
Process quotas: BIOLM, DIOLM, ASTLM, TQELM, BYTLM, PRCLM, FILLM, and CPULM; EXQUOTA errors indicate a quota or page-file limit.
Working set parameters: WSDEFAULT, WSEXTENT, WSQUOTA, and PQL_* page-file quota; AUTOGEN computes values from feedback data.
MONITOR classes: CPU, IO, MEMORY, PAGE, PROCESS, and DISK; MONITOR PROCESSES /TOPCPU ranks consumers.
The page-file is sized by AUTOGEN; a full page file causes process creation failures and image activation errors.
Images can run at a boosted priority via the INSTALL utility /PRIORITY; resident images reduce activation I/O.
SET PROCESS /SUSPEND and /RESUME control execution; STOP forces image rundown and can leave resources un-released.
Networking and DECnet/IP Services
DECnet Phase IV addresses are area.node (e.g., 2.5); Phase V uses NSAP addresses, and the local node is set with SET NETWORK /NODE or in NETCONFIG.
TCP/IP Services (UCX) is configured with TCPIP$CONFIG; key components are the internet interface, BIND resolver/server, and TELNET/FTP servers.
The host name is set with SET HOST /ADDRESS or TCPIP SET HOST; the local host name and address live in TCPIP$ETC: hosts and resolv.conf.
NCP (Network Control Program) shows and sets DECnet: NCP SHOW KNOWN NODES, NCP SET EXECUTOR, and NCP TELL for remote commands.
SET HOST connects to a remote node's terminal server or DECnet; TELNET connects over TCP/IP; both require the remote service to be enabled.
Proxy access (SET PROXY /REMOTE /LOCAL) allows a remote user to authenticate as a local account without a password.
Network services are started by the TCPIP$STARTUP and NET$STARTUP procedures, invoked from SYSTARTUP_VMS.COM.
The DECnet line state (ON/OFF) and circuit state are checked with NCP SHOW LINE and NCP SHOW CIRCUIT.
Clusters and High Availability
A cluster shares a common system disk and quorum disk; each node has a votes count and the cluster requires a majority of votes to run.
Quorum disk (typically a small disk with the QUORUM file) provides an additional vote to break ties when nodes are even.
Cluster interconnect (CI, Ethernet, or MEMORY CHANNEL) carries lock traffic; the LOCK manager (LCK) coordinates distributed locking.
Shadow sets provide disk-level redundancy; a member failure triggers a copy operation to restore redundancy (MOUNT /SHADOW and SET SHADOW).
The distributed lock manager uses resource names; lock mode (NL, CR, CW, PR, PW, EX) and conversion deadlocks are visible with the LOCK utility.
Cluster alias (SET CLUSTER /ALIAS) presents one network name for the cluster; DECnet and IP aliases are configured separately.
A node can be added by booting it with the cluster's system disk and quorum disk; it joins the existing cluster automatically.
SET CLUSTER /EXPECTED_VOTES recalculates quorum after membership changes; incorrect settings can prevent a node from joining.
Backup, Recovery, and Troubleshooting
BACKUP/IMAGE saves a volume image; /RECORD and /LOG document the run; the saveset is restored with BACKUP/IMAGE to a target volume.
Incremental backups use /SINCE=BACKUP or /MODIFIED; the /SINCE qualifier selects files changed since a date or the last backup.
BACKUP/VERIFY reads back the saveset after writing; BACKUP/COMPARE compares a saveset or volume against the source.
The error log (ERRLOG.SYS) is analyzed with ANALYZE/ERROR_LOG; /INCLUDE and /SINCE narrow the report, and /SUMMARY gives counts.
Crash dumps are written to SYS$SYSTEM and read with ANALYZE/CRASH_DUMP (or SDA); CLUE analyzes the dump for a summary.
A corrupt system disk is recovered by booting from distribution media, restoring the image with BACKUP/IMAGE, and re-running AUTOGEN.
The ANALYZE/DISK_STRUCTURE utility checks and repairs file-system consistency; /REPAIR fixes errors and /CONFIRM prompts before repair.
Common failure signatures: EXQUOTA (quota), INSVIRMEM (page file or pool), and SYSBOOT> prompt (boot parameter or startup file problem).