Welcome to agent.idle's Open VMS tutorial. This is the first thread of many that I will post on OpenVMS fundamentals. I will split threads into chapter-like sections for easier reading/searching. As time permits I will add sections. This first thread will begin with Chapter 1.

[glowpurple]Section 1 - Getting Access to an OpenVMS System

A - User's Environment Overview

i - Open VMS Systems and Networks
ii - VMS Clusters

B - Logging in to the System

C - Changing Your Password

D - Logging Out of the System

E - Loggin in to a Remote System

i - Syntax
ii - Ending a Remote Session
iii - Keeping a Log from Your Remote Session[/glowpurple]


[gloworange]A - User's Environment Overview[/gloworange]


This is Digital's CISC (conventional instruction set computer). It is a 32-bit computer that can run the OpenVMS or Digital UNIX operating systems.


This is Digital's RISC (reduced instruction set computer). It is a high-speed 64-bit computer that can run the OpenVMS, Digital UNIX, or Microsoft Windows NT operating systems.

Open VMS

This is a multiuser, multitasking general-purpose operating system.

[gloworange]i - Open VMS Systems and Networks[/gloworange]

As with any network, the use of protocols is necessary for exchanging data from system to system. In OpenVMS there are two main network protocols used:


I will not go into details on the protocols now. You can find references to them on google or some other search engine (maybe later if I have time I'll post info about these if they aren't already somewhere else in the forums).

[gloworange]ii - VMS Clusters[/gloworange]

A cluster is basically a bunch of systems tied together that function as a single unit. This allows them to share resources, data and queues. Users can then access these shared items once they have logged in to the system.

[gloworange]B - Logging In to the System[/gloworange]

As with most operating systems, a user account is necessary to login to the system. This is usually set up by a system administrator and contains both a username and password. Usernames consist of 1 - 12 characters, are unique and are case INSENSITIVE . Passwords are assigned by the system administrator and can later be changed by the user. They can contain up to 32 legal characters (alphanumeric, dollar signs ($), hyphens and underscores).

When you log in to the system you're prompted in the following manner:

username: (you enter your username here...it is case insensitive)
password: (it is not echoed for security reasons)

If you enter your password incorrectly it will display an authorization failure message and then prompt you through the process again. Most systems are set up to give you 5 tries and then a period of time (designated by the administrator) must pass before you are allowed to make another attempt. For those who would trying breaking into a VMS system...when a user logs on, they are given a message that tells how many failed login attempts were made since they're last successful login. This makes using brute force hacking attempts dangerous on VMS (not that anyone here would do such a thing )

Once you are logged in an interactive process is started for the user. A process is the basic entity that is created so users can work on the system (all work on an Open VMS system is done in the context of a process). Your account is then granted privileges and resource quotas to accomplish your work. Once you see a $ prompt you are in your default directory and know that the system is now ready to take commands from you. This type of system uses DCL (Digital Command Language) which I will go into later.

[gloworange]C - Changing Your Password[/gloworange]

Changing your password is very simple in a VMS environment. There are various reasons you may need to change your passowrd. The most common reason is that your password is nearing an expiry date. This is a time set up by your administrator. When you are nearing your expiry date you will receive a warning message explaining that your password will expire by a certain date. If you wait until your password has actually expired, you will be forced to change it before you are allowed to log in.

When you do decide to change your password you simply type set password at the $ prompt. You will be asked for your old password, your new password and a verification (your new password again). That's it. Of course, you do have certain guidelines to follow, which are the same as any operating system. There is usually a password dictionary that is present on the system that will stop you from picking easy passwords etc. Also, VMS is defaulted to only allow user passwords between 6 and 32 characters, so choosing one outside of those boundaries will result in the following error message:

%SET-F_INVPWDLEN, password length must be between 6 and 32 characters;
password not changed

In this case (or any password change errors), you simply type set password again at the prompt and try again.

One feature that is nice about VMS is that you can have the system generate a password for you. You type set password/generate. You then type in your old password when prompted. The system will now display five random passwords for you. If you do not like any of them you can hit return/enter and five new ones will be displayed. Once you see one you like simply enter it in the new password prompt and again at the verification prompt.

[gloworange]D - Logging Out of the System[/gloworange]

Logging out is preferred when you are finished your work. This will free system resources as it destroys the interactive process that was created when you logged in. To logout you type logout at the prompt. If you want accounting information about the use you made of the system, this can be done by typing logout/full instead. You will be given the following information:

Buffered I/O count
Direct I/O count
Page faults
Charged CPU time
Elapsed time
Peak working set size
Peak virtual size
Mounted volumes

[gloworange]E - Logging In to a Remote System[/gloworange]

The system you are logged in to is also known as the local system. You can use the local system to connect to another system in the network with the set host command. The other system, called the remote system, will respond with the Username prompt. You must have an account on the remote system to log in. After you have logged in an interactive process is established in the same way as it is on the local system. (You are still logged in to your local system at this time, but your commands will go to the remote system and will be masked from the local system).

[gloworange]i - Syntax[/gloworange]

$ set host nodename

There must be a network connection between the local and the remote system. You also need network software running on both systems to make a remote connection. By default, the set host command uses DECnet software.

It is also possible to use other network software:

$ set host/telnet nodename

This uses TCP/IP sofware to make the connection.

[gloworange]ii - Ending a Remote Session[/gloworange]

To end your remote session you can type either logout or exit. Do not type set host again (with your local system node as the parameter) as this will open a second session on your local system.

[gloworange]iii - Keeping a Log from Yoour Remote Session[/gloworange]

This is a rather useful option, as it captures all screen output (including commands you type) and stores it in a log file. As an example, when I first started working with VMS one of my co-workers with a lot of experience performed a restore from an old Alpha tape system for me. This can be a tedious task when you're talking about finding a single file that can be stored on one tape out of over 800 (yes we do many backups every day where I work). You have to search through backup journals, find the correct tape and save set and also which node, disk and directory the file came from. Needless to say I was lost when I was trying to do this the first few times. He simply did a restore with me, logging everything he typed and that was output to the screen. This made it easier for me to do subsequent restores because I had essentialy a tutorial to follow along. (I've since created a job that does most of the work for you and brings up simple prompts to input info to help you find the file...but anyway).

To create a log of your session you would simply type the following:

$ set host/log nodename

This will create a text file named sethost.log which you can later rename to whatever floats your boat. You can also use this file for later review, editing or printing.


Well that's it for chapter 1. I will create a new thread shortly with chapter 2 which will cover DCL commands. The chapter will look at DCL command syntax, getting help and system messages.