User Tools

Site Tools


openvms:openvms-cheatsheet

This is an old revision of the document!


[CHEATSHEET] OpenVMS

Main concepts

Keywords

sort code Full name Translation to linux
UAF User authorization File It's a combination of etc/passwd, etc/group and SElinux/DB concepts with grants and roles
UIC User Identification CODE UID the user identificator, in OpenVMS is [1,100]. As in linux should NOT be unique
DCL Digital Command Language bash LOL
CDU Command definition utility It's a kind of IDE or getops, allow command line definitions
RMS Record Management Services journalctl (logs)
JBC Job Controller Queues
Symbol - A variable…

key concepts

OpenVMS Linux Comment
SYS$MANAGER:SYLOGIN.COM /etc/bashrc
SYS$LOGIN:LOGIN.COM ${HOME}/.bashrc
CTRL/Y CTRL+C when writing a command and you have a mistake, cancel the input (similar to sqlplus and CTRL+C)
CTRL/Z CTRL+C Similar but on a interactive input prompt (running a cmd in interactive input mode)
! # comment delimiter
% nothing here Error message delimiter
^-(.*) nothing here Continue a message. For example 1st line begin with % and 2nd line with -

Error levels

alpha numeric level
-S- 1 Success
-I- 3 INFO
-W- 0 Warning
-E- 2 Error
-F- 4 SEVERE

Programming

More or less

Symbols (Variables)

Creation Description
SYMBOLNAME = <value> Creates a local symbol (string or integer)
SYMBOLNAME == <value> Creates a global symbol (string or integer)
SYMBOLNAME := <value> Creates a local STRING symbol
SYMBOLNAME :== <value> Creates a global STRING symbol
DELETE/SYMBOL SYMBOLNAME Destroy local variableSYMBOLNAME
DELETE/SYMBOL/GLOBAL SYMBOLNAME Destroy global variable SYMBOLNAME
SHOW SYMBOL SYMBOLNAME Show content of the variable SYMBOLNAME

Aliases through symbols

Create an alias EDT' with a frequently used command: <code DCL> EDT :== EDIT/EDT/COMMAND=SYS$LOGIN:EDTINI.DDT </code> Replace a command with the command you want: <code DCL> PRINT :== PRINT/NOBURST/NOFLAG/NOTRAILER/NOTIFY </code> This will replace the command PRINT with PRINT/NOBURST/NOFLAG/NOTRAILER/NOTIFY everytime you launch it. ===== Operations with symbols ===== ==== Arithmetic operations (integers) ==== <code DCL> $ APPLES = 10 $ SHOW SYMBOL APPLES APPLES = 10 Hex = 0000000A Octal = 00000000012 $ APPLES = 2 * (4+5) $ SHOW SYMBOL APPLES APPLES = 18 Hex … $ ORANGES = 15 $ TOTALFRUIT = APPLES + ORANGES $ SHOW SYMBOL TOTALFRUIT TOTAL_FRUIT = 33 </code> === List of operations === ^ Operation ^ | + | | - | | * | | / | ==== String operations ==== <code DCL> $ APPLES = “Apples” $ SHOW SYMBOL APPLES APPLES = “Apples” $ FRUIT = “Oranges and ” + APPLES $ SHOW SYMBOL FRUIT FRUIT = “Oranges and Apples” </code> ==== Using subshells in commands ==== Sub-shell is invoqued with 2 SINGLE QUOTES+VARIABLE+1 SINGLE QUOTE, for examples: <code DCL> $ FILETYPE = “login.com” $ TYPEIT = “TYPE filename'” $ SHOW SYMBOL TYPEIT

"TYPE login.com"

</code>

Take care with string usage :=

What works and what not (as a sub-shell):

  • Works:
$ FILETYPE := "login.com"
$ TYPEIT := "TYPE ''filename'"
$ SHOW SYMBOL TYPEIT
  "TYPE login.com"
  • DON'T Work (as a literal) <code DCL> $ FILETYPE := “login.com” $ TYPEIT := “TYPE” + filename $ SHOW SYMBOL TYPEIT “TYPE FILENAME” </code>

In the other hand, without forcing string assignment

Both are assigned as a variable:

$ FILETYPE = "login.com"
$ TYPEIT = "TYPE ''filename'"
$ SHOW SYMBOL TYPEIT
  "TYPE login.com"
$ FILETYPE = "login.com"
$ TYPEIT = "TYPE" +  filename
$ SHOW SYMBOL TYPEIT
  "TYPE login.com"

Startup

Show available boot devices

show device

boot from device

boot [DEVICE]

ex:

boot DKA0

Login

root is SYSTEM:

 Welcome to OpenVMS (TM) Alpha Operating System, Version V8.3
 
Username: SYSTEM
Password:

Logout

LOGOUT
LOGOUT/FULL

Basic Commands

df

SHOW DEVICE SYS$SYSDEVICE

See system parameters

To check the values of your system parameters, enter the following command:

RUN SYS$SYSTEM:SYSGEN

And then under SYSGEN> prompt, you can list parameters, for example:

SHOW WSMAX

Show system pagelets

WRITE SYS$OUTPUT F$GETSYI("CONTIG_GBLPAGES")

Show free pagelets

WRITE SYS$OUTPUT F$GETSYI("FREE_GBLSECTS")

Generate more pagelets

AUTOGEN

Find how many pagelets are used by EXE

In this case DCLTABLES.EXE

DIRECTORY/SIZE SYS$LIBRARY:DCLTABLES.EXE

System config

change system config

You have to edit:

SYS$SYSTEM:MODPARAMS.DAT

Still don't know how to edit…

update system parameters and reboot

@SYS$UPDATE:AUTOGEN GETDATA REBOOT

Change dynamic parameters using SYSGEN

Run SYSGEN

RUN SYS$SYSTEM:SYSGEN

SYSGEN: Modify parameter

And (example):

SYSGEN> USE ACTIVE
SYSGEN> SET GBLPAGES 100000
SYSGEN> WRITE ACTIVE
SYSGEN> EXIT

SYSGEN: List all parameters

SHOW /ALL

empty

 
openvms/openvms-cheatsheet.1688198969.txt.gz · Last modified: 2023/07/01 08:09 by dodger