OpenVMS Undocumented Features
This is the most complete collection of undocumented features we can find for OpenVMS. Some of these have been around since the time when it was called VMS while others are more current and have been added to OpenVMS V8.n. These features:
- Are NOT documented (if they were, they wouldn't belong here)
- Are NOT supported by PARSEC Group or HP
- Are NOT guaranteed to work
- May NOT exist in all versions of OpenVMS; past, present and future
- Are subject to change, removal, enhancement or being documented at the whim of OpenVMS engineering
- May be fun to know the next time you play OpenVMS trivial pursuit
- May help you get your job done easier and faster
- May help you impress your boss with your knowledge of the obscure
Analyzing BACKUP save-sets
Adding the /ANALYZE qualifier to the BACKUP /LIST command causes BACKUP to provide a structural dump of the save set.
$ backup login.com login.bck/save
$ backup /list /analyze login.bck /save
Listing of save set(s)
Block header
SIZE = 256
OPSYS = 2048
SUBSYS = 1
APPLIC = 1
NUMBER = 1
STRUCLEV = 0101
VOLNUM = 1
CRC = 7362C94D
BLOCKSIZE = 32256
NOCRC = False
SSNAME = "LOGIN.BCK"
FID = 0,0,0
DID = 0,0,0
FILENAME = ""
ATTRIB = 0000000000000000
FILESIZE = 0
Record header
RSIZE = 176 = %X'00B0'
RTYPE = SUMMARY (1)
FLAGS = %X'00000000'
ADDRESS = 0
BLOCKFLAGS = %X'0000'
STRUCLEV = 0101
SIZE = 9, TYPE = SSNAME
"LOGIN.BCK"
SIZE = 31, TYPE = COMMAND
"BACKUP LOGIN.COM LOGIN.BCK/SAVE"
SIZE = 12, TYPE = USERNAME
"WILLIAMS "
SIZE = 4, TYPE = USERUIC
[7,6]
SIZE = 8, TYPE = DATE
7-MAR-2007 22:54:00.04
SIZE = 2, TYPE = OPSYS
0800
SIZE = 4, TYPE = SYSVER
"V8.3"
SIZE = 9, TYPE = NODENAME
"_CLASS2::"
SIZE = 4, TYPE = SIR
80000000
SIZE = 12, TYPE = DRIVEID
"_$22$DKA300:"
SIZE = 4, TYPE = BACKVER
"V8.3"
SIZE = 4, TYPE = BLOCKSIZE
32256
SIZE = 2, TYPE = XORSIZE
10
SIZE = 2, TYPE = BUFFERS
1238
Record header
RSIZE = 256 = %X'0100'
RTYPE = FILE (3)
FLAGS = %X'00000000'
ADDRESS = 0
BLOCKFLAGS = %X'0000'
STRUCLEV = 0101
SIZE = 22, TYPE = FILENAME
"[WILLIAMS]LOGIN.COM;55"
SIZE = 2, TYPE = STRUCLEV
0201
SIZE = 6, TYPE = FID
28639,3,1
SIZE = 4, TYPE = FILESIZE
35
SIZE = 4, TYPE = UIC
[7,6]
SIZE = 32, TYPE = RECATTR
0000000000000000000000000000000000000168000400000023000000590202
SIZE = 6, TYPE = BACKLINK
19429,3,0
SIZE = 2, TYPE = FPRO
System:RWED, Owner:RWED, Group:RE, World:
SIZE = 2, TYPE = RPRO
System:RWUD, Owner:RWUD, Group:RWUD, World:RWUD
SIZE = 1, TYPE = ACLEVEL
00
SIZE = 4, TYPE = UCHAR
00000300
SIZE = 2, TYPE = VERLIMIT
32767
SIZE = 1, TYPE = JNL_FLAGS
00
SIZE = 1, TYPE = RU_ACTIVE
00
SIZE = 4, TYPE = HIGHWATER
5
SIZE = 2, TYPE = REVISION
1
SIZE = 8, TYPE = CREDATE
23-JAN-2007 16:40:36.66
SIZE = 8, TYPE = REVDATE
23-JAN-2007 16:40:36.72
SIZE = 8, TYPE = EXPDATE
17-NOV-1858 00:00:00.00
SIZE = 8, TYPE = BAKDATE
17-NOV-1858 00:00:00.00
SIZE = 4, TYPE = DIR_UIC
[7,6]
SIZE = 2, TYPE = DIR_FPRO
System:RWE, Owner:RWE, Group:RE, World:E
SIZE = 2, TYPE = DIR_VERLIM
32767
SIZE = 12, TYPE = ACLSEGMENT
(IDENTIFIER=[5,12],ACCESS=NONE)
Record header
RSIZE = 2048 = %X'0800'
RTYPE = VBN (4)
FLAGS = %X'00000000'
ADDRESS = 1
BLOCKFLAGS = %X'0000'
Record header
RSIZE = 256 = %X'0100'
RTYPE = FILE (3)
FLAGS = %X'00000000'
ADDRESS = 0
BLOCKFLAGS = %X'0000'
STRUCLEV = 0101
SIZE = 22, TYPE = FILENAME
"[WILLIAMS]LOGIN.COM;54"
SIZE = 2, TYPE = STRUCLEV
0201
SIZE = 6, TYPE = FID
20021,1,1
SIZE = 4, TYPE = FILESIZE
35
SIZE = 4, TYPE = UIC
[7,6]
SIZE = 32, TYPE = RECATTR
00000000000000000000000000000000000001E2000400000023000000590202
SIZE = 6, TYPE = BACKLINK
19429,3,0
SIZE = 2, TYPE = FPRO
System:RWED, Owner:RWED, Group:RE, World:
SIZE = 2, TYPE = RPRO
System:RWUD, Owner:RWUD, Group:RWUD, World:RWUD
SIZE = 1, TYPE = ACLEVEL
00
SIZE = 4, TYPE = UCHAR
00000300
SIZE = 2, TYPE = VERLIMIT
32767
SIZE = 1, TYPE = JNL_FLAGS
00
SIZE = 1, TYPE = RU_ACTIVE
00
SIZE = 4, TYPE = HIGHWATER
5
SIZE = 2, TYPE = REVISION
1
SIZE = 8, TYPE = CREDATE
2-OCT-2006 11:21:13.80
SIZE = 8, TYPE = REVDATE
2-OCT-2006 11:21:13.84
SIZE = 8, TYPE = EXPDATE
17-NOV-1858 00:00:00.00
SIZE = 8, TYPE = BAKDATE
17-NOV-2006 09:58:24.85
SIZE = 4, TYPE = DIR_UIC
[7,6]
SIZE = 2, TYPE = DIR_FPRO
System:RWE, Owner:RWE, Group:RE, World:E
SIZE = 2, TYPE = DIR_VERLIM
32767
SIZE = 12, TYPE = ACLSEGMENT
(IDENTIFIER=[5,12],ACCESS=NONE)
Record header
RSIZE = 2048 = %X'0800'
RTYPE = VBN (4)
FLAGS = %X'00000000'
ADDRESS = 1
BLOCKFLAGS = %X'0000'
Record header
RSIZE = 27120 = %X'69F0'
RTYPE = NULL (0)
FLAGS = %X'00000000'
ADDRESS = 0
BLOCKFLAGS = %X'0000'
End of save set
RADCHECK Utility
The RADCHECK utility may be used on RAD (Resource Affinity Domain) based systems to get or change information about how OpenVMS is handling RADs. The utility resides in the SYS$TEST directory and provides some help when provided the ? or "help" parameter.
$ mcr sys$test:radcheck ?
This program checks the locality of memory on an OpenVMS system.
You can specify that you want it to check a particular process, or
you can specify all process pages, all system pages, or all global pages.
This same program can also give information about RAD-based process
scheduling. Specify 'sched' as the first argument to switch to this mode
Usage:
? or -help Print this message including general informative info
sched Switch to scheduler mode. Say 'radcheck sched help' for more.
What page tables to look at:
-allprocs Search pages belonging to all processes
-noprocs Do not search pages belonging to processes
-(no)system (Do not) search the system page tables
-(no)global (Do not) search the process global page table*
Summary switches:
-all Turn on all the above switches. Can be followed by turn-off
commands
-none Turn off all the above switches. Can be followed by turn-on
commands
Modifiers:
-process n Search pages belonging to the process specified by process ID n
(0=this process)
-pid n Identical to -process n
-sysrad n For -system, look at replicated system pages from RAD n
(-2=pick a RAD, -1=do nothing special)
-timeout n For async process operations, give up after waiting n seconds
Default switches: -all -sysrad -2 -timeout 30
*Note: The global page table display counts each global page once regardless of
how many processes may be mapping it. The process displays count a
global page once for each time it is mapped.
Please enjoy these features at your own risk. If you are aware of other features in OpenVMS which are currently undocumented, you may use our inquiry form to inform us. We may then add it to our list.