openvms hobbyist notes
This page contains a small compilation of notes and job aids for various OpenVMS administrative tasks, posted both to provide a reminder to me as well as to potentially provide assistance to other OpenVMS hobbyists. Enjoy!
Uninstall DECnet-Plus and replace with DECnet Phase IV
If you just performed a fresh installation of OpenVMS on a machine and meant to install DECnet Phase IV but installed DECnet Plus instead, no worries! Just follow the procedure below.
1. Have the DECnet Phase IV kit ready, either on a CD-ROM connected to the system with the release disc inserted, or a copy of the installation archive on disk.
2. Log in as SYSTEM and type:
PRODUCT REMOVE
3. Select "DECnet OSI" or whatever similar-sounding option appears in the menu. It should be pretty clear which option corresponds to DECnet Plus.
4. Let it go to work and remove DECnet. It shouldn't take too long, no more than a few minutes on my 4000/VLC or 3100/76.
5. Once PRODUCT REMOVE has completed, just go ahead and install DECnet Phase IV:
PRODUCT INSTALL DECNET_PHASE_IV /SOURCE=DKAXXX:[...DECNET_PHASE_IV_VAX073.KIT]
6. Reboot the system:
@SYS$SYSTEM:SHUTDOWN
7. Once the system comes back up, configure DECnet Phase IV:
@SYS$MANAGER:NETCONFIG
8. Edit SYS$STARTUP:SYSTARTUP_VMS.COM and uncomment the line that looks something like the following:
START /NETWORK DECNET
9. Reboot the system once more for good measure to complete the DECnet version swap.
@SYS$SYSTEM:SHUTDOWN
Note 1: If you are running both TCP/IP and DECnet on the system concurrently, ensure the system starts TCP/IP before starting DECnet because DECnet rewrites the system MAC address in the process of starting and this will confuse TCP/IP if it is already running.
Note 2: If you have multiple nodes in your DECnet network, you'll need to add them to the DECnet "hosts file" using NCP before you can resolve them by name. For example, to add node MYVAX with DECnet address 1.2:
$ RUN SYS$SYSTEM:NCP
NCP> DEFINE MYVAX AREA.NODE
NCP> SET MYVAX AREA.NODE
NCP> EXIT
INTSTKPAGES for TCP/IP Services
To run TCP/IP Services, the default value of the INTSTKPAGES system parameter after a fresh installation must be increased. Use the following procedure.
1. Edit the file SYS$SYSTEM:MODPARAMS.DAT and add a line as follows:
INTSTKPAGES=16
2. Run AUTOGEN
$ @SYS$UPDATE:AUTOGEN GETDATA REBOOT NOFEEDBACK
3. Once the system comes back up, TCP/IP Services should start without any problems, so long as the INTSTKPAGES parameter is set to at least 12. If further issues, perform further system parameter modification as documented in the next section below.
Global Pagelets and Global Sections for TCP/IP Services
In addition to INTSTKPAGES, there are a few other system parameters that need to be modified up from their default values in a fresh installation. Use the following procedure.
1. Edit the SYS$SYSTEM:MODPARAMS.DAT file and add lines as follows. I have used these parameters with good results on KA650, KA655, 3100/76 and 4000/VLC:
ADD_GBLPAGES=10000
ADD_GBLSECTIONS=100
ADD_NPAGEDYN=800000
ADD_NPAGEVIR=800000
MIN_SPTREQ=6000
2. Run AUTOGEN:
$ @SYS$SYSTEM:AUTOGEN GENPARAMS REBOOT
3. If AUTOGEN does not automatically trigger a reboot, do it manually:
$ @SYS$SYSTEM:SHUTDOWN
Once the system comes back up, it should be able to start TCP/IP Services with no problems.
Configuring VMScluster
Configuring VMScluster is actually very simple. While logged in as SYSTEM just run:
$ @SYS$COMMON:[SYSMGR]CLUSTER_CONFIG.COM
Increasing the size of PAGEFILE, SWAPFILE and DUMPFILE
To run larger jobs and accommodate more users, it may be required to increase the size of the pagefile and swapfile from the default values that were automatically calculated at system installation time. Just follow the simple procedure below.
1. Run the SWAPFILES command procedure:
$ @SYS$UPDATE:SWAPFILES.COM
2. The existing sizes of the swapfile, pagefile and dumpfile will be displayed. Enter the desired new sizes for the three files when prompted by the script.
3. Once SWAPFILES.COM has finished running, edit SYS$SYSTEM:MODPARAMS.DAT and add confguration to be consistent with what was specified in SWAPFILES.COM:
PAGEFILE1_SIZE=100000
SWAPFILE1_SIZE=30000
DUMPFILE=50000
4. Save and close. Do not run AUTOGEN (not required).
5. Reboot the system.
$ @SYS$SYSTEM:SHUTDOWN
6. Once the system comes back up, log in and make sure the new file sizes have taken effect:
$ SHOW MEMORY
Resolving %LIB-E-INSVIRMEM
Resolving %CLI-F-TEXT, Compiler abort - virtual memory limits exceeded
Both of these error messages relate to the VIRTUALPAGECNT system parameter which may need to be increased from the default value to run larger jobs or accommodate larger numbers of users. Edit SYS$SYSTEM:MODPARAMS.DAT and ensure the parameter is set:
MIN_VIRTUALPAGECNT=400000
A slightly more severe variation on this theme would be to use instead something like:
VIRTUALPAGECNT=400000
The following commands can be used to stat a few parameters relating to virtual memory utilization which may be useful in diagnosing this issue:
WRITE SYS$OUTPUT "WSEXTENT ",F$GETJPI("","WSEXTENT")
WRITE SYS$OUTPUT "PGFLQUOTA ",F$GETJPI("","PGFLQUOTA")
Increasing PGFLQUOTA for a user account
1. Run the user accounts management utility:
$ @SYS$SYSTEM:AUTHORIZE
2. Show current settings for the account in question. Look for the "Pgflquo":
SHOW 
3. Modify the user account to increase the quota:
MODIFY  /PGFLQUOTA=100000
Building Lynx on OpenVMS AXP
The following entries in SYS$SYSTEM:MODPARAMS.DAT seem to give sufficient headroom to allow Lynx to be built from source:
ADD_GBLPAGES=100000
ADD_GBLSECTIONS=5000
ADD_NPAGEDYN=1000000
ADD_NPAGEVIR=1000000
MIN_VIRTUALPAGECNT=1000000
PAGEFILE1_SIZE=250000
SWAPFILE1_SIZE=50000
DUMPFILE=200000
home