From - Sun Mar 19 19:52:43 2000 Path: reader4.news.rcn.net!feed1.news.rcn.net!rcn!netnews.com!newsfeed.berkeley.edu!newsfeed.stanford.edu!paloalto-snf1.gtei.net!news.gtei.net!newsgate.tandem.com!mailint03.im.hou.compaq.com!not-for-mail From: hoffman@xdelta.zko.dec.nospam (Hoff Hoffman) Newsgroups: comp.os.vms,comp.sys.dec,vmsnet.alpha,vmsnet.misc,comp.answers,news.answers Subject: OpenVMS Frequently Asked Questions (FAQ), Part 2/3 Followup-To: poster Date: 18 Mar 2000 01:57:57 GMT Organization: Compaq Computer Corporation Lines: 1934 Approved: news-answers-request@mit.edu Distribution: world Expires: 17 August 2000 00:00:00 GMT Message-ID: <8aunr5$s0p$2@mailint03.im.hou.compaq.com> References: <8aunn5$s0p$1@mailint03.im.hou.compaq.com> Reply-To: hoffman@xdelta.zko.dec.nospam NNTP-Posting-Host: xdelta.zko.dec.com X-Trace: mailint03.im.hou.compaq.com 953344677 28697 16.32.80.251 (18 Mar 2000 01:57:57 GMT) X-Complaints-To: usenet@mailint03.im.hou.compaq.com NNTP-Posting-Date: 18 Mar 2000 01:57:57 GMT Summary: This posting contains answers to frequently asked questions about the OpenVMS operating system from Compaq Computer Corporation, and the computer systems on which it runs. Supercedes: <8568k0$h32$1@mailint03.im.hou.compaq.com> Xref: reader4.news.rcn.net comp.os.vms:265896 comp.sys.dec:85609 vmsnet.alpha:10302 vmsnet.misc:6510 comp.answers:40705 news.answers:181417 Archive-name: dec-faq/vms/part2 Posting-Frequency: monthly Last-modified: 17 March 2000 Version: VMS-FAQ-2.TXT(4) Overview ======== This is part 2/4 of the Frequently Asked Questions (FAQ) posting for the comp.os.vms and vmsnet.misc newsgroups. (comp.os.vms is bidirectionally-gatewayed to the INFO-VAX mailing list - see INTRO3 for further details.) It contains answers to frequently asked questions about Compaq's OpenVMS operating system and the computer systems on which it runs. (Please see INTRO5 before posting.) The OpenVMS FAQ is archived in the following locations: http://www.openvms.digital.com/wizard/openvms_faq.html ftp://ftp.digital.com/pub/Digital/dec-faq/OpenVMS.txt ftp://ftp.digital.com/pub/Digital/dec-faq/vms ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms comp.answers and news.answers newsgroups Other internet FAQs are generally available in these locations: comp.answers and news.answers newsgroups ftp://rtfm.mit.edu/pub/usenet/... User-created HTML versions of the OpenVMS FAQ are located at: http://www.kjsl.com/vmsfaq http://eisner.decus.org/vms/faq.htm Please do NOT send technical questions to the Frequently Asked Questions (FAQ) editor -- well, please do not email any questions that do not also include the answer(s). Please post these questions to the appropriate newsgroup instead -- and see INTRO5 before posting. To make suggestions for changes or additions to this FAQ list, please send mail to the FAQ editor at hoffman@xdelta.zko.dec.com. Again, the FAQ editor is *not* in a position to answer general questions. Some general notes: The term "VMS" is synonymous with "OpenVMS". "Alpha", "AlphaGeneration" or "AXP" generally refers to any system or product based on or related to Compaq's Alpha processor architecture. OpenVMS manual names mentioned are those as of V7.2 -- names may be different in other editions of the documentation set. World-Wide Web Universal Resource Locator (URL) notation is used for FTP addresses. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the comp.os.vms newsgroup. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. Although the editor of this FAQ is an employee of Compaq Computer Corporation, this posting is not an official statement of Compaq. AlphaGeneration, AlphaServer, AlphaStation, Alpha AXP, AXP, DEC, DECstation, DECsystem, OpenVMS, ULTRIX, VAX and VMS are trademarks of Compaq. Compaq and the names of Compaq products are trademarks and/or registered trademarks and/or service marks of Compaq Computer Corporation. OSF/1 is a registered trademark of the Open Software Foundation. UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Ltd. Other names are properties of their respective owners. Table of Contents - Part 2/4 ____________________________ System Management ======================================== MGMT1. What is an installed image? MGMT2. Are there any known viruses for OpenVMS? MGMT3. How do I mount an ISO-9660 CD on OpenVMS? MGMT4. How do I extract the contents of a PCSI kit? MGMT5. I've forgotten the SYSTEM password - what can I do? MGMT6. How do I connect a PostScript printer via TCP/IP? MGMT7. Why can't I do a SET TIME command? Help managing DTSS? MGMT8. How do I change the timezone differential and time in batch? MGMT9. How do I change the node name of an OpenVMS System? MGMT10. What is the correct value for EXPECTED_VOTES in a VMScluster? MGMT11. Why doesn't OpenVMS see the new memory I just added? MGMT12. How do I write a BACKUP saveset to a remote tape? MGMT13. Tell me about SET HOST/DUP and SET HOST/HSC MGMT14. How do I install DECnet Phase IV on VMS 7.1? MGMT15. How do I change the text in a user's UIC identifier? MGMT16. What are the OpenVMS version upgrade paths? MGMT17. Why do I have negative number in the pagefile reservable pages? MGMT18. Do I have to update layered products when updating OpenVMS? MGMT19. How do I change the volume label of a disk? MGMT20. How do I fix a corrupt BACKUP saveset? MGMT21. How can I set up a shared directory? MGMT22. Why does my system halt when I power-cycle the console terminal? MGMT23. Why do I get extra blank pages on my HP Printer? MGMT24. How do I configure ELSA GLoria Synergy graphics on OpenVMS? MGMT25. How do I acquire OpenVMS patches, fixes, and ECOs? MGMT26. How do I rename a DSSI disk (or tape?) MGMT27. How do I move the queue manager database? MGMT28. How do I set a default IP route or gateway on OpenVMS? MGMT29. How do I switch between AlphaBIOS/ARC and SRM consoles? MGMT30. How do I delete an undeletable/unstoppable (RWAST) process? MGMT31. How do I reset the error count(s)? MGMT32. How do I find out if the tape drive supports compression? MGMT33. Can I copy SYSUAF to another version? To VAX? To Alpha? MGMT34. How do I delete (timeout) idle processes? MGMT35. Why isn't BACKUP/SINCE=BACKUP working? MGMT36. How can I set up reverse telnet (like reverse LAT)? MGMT37. Do I need a PAK for the DECevent (Compaq Analyze) tool? MAIL ======================================== MAIL1. How do I send Internet mail? MAIL2. How do I get IN% or MX% added automatically to Internet addresses? MAIL3. How do I automatically append a signature file to my mail messages? MAIL4. Do I have to use VMS MAIL? I like my Unix mailer better. MAIL5. How can I forward my mail? Can I forward it to an Internet address? MAIL6. How can I forward my mail to a list of addresses? MAIL7. MAIL keeps saying I have new messages, but I don't. What do I do? MAIL8. How do I extract all of my mail messages to a file? MAIL9. How do I send or read attachments in VMS MAIL? ------------------------------------------------------------ MGMT1. What is an installed image? The term "install" has two distinct meanings in OpenVMS. The first relates to "installing a product", which is done with either the SYS$UPDATE:VMSINSTAL.COM command procedure or the POLYCENTER Software Installation (PCSI) utility (PRODUCT command). The second meaning relates to the use of the INSTALL utility, which is what concerns us here. The INSTALL utility is used to identify to OpenVMS a specific copy of an image, either executable or shareable, which is to be given some set of enhanced properties. For example, when you issue the SET PASSWORD command, the image SYS$SYSTEM:SETP0.EXE is run. That image needs to have elevated privileges to perform its function. The other important attribute is /SHARED. This means that shareable parts of the image (typically read-only code and data) are loaded into memory only once and are shared among all users on a system. Executable images can be installed /SHARED as well as shareable library images. (The term "shareable" has dual meanings here, too. See the OpenVMS Programming Concepts Manual for further details.) It's important to note that there is no such thing as "installing a shareable image with privileges". The INSTALL utility will let you do it, but the privileges you specify will be ignored. To have a callable routine run with enhanced privileges that are not available to its caller, you must construct your routines as "user-written system services" and install the shareable image with the /PROTECT qualifier. See the OpenVMS Programming Concepts Manual for more information on user-written system services. Note also that in many cases the need to grant privileges to an image can be replaced with the use of the "Protected Subsystems" feature that grants a rights identifier to an image. See the OpenVMS Guide to System Security for information on Protected Subsystems. ------------------------------------------------------------ MGMT2. Are there any known viruses for OpenVMS? Viruses are very common on PCs because the PC operating systems such as MS-DOS and MacOS do not implement any sort of scheme to protect the operating system or the file system against hostile action by programs. On these operating systems, any running program can subvert the operating system and take over the hardware, at which point it can do anything it wishes, including hiding copies of itself in other programs or in the file system. This is unlikely on OpenVMS, Unix, and MVS for three reasons. First, the operating system runs in a privileged mode in memory that is protected against modification by normal user programs. Any old program cannot take over the hardware as it can on PC operating systems. Secondly, OpenVMS, Unix, and MVS have file systems that can be set up so that non-privileged programs cannot modify system programs and files on disk. Both of these protection schemes mean that traditional PC virus schemes don't work on these OSes. Third, typical applications and configurations tend to prevent the uncontrolled execution of untrusted code as part of email messages or web access. It is possible for OpenVMS, etc., to be infected by viruses, but to do so, the program containing the virus must be run from a user account that has amplified privileges. As long as the system administrator is careful that only trusted applications are run from such accounts (and this is generally the case), there is no danger from viruses. [Paul Winalski] [Stephen Hoffman] To protect against viruses and other attempts at system interference or misuse, follow the recommendations in the "OpenVMS Guide to System Security". You may also want to consider optional software products which can monitor your system for intrusion or infection attempts. Computer Associates (CA) offers various products in this area. Rocksoft offers the Veracity data integrity tool (for info, send mail to demo@rocksoft.com). [Contributions to this list welcomed] ------------------------------------------------------------ MGMT3. How do I mount an ISO-9660 CD on OpenVMS? ISO-9660 support was added in the following releases: OpenVMS VAX V6.0 OpenVMS AXP V1.5 An add-on ISO-9960 kit was also available for OpenVMS VAX V5.5, V5.5-1, V5.5-2, and V5.5-2H4. This requires the installation of the F11CD kit from the InfoServer CD, from the Consolidated Distribution CD under the InfoServer area, Customer Support Center kit CSCPAT #1071012, or the F11CD ECO kit. (Upgrades to V6 and later are strongly recommended.) By default, OpenVMS senses the specific type of media. If you are working with dual-format media -- media that uses both the ODS-2 and ISO-9660 formats on the same CD-ROM -- then MOUNT will first detect and then default to the ODS-2 format. If you wish to override this and explicitly mount the media using ISO-9660, use the command: $ MOUNT/MEDIA_FORMAT=CDROM device-name[:] [volume-label] In most circumstances, you will not need nor will you want to include an explicit /MEDIA_FORMAT specification. For further information, please refer to the OpenVMS MOUNT Utility Manual. Particularly note the information on the MOUNT /MEDIA_FORMAT and /UNDEFINED_FAT qualifiers. The MOUNT /UNDEFINED_FAT qualifier is of interest because ISO-9660 media can be mastered on a wide variety of operating system platforms, and these platforms do not necessarily support the semantics needed for files containing predefined record formats. The /UNDEFINED_FAT allows you to specify the default attributes for files accessed from volumes using the ISO-9660 format. An example which works for most CD-ROMs is: $ MOUNT/MEDIA_FORMAT=CDROM/UNDEFINED_FAT=STREAM:2048 DUA0: FREEWARE This particular MOUNT command forces access to the CD-ROM media using the ISO-9660 volume structure, and the use of the MOUNT /UNDEFINED_FAT qualifier causes any file whose file attributes are "undefined" to be returned with "stream" attributes with a maximum record length 2048. On OpenVMS, the ISO-9660 format is (internally) considered to be the ODS-3 file structure, while the High Sierra extensions to the standard are considered to be the ODS-4 file structure. The Rock Ridge extensions are not currently available on OpenVMS. [Jim Dunham] [Stephen Hoffman] ------------------------------------------------------------ MGMT4. How do I extract the contents of a PCSI kit? A growing number of OpenVMS products are being provided in PCSI (POLYCENTER Software Installation) kits which are installed using the PRODUCT INSTALL command. These are alternatives to or replacement for VMSINSTAL kits which were BACKUP savesets. PCSI kits are not BACKUP savesets and are structured differently from VMSINSTAL kits. If you want to extract product files from a PCSI kit, create a directory into which the kit should be expanded and use the following command: $ PRODUCT COPY prodname /SOURCE=[where-the-kit-is] - /DEST=[destination-directory] /FORMAT=REFERENCE A PCSI kit file has a file specification of the following form: DEC-VAXVMS-FORTRAN-V0603-141-1.PCSI In this example, "FORTRAN" is the "prodname". PCSI will expand the kit files into the directory you specify and subdirectories beneath such as [SYSEXE], [SYSLIB], etc., reflecting the eventual destination of files found there. Most of the actual product files (images, etc.) will be in the subdirectories. In the top-level directory will be a file with the file type PCSI$DESCRIPTION that specifies where various files should go. For more details, see the POLYCENTER Software Installation Developer's Guide for OpenVMS, which can be found in the OpenVMS documentation on the Consolidated Online Documentation CD-ROM. ------------------------------------------------------------ MGMT5. I've forgotten the SYSTEM password - what can I do? If you need to break into an OpenVMS system because you do not have access to any privileged passwords, such as the password to the SYSTEM username, you will need physical access to the system console, and you will need to perform a conversational reboot. Here are the steps: 1. Halt the system. Exactly how this is done depends on the specific system model: Depending on the model, this can involve pressing the button, entering on the console, or pressing the key on the console. 2. At the >>> console prompt, use a console command to boot into the SYSBOOT> utility. (SYSBOOT allows conversational changes to system parameters.) The syntax for the conversational bootstrap varies by system model -- this typically involves specifying a flag of 1, for example: VAX: B/1 B/R5:1 @GENBOO Alpha: b -flags 0,1 If your system has a non-zero system root (such as root SYSE, shown here), you will have to use a console command such as the following: VAX: B/E0000001 B/R5:E0000001 @ Alpha: b -flags e,1 If your system has a hardware password (various systems support a password that prevents unauthorized access to the console), you will need to know theis password and will need to enter it using the LOGIN command at the console. If you get an "Inv Cmd" error trying to perform a conversational bootstrap, and you do not have the hardware console password for the console LOGIN command, you are stuck -- you will need to call for hardware service in order to reset the hardware console password. The syntax used for the console password mechanism varies. 3. Once at the SYSBOOT> prompt, request that OpenVMS read the system startup commands directly from the system console, that the window system (if any) not be started, and that OpenVMS not record these particular parameter changes for subsequent system reboots: SET/STARTUP OPA0: SET WINDOWSYSTEM 0 SET WRITESYSPARAMS 0 CONTINUE 4. At the $ prompt, the system will now be accepting startup commands directly from the console. Type the following two DCL commands: SPAWN @SYS$SYSTEM:STARTUP The result of these two commands will be the normal system startup, but you will be left logged in on the console, running under a privileged username. Without the use of the SPAWN command, you would be logged out when the startup completes. If necessary, you can skip the invocation of the system startup temporarily, and perform tasks such as egistering license PAKs or various other "single-user" maintenance operations. 5. Use the following commands to reset the SYSTEM password: SET DEFAULT SYS$SYSTEM: ! or wherever SYSUAF.DAT resides RUN SYS$SYSTEM:AUTHORIZE MODIFY SYSTEM /PASSWORD=newpassword EXIT These steps will change the SYSTEM password to the specified new newpassword password value. Reboot the system normally -- the SYSTEM password should now be set to the value you specified in Step 5. Some people will suggest a method using the UAFALTERNATE SYSGEN parameter. This approach is not always reliable and is not recommended, as there can easily be an alternate user authorization file configured on the system. For further information on emergency startup and shutdown, as well as for the official OpenVMS documentation on how to change the SYSTEM password from the console in an emergency, please see the OpenVMS System Manager's Manual in the OpenVMS documentation set. You can also use the conversational bootstrap technique shown above (the steps through Step 3) to alter various system parameters. At the SYSBOOT> prompt, you can enter new parameters values: SHOW MAXPROCESSCNT SET . 64 CONTINUE The "." is a shorthand notation used for the last parameter examined. [Stephen Hoffman] ------------------------------------------------------------ MGMT6. How do I connect a PostScript printer via TCP/IP? Using UCX as the TCP/IP stack, it is possible to setup queues using the UCX$TELNETSYM in order to print to postscript printers. This assumes however that the printer itself can convert whatever is passed to it into something intelligible. As an example, if the printer has an IP address of 123.456.789.101 and jobs should be passed to port 9100 then : $ INITIALIZE/QUEUE/ON="123.456.789.101:9100"/PROCESSOR=UCX$TELNETSYM - my_ip_queue The port number of 9100 is typical of HP JetDirect cards but may be different for other manufacturers cards. As a better alternative, DCPS Version 1.4 and later support IP queues using either Compaq TCP/IP Services for OpenVMS software or Cisco Multinet for OpenVMS. The usage of this type of interface is documented in the Release Notes and the DCPS$STARTUP.TEMPLATE file. [Steve Reece] [Arne Vajhøj] ------------------------------------------------------------ MGMT7. Why can't I do a SET TIME command? Help managing DTSS? If you try to set the system time with the SET TIME command, and see one of the following messages: %SET-E-NOTSET, error modifying time -SYSTEM-F-IVSSRQ, invalid system service request %SET-E-NOTSET, error modifying time -SYSTEM-E-TIMENOTSET, time service enabled; enter a time service command to update the time A: This occurs if the time on the local system is controlled by a time service software, for example the distributed time service software (DTSS) provided as part of the DECnet/OSI installation. The DTSS software communicates with one or more time servers to obtain the current time. It entirely controls the local system time (for DECnet/OSI, there is a process named DTSS$CLERK for this); therefore, the usage of the SET TIME command (and the underlying $SETTIM system service) is disabled. The first message is displayed on systems running DECnet/OSI V6.1 and earlier. On systems with newer DECnet/OSI (DECnet-Plus) software, the second (and more informative) message is given. You shouldn't have to change the time manually - you should be doing this through the time server - but if you insist... you'll have to shutdown DTSS: $ MCR NCL NCL> DISABLE DTSS NCL> DELETE DTSS This will shutdown DTSS$CLERK. You may then change the system time as usual. To restart the DTSS software, type @SYS$STARTUP:DTSS$STARTUP You'll need a lot of privs : (CMKRNL,SYSPRV,OPER,SYSNAM,PRMMBX,NETMBX,LOG_IO, ALTPRI) and must be granted the NET$MANAGE identifer to shutdown and restart DTSS. [bol@adv.magwien.gv.at] If you wish to "permanently" disable DTSS on a system running DECnet-Plus, the above NCL sequence must be performed each time the system is bootstrapped. If DTSS is running and no time servers are configured, you can (and will) see the following messages at regular intervals: %%%%%%%%%%% OPCOM 2-SEP-1999 19:41:20.29 %%%%%%%%%%% Message from user SYSTEM on UNHEDI Event: Too Few Servers Detected from: Node LOCAL:.mynode DTSS, at: 1999-09-02-19:41:20.296-04:00Iinf Number Detected=0, Number Required=1 eventUid 5FA70F4F-616E-11D3-A80E-08002BBEDB0F entityUid DE9E97DE-6135-11D3-8004-AA000400BD1B streamUid D6513A46-6135-11D3-8003-AA000400BD1B You can either configure the appropriate number of time servers, or you can disable DTSS, or you can ignore it and (if OPCOM is set to write to the log via via the logical names in SYLOGICALS.COM/SYLOGICALS.TEMPLATE) clean out OPERATOR.LOG regularly. You can also simply disable the display of these messages: $ mcr ncl block event dispatcher outbound stream local_stream global filter - ((Node, DTSS), Too Few Servers Detected) [Wayne Sewell] ------------------------------------------------------------ MGMT8. How do I change the timezone differential and time in batch? To change the timezone differential and the time when the change to/from Daylight Saving Time (DST) occurs, use SYS$MANAGER:UTC$CONFIGURE_TDF.COM. To use this as batch job, please note: P1 = SET, set the time. P2 = signed timezone differential from UTC in minutes. -360 for standard time (for Chicago) -300 for DST (for Chicago) P3 = signed time change in minutes. If +, enclose in quotes. -60 to go from DST to standard time "+60" to go from standard time to DST Going from standard time to DST (for Chicago): $ SUBMIT/AFTER="+02:00" SYS$MANAGER:UTC$CONFIGURE_TDF - /PAR=(SET,-300,"+60") Going from DST to standard time (for Chicago): $ SUBMIT/AFTER="+02:00" SYS$MANAGER:UTC$CONFIGURE_TDF - /PAR=(SET,-360,-60) If you use this com file interactively, the times are given as signed hour:minute, so that -360 minutes is given as -6:00. Before and after the com file runs, check the system time and the logical SYS$TIMEZONE_DIFFERENTIAL. The logical has the offset from UTC in seconds. Current DST rules for some countries: 1. United States and Canada: DST begins on the first Sunday of April (2am => 3am) DST ends on the last Sunday of October (2am => 1am) 2. UK, France, Germany, Spain: DST begins on the last Sunday of March (2am => 3am) DST ends on the last Sunday of October (3am => 2am) 3. Australia: DST begins on the last Sunday of October (2am => 3am) DST ends on the last Sunday of March (2am => 1am) 4. Singapore: No DST change [Dale Dellutri] ------------------------------------------------------------ MGMT9. How do I change the node name of an OpenVMS System? The first step is to get a BACKUP of the system disk before making any changes -- use the system disk backup procedures as documented in the OpenVMS System Management Manual, making sure to use the procedures and commands appropriate for the system disk. Changing the node name involves a number of steps -- the node name tends to be imbedded in a number of different data files around the system. Update the SCSNODE in MODPARAMS.DAT, and then run AUTOGEN as far as the SETPARAMS phase. (Do not reboot yet.) Modify the DECnet node name. (NETCONFIG is the DECnet Phase IV tool, and NET$CONFIGURE is the DECnet-Plus tool.) Modify the IP node name. (The UCX tool is UCX$CONFIG.) Modify the host node name on the various queues in the queue database. (each queue has a host name, and it defaults to the SCS node name of the queue's host system. See the command INIT/QUEUE/ON=node for information.) Modify the node name saved in any application databases, or any local node-conditional operations present in the site-specific system startup, etc. (SEARCH for the node name, specifying all types of files.) Rename the SYS$NODE_oldnodename rightslist identifier to match the new name. (Do not change the binary value of this identifier.) Reset any license PAKs that are restricted to the old node name to the new node name. If the node name is part of a disk volume label, see MGMT19. Reboot the node or -- if in a VMScluster -- reboot the whole VMScluster. (This tends to catch any errors immediately.) There are likely a few other areas where the nodename will be stored. If the system is configured in a VMScluster and you change *either* the SCSNODE or the SCSSYSTEMID -- but *not* both values -- then you will have to reboot the entire VMScluster. (The VMScluster remembers the mapping between these two values, and will assume that a configuration problem has occured if a mismatched pair appears, and will refuse to let a node with a mismatched pair join the VMScluster.) To calculate the correct SCSSYSTEMID value, multiply the DECnet Phase IV area number by 1024, and add the DECnet Phase IV node number. For example, the SCSSYSTEMID value for a DECnet node with address 19.22 is 19478. ((19 * 1024) + 22 = 19478) I expect I may have missed one or two configuration tools (or more!) that are needed at your site -- the node name tends to get stored all over the place, in layered products, and in local software... [Stephen Hoffman] ------------------------------------------------------------ MGMT10. What is the correct value for EXPECTED_VOTES in a VMScluster? The VMScluster connection manager uses the concept of votes and quorum to prevent disk and memory data corruptions -- when sufficient votes are present for quorum, then access to resources is permitted. When sufficient votes are not present, user activity will be blocked. The act of blocking user activity is called a "quorum hang", and is better thought of as a "user data integrity interlock". This mechanism is designed to prevent a partitioned VMScluster, and the resultant massive disk data corruptions. On each OpenVMS node in a VMScluster, one sets two values in SYSGEN: VOTES, and EXPECTED_VOTES. The former is how many votes the node contributes to the VMScluster. The latter is the total number of votes expected when the full VMScluster is bootstrapped. Some sites erroneously attempt to set EXPECTED_VOTES too low, believing this will allow when only a subset of voting nodes are present in a VMScluster. It does not. Further, an erroneous setting in EXPECTED_VOTES is automatically corrected once VMScluster connections to other nodes are established, meaning user data is at risk of severe corruption only during the initial system bootstrap. One can operate a VMScluster with one, two, or many voting nodes. With any but the two-node configuration, keeping a subset of the nodes active when some nodes fail can be easily configured. With the two-node configuration, one must use a primary-secondary configuration (where the primary has all the votes), a peer configuration (where when either node is down, the other hangs), or (preferable) a shared quorum disk. Use of a quorum disk does slow down VMScluster transitions somewhat -- the addition of a third voting node that contributes the vote(s) that would be assigned to the quorum disk makes for faster transitions -- but the use of a quorum disk does mean that either node in a two-node VMScluster configuration can operate when the other node is down. In a two-node VMScluster with a shared storage interconnect, typically each node has one vote, and the quorum disk also has one vote. EXPECTED_VOTES is set to three. Using a quorum disk on a non-shared interconnect is unnecessary -- the use of a quorum disk does not provide any value, and the votes assigned to the quorum disk should be assigned to the OpenVMS host serving access to the disk. For information on quorum hangs, see the OpenVMS documentation. For information on changing the EXPECTED_VOTES value on a running system, see the SET CLUSTER/EXPECTED_VOTES command, and see the OpenVMS system console documentation for the processor-specific console commands used to trigger the IPC (Interrrupt Priority Level %x0C; IPL C) handler. The IPC handler can be used to clear a quorum hang, and to clear disk mount verification hangs. The quorum scheme is a set of "blade guards" deliberately implemented by OpenVMS Engineering to provide data integrity -- remove these blade guards at your peril. OpenVMS Engineering did not implement the quorum mechanism to make your life more difficult -- quorum was implemented to keep your data from getting scrambled. [Stephen Hoffman] ------------------------------------------------------------ MGMT11. Why doesn't OpenVMS see the new memory I just added? When adding memory to an OpenVMS system, one should check for an existing definition of the PHYSICALPAGES (OpenVMS VAX) or PHYSICAL_MEMORY (OpenVMS Alpha) parameter in the SYS$SYSTEM:MODPARAMS.DAT parameter database, use a text editor to reset the value in the file to the new correct value as required, and then perform the following command: $ @SYS$UPDATE:AUTOGEN GETDATA REBOOT FEEDBACK This AUTOGEN command will reset various system parameters based on recent system usage (FEEDBACK), and it will reset the value for the PHYSICALPAGES parameter to the new value. It will also reboot the OpenVMS system. PHYSICALPAGES and PHYSICAL_MEMORY can also be used to deliberately lower the amount of memory available for use by OpenVMS. This ability can be useful in a few specific circumstances, such as testing the behaviour of an application in a system environment with a particular (lower) amount of system memory available. PHYSICALPAGES and PHYSICAL_MEMORY can be set to -1, to indicate that all available memory should be used. [Stephen Hoffman] ------------------------------------------------------------ MGMT12. How do I write a BACKUP saveset to a remote tape? How to do this correctly was described at DECUS a long time ago. On the node with the tape drive, create SAVE-SET.FDL: RECORD FORMAT fixed SIZE 8192 Then create BACKUP_SERVER.COM: $ ! $ ! BACKUP_SERVER.COM - provide remote tape service for BACKUP. $ ! $ set noon $ set rms/network=16 $ allocate mka500 tapedev $ mount/nounload/over:id/block=8192/assist tapedev $ convert/fdl=SAVE-SET sys$net tapedev:save-set. $ dismount/unload tapedev $ stop/id=0 On the node where you want to do the backup, use the DCL command: $ backup - srcfilespec - node"user pwd"::"task=backup_server"/block=8192/save The only thing that doesn't completely work here is multi-reel savesets. Since the tape is being written through RMS and the magtape ACP, BACKUP won't see the reel switch and will split an XOR group across the reel boundary. As far as I remember, BACKUP will be willing to read such a multi-reel save set (directly, not over the net) since the XOR blocks are simply ignored on read, but it definitely wouldn't be able to do a recovery across the reel boundary. Unfortunately BACKUP can't read tapes over the network because the RMS file attributes on a network task access look wrong (variable length records). [Stephen Hoffman] ------------------------------------------------------------ MGMT13. Tell me about SET HOST/DUP and SET HOST/HSC The OpenVMS DCL commands SET HOST/DUP and SET HOST/HSC are used to connect to storage controllers via the Diagnostics and Utility Protocol (DUP). These commands require that the FYDRIVER device driver be connected. This device driver connection is typically performed by adding the following command(s) into the system startup command procedure: On OpenVMS Alpha: $ RUN SYS$SYSTEM:SYSMAN SYSMAN> IO CONNECT FYA0/NOADAPTER/DRIVER=SYS$FYDRIVER On OpenVMS VAX: $ RUN SYS$SYSTEM:SYSGEN SYSGEN> CONNECT FYA0/NOADAPTER Alternatives to the DCL SET HOST/DUP command include the console >>> SET HOST command available on various mid- to recent-vintage VAX consoles: Access to Parameters on an Embedded DSSI controller: >>> SET HOST/DUP/DSSI[/BUS:{0:1}] dssi_node_number PARAMS Access to Directory of tools on an Embedded DSSI controller: >>> SET HOST/DUP/DSSI[/BUS:{0:1}] dssi_node_number DIRECT Access to Parameters on a KFQSA DSSI controller: >>> SHOW UQSSP ! to get port_controller_number PARAMS >>> SET HOST/DUP/UQSSP port_controller_number PARAMS These console commands are available on most MicroVAX and VAXstation 3xxx series systems, and most (all?) VAX 4xxx series systems. For further information, see the system documentation and -- on most VAX systems -- see the console HELP text. EK-410AB-MG, _DSSI VAXcluster Installation and Troubleshooting_, is a good resource for setting up a DSSI VMScluster on OpenVMS VAX nodes. (This manual predates coverage of OpenVMS Alpha systems, but gives good coverage to all hardware and software aspects of setting up a DSSI-based VMScluster -- and most of the concepts covered are directly applicable to OpenVMS Alpha systems. This manual specifically covers the hardware, which is something not covered by the standard OpenVMS VMScluster documentation.) [Stephen Hoffman] ------------------------------------------------------------ MGMT14. How do I install DECnet Phase IV on VMS 7.1? On OpenVMS V7.1, all DECnet binaries were relocated into separate installation kits -- you can selectively install the appropriate network: DECnet-Plus (formerly known as DECnet OSI), DECnet Phase IV, and Compaq TCP/IP Services (often known as UCX). On OpenVMS versions prior to V7.1, DECnet Phase IV was integrated, and there was no installation question. You had to install the DECnet-Plus (DECnet OSI) package on the system, after the OpenVMS upgrade or installation completed. During an OpenVMS V7.1 installation or upgrade, the installation procedure will query you to learn if DECnet-Plus should be installed. If you are upgrading to V7.1 from an earlier release or are installing V7.1 from a distribution kit, simply answer "NO" to the question asking you if you want DECnet-Plus. Then -- after the OpenVMS upgrade or installation completes -- use the PCSI PRODUCT INSTALL command to install the DECnet Phase IV binaries from the kit provided on the OpenVMS software distribution kit. If you already have DECnet-Plus installed and wish to revert, you must reconfigure OpenVMS. You cannot reconfigure the "live" system, hence you must reboot the system using the V7.1 distribution CD-ROM. Then select the DCL ($$$ prompt) option. Then issue the commands: $$$ DEFINE/SYSTEM PCSI$SYSDEVICE DKA0: $$$ DEVINE/STSTEM PCSI$SPECIFIC DKA0:[SYS0.] $$$ PRODUCT RECONFIGURE VMS /REMOTE/SOURCE=DKA0:[VMS$COMMON] The above commands assume that the target system device and system root are "DKA0:[SYS0.]". Replace this with the actual target device and root, as appropriate. The RECONFIGURE command will then issue a series of prompts. You will want to reconfigure DECnet-Plus off the system, obviously. You will then want to use the PCSI command PRODUCT INSTALL to install the DECnet Phase IV kit from the OpenVMS distribution media. Information on DECnet support, and on the kit names, is included in the OpenVMS V7.1 installation and upgrade documentation. [Stephen Hoffman] ------------------------------------------------------------ MGMT15. How do I change the text in a user's UIC identifier? The text translations of the numeric User Identification Code (UIC) are based on identifiers present in the OpenVMS rightslist. Documentation on this area is included in the _Guide to OpenVMS System Security_ manual. To control the identifiers shown for a user's UIC, you use AUTHORIZE. Each user has an associated group identifier, and an identifier specific to the user. And each user should have a unique UIC. To alter the text of a user or group identifier, use commands such as: $ RUN SYS$SYSTEM:AUTHORIZE UAF> rename/ident oldgroupid newgroupid UAF> rename/ident olduserid newuserid If you should find yourself missing an identifier for a particular user, you can add one for the user's UIC using a command such as: UAF> add/ident/value=uic=[group,user] newuserid The UIC user identifier text is assigned when the username is created, and is the text of the username. The UIC group group identifier is assigned when the first username is created in the UIC group, and the text is based on the account name specified for the first user created in the group. The value of this identifier is [groupnumber, 177777]. To add a missing group identifier, use an asterisk as follows: UAF> add/ident/value=uic=[group,*] newgroupid You may find cases where an identifier is missing from time to time, as there are cases where the creation of a UIC group name identifier might conflict with an existing username, or a user identifier might conflict with an existing group identifier. When these conflicts arise, the AUTHORIZE utility will not create the conflicting group and/or user identifier when the username is created. You can can add and remove user-specified identifiers, but you should avoid changing the numeric values associated with any existing identifiers. You should also avoid reusing UICs or identifiers when you add new users, as any existing identifiers that might be present on objects in the system from the old user will grant the same access to the new user. Please see the security manual for details. ------------------------------------------------------------ MGMT16. What are the OpenVMS version upgrade paths? Note: See "OpenVMS Alpha Terminology" section, below. OpenVMS Alpha release upgrade (or update) paths: From V1.0, one can upgrade to V1.5. From V1.5, or V1.5-1H1, one can upgrade to V6.1. From V6.1, one can upgrade to V6.2. From V6.1, or V6.2, one can upgrade to V7.0. From V6.1, V6.2, V6.2-1H(1,2,3), or V7.0, one can upgrade to V7.1. From V6.2, one can update to V6.2-1H1, V6.2-1H2, or V6.2-1H3. From V6.2, V6.2-1H(1,2,3), V7.1, V7.1-1H(1,2), or V7.2, one can upgrade to V7.2-1 From V7.1, one can update to V7.1-1H(1,2), V7.1-2, V7.2, V7.2-1 Some typical OpenVMS Alpha upgrade (or update) paths are: V1.0 -> V1.5 -> V6.1 -> (V6.2, V7.0, V7.1, V7.2) V1.5-1H1 -> V6.1 -> (V6.2, V7.0, V7.1, V7.2) V6.1 -> V7.2 V6.2 -> V6.2-1H3 V6.2 -> V7.2-1 V6.2-1H(1,2,3) -> V7.1 V6.2-1H(1,2,3) -> V7.2-1 V7.1 -> V7.1-1H(1,2) V7.1 -> V7.1-2 V7.1 -> V7.2-1 V7.1-1H(1,2) -> V7.2-1 Note that OpenVMS Alpha V7.0 does not include support for hardware and/or configurations first supported in OpenVMS Alpha V6.2-1H1, V6.2-1H2, or V6.2-1H3; one must upgrade to OpenVMS VAX V7.1. One cannot update directly to a V6.2-1Hx Limited Hardware Release (LHR) from any release prior to the baseline V6.2 release. The same prohibition holds for performing updates directly to V7.1-1Hx from any release prior to V7.1 -- this is not supported, and does not produce the expected results. The LHR kits can, however, be directly booted and can be directly installed, without regard to any operating system that might be present on the target disk. OpenVMS Alpha updates for LHRs (through V7.1-1Hx) require the use of VMSINSTAL for the update. These LHR releases use PCSI for the installation, but not for the update. Non-LHR releases use PCSI for installs and upgrades. OpenVMS Alpha V7.1-2 and later use PCSI for LHRs and for OpenVMS upgrades and for all OpenVMS ECO kit installations. VMSINSTAL OpenVMS ECO kits are not used on OpenVMS Alpha V7.1-2 and later. Prior to V7.1-2, VMSINSTAL-based ECO kits are used for OpenVMS. OpenVMS VAX release upgrade paths: From V5.0 through V5.4-3 inclusive, one can upgrade to V5.5. From V5.5, V5.5-1, or V5.5-2HW, one can upgrade to V5.5-2. From V5.5, V5.5-1, or V5.5-2, one can upgrade to V6.0. From V5.5-2, V5.5-2H4, or V6.0, one can upgrade to V6.1. From V6.0, or V6.1, one can upgrade to V6.2. From V6.1, or V6.2, one can upgrade to V7.0. From V6.1, V6.2, or V7.0, one can upgrade to V7.1. From V6.1, one can upgrade to V7.2 (with VAXBACK ECO for V6.1). Some typical OpenVMS VAX upgrade paths are: V5.x -> V5.5 -> V6.0 -> V6.2 -> (V7.0, or V7.1) V5.5-2HW -> V5.5-2 V5.5-2, or V5.5-2H4 -> V6.1 -> (V6.2, V7.0, or V7.1) V6.1 -> VAXBACK V6.1 ECO -> V7.2 V6.2 -> V7.2 Note that OpenVMS VAX V6.0 does not include support for hardware and/or configurations first added in OpenVMS VAX V5.5-2H4, one must upgrade to OpenVMS VAX V6.1. Note that OpenVMS VAX V5.5-2HW is a pre-release version of V5.5-2. Any system running it should be upgraded to V5.5-2, or later. OpenVMS Cluster Rolling Upgrades: Rolling Upgrades require multiple system disks. Rolling upgrades permit the OpenVMS Cluster to remain available while individual systems are being upgraded to a new OpenVMS release. OpenVMS Cluster rolling upgrades for both OpenVMS VAX and OpenVMS Alpha may (will) have different, or additional upgrade requirements, and have requirements around which versions of OpenVMS can coexist in a OpenVMS Cluster than what is listed here. See the _OpenVMS Version Upgrade and Installation Manual_, and the OpenVMS Software Product Descriptions http://www.digital.com/info/SPHOME/ for further details on the rolling upgrade, and for support information. The documentation for older releases of OpenVMS VAX includes various platform-specific manuals, manuals that include instructions that are specific to installing and upgrading on the platform. OpenVMS and Layered Products -- Support Information: For information on Prior Version Support and Mature Product Support (including information on support end dates for OpenVMS and various layered products), please see: http://www.compaq.com/services/software/ss_mature.html For information on supported versions of layered products, and minimum required layered product versions, see: http://www.openvms.digital.com/openvms/os/swroll/index.html For information on the release history of OpenVMS, including information on the code names of various releases and the major features: http://www.openvms.digital.com/openvms/os/openvms-release-history.html Additional release history information, as well as a variety of other trivia, is available in the VAX 20th anniversary book: http://www.openvms.digital.com/openvms/20th/vmsbook.pdf OpenVMS Alpha Terminology: update: Typically used for Limited Hardware Releases (LHR) releases. Performed via VMSINSTAL. Applies only to the OpenVMS release that the LHR is based on, or to an intermediate LHR. (eg: V7.1-1H2 applies only to V7.1-1H1 and to V7.1, not to any other releases.) LHRs within a series are cumulative, containing all files and features of previous LHRs in the same series. upgrade: Performed via PCSI. Upgrades can typically be applied to a release-specific (and documented) range of prior OpenVMS releases. install: Performed via PCSI. With an installation, no existing version of the operating system is assumed present, nor are any files from any copy of the operating system might be present preserved, and the entire contents of the target disk are destroyed via a disk initialization. preserve: Performed via PCSI. Otherwise similar to an installation, this option skips the disk reinitialization. User files on the target disk are preserved. Any existing operating system files on the target disk are clobbered. LHR: Limited Hardware Release. LHRs are specific to and are targeted at new hardware configurations, and are not shipped to customers with support contracts. At least one LHR kit must be specifically acquired when purchasing new hardware, new hardware that is not (yet) supported by any mainline (non-LHR) release. LHRs have an "H" in the OpenVMS version string, indicating a "Hardware" release. For minimum OpenVMS versions for various platforms, see VMS13. ------------------------------------------------------------ MGMT17. Why do I have negative number in the pagefile reservable pages? Seeing a negative number in the reservable pages portion of the SHOW MEMORY/FULL command can be normal and expected, and is (even) documented behaviour. A pagefile with a negative number of reservable pages is overcommitted, which is generally goodness assuming that every process with reserved pages does not try to occupy all of the reserved pagefile space at the same time. To understand how the pagefile reservation process works, think about how a traditional bank operates when accepting customer deposits and making loans. It's the same idea with the pagefile space. There is less money in the bank vault than the total deposits, because much of the money has been loaned out to other customers of the bank. And the behaviour parallels that of the pagefile down to the problems that a "run on the bank" can cause for banking customers. (Though there is no deposit insurance available for pagefile users.) If all of the running applications try to use the reserved space, the system manager will need to enlarge the pagefile or add one or more additional pagefules. To determine if the pagefile is excessively overcommitted, watch for "double overcommitment" -- when the reservable space approaches the negatation of the available total space -- and watch that the total amount of free space available in the pagefile remains adequate. If either of these situations arises, additional pagefile storage is required. Additional pagefile information: Additional pagefiles can typically be created and connected on a running OpenVMS system. New processes and new applications will tend to use the new pagefile, and existing applications can be restarted to migrate out of the more congested pagefiles. Pagefiles are generally named PAGEFILE.SYS, and multiple pagefiles are generally configured on separate disk spindles to spread the paging I/O load across the available disk storage. When multiple pagefiles are present on recent OpenVMS versions, each pagefile file should be configured to be approximately the same total size as the other pagefiles. For additional information on pagefile operations and related commands, see the system management and performance management manuals in the OpenVMS documentation set. [Stephen Hoffman] ------------------------------------------------------------ MGMT18. Do I have to update layered products when updating OpenVMS? The Software Public Rollout Reports for OpenVMS list the current and future availability of Compaq's software products shipping on the Software Products Library kits (CDROM consolidations) for OpenVMS Alpha and OpenVMS VAX. Specifically, the required minimum versions for product support are listed. Comprehensive Public Rollout Information, listing previous product versions as well as currently shipping versions, has been compiled into a separate set of reports. The product information is grouped to show Operating System support. You may or may not be able to use older versions of local applications, third-party products, and various Compaq layered products with more recent versions of OpenVMS. User-mode code is expected to be upward compatible. Code executing in a privileged processor mode -- typically either executive or kernel mode -- may or may not be compatible with more recent OpenVMS versions. These reports are updated monthly. Please see: http://www.openvms.digital.com/openvms/os/swroll/index.html [Stephen Hoffman] ------------------------------------------------------------ MGMT19. How do I change the volume label of a disk? Dismount the disk, and mount it privately. If the disk is mounted by more than one node in an OpenVMS Cluster, dismount it from all other nodes. If this disk is an OpenVMS system disk, shut down all other nodes that are bootstrapped from this disk. Issue the SET VOLUME/LABEL command, specifying the new label. On OpenVMS V6.0 and later, issue the following PCSI command: $ PRODUCT REGISTER VOLUME To reset the label information stored in the PCSI database to reflect the new disk volume label. Locate any references in the system startup (typically including the disk MOUNT commands) and any DISK$label references in application files, and change the references appropriately. If this is a system disk (for the host or for a satellite), also check the DECnet MOP or LANCP boot database, as well as any references to the disk created by CLUSTER_CONFIG*.COM. Remount the disk appropriately. [Stephen Hoffman] [John E. Malmberg] ------------------------------------------------------------ MGMT20. How do I fix a corrupt BACKUP saveset? BACKUP savesets can be corrupted by FTP file transfers and by tools such as zip (particularly when the zip tool has not been asked to save and restore OpenVMS file attributes or when it does not support OpenVMS file attributes), as well as via other means of corruptions. If you have problems with the BACKUP savesets after unzipping them or after an FTP file transfer, you can try restoring the appropriate saveset attributes using the tool: $ @RESET_BACKUP_SAVESET_ATTRIBUTES.COM This tool is available on the OpenVMS Freeware (in the [000TOOLS] directory). The Freeware is available at various sites -- see the Freeware location listings elsewhere in the FAQ -- and other similar tools are also available from various sources. In various cases (note that not all savesets use the default record size!), the following command might work: $ SET FILE/ATTRIBUTES=(RFM:FIX,MRS:32256,LRL:32256,RAT:NONE) file.bck Also see the "SITE VMS", /FDL, and various other file-attributes options available in various FTP tools. (Not all available FTP tools support any or all of these options.) Browser downloads (via FTP) and incorrect (binary or ascii FTP transfer modes) are notorious for causing RMS file corruptions. You can sometimes help encourage the browser to select the correct FTP transfer type code via RFC1738: ftp://host/url?type=binary [Stephen Hoffman] ------------------------------------------------------------ MGMT21. How can I set up a shared directory? To set up a shared directory -- where all files created in the directory are accessable to the members of specified group of users -- you can use an access control list (ACL) and an identifier. The following also shows how to set up a resource identifier, which further allows the disk resources to be charged to the specified identifier rather than each individual user. (If you don't want this, then omit the attributes option on the identifier creation and omit the entry added in the disk quota database. Add an identifier using AUTHORIZE: ADD/IDENTIFER/ATTRIBUTES=RESOURCE groupidentifier Grant the identifier to each user in the group using AUTHORIZE: GRANT/IDENTIFIER groupidentifier username If disk quotas are in use, add an entry via SYSMAN for each disk: DISKQUOTA ADD groupidentifier/PERMQUOTA=pq/OVERDRAFT=od/DEVICE=ddcu: Set the shared directory to have an ACL similar to the following using the SET SECURITY (V6.0 and later) or SET ACL (versions prior to V6.0) command: (DEFAULT_PROTECTION,S:RWED,O:RWED,G,W) (IDENTIFIER=groupidentifier,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE+DELETE) (IDENTIFIER=groupidentifier,ACCESS=READ+WRITE+EXECUTE+DELETE) (CREATOR,ACCESS=READ+WRITE+ACCESS+DELETE) If there are files already resident in the directory, set their protections similarly. (The OPTIONS=DEFAULT, DEFAULT_PROTECTION, and CREATOR ACEs apply to directories.) The default protection mask is used to establish the default file protection mask, this mask does not prevent the users holding the specified groupidentifier from accessing the file(s), as they can access the file via the explicit identifier granting access that is present in the ACL. For further information, see the OpenVMS Guide to System Security Manual, specifically the sections on ACLs and identifiers, and resource identifiers. ------------------------------------------------------------ MGMT22. Why does my system halt when I power-cycle the console terminal? Power-cycling serial line equipment -- either a host controller or a serial terminal -- can and often does generate a serial line framing error until the power stabilizes. A serial line framing error on the console serial line is indistiguishable from the BREAK signal that is used to HALT many OpenVMS systems. Also see MGMT5. [Stephen Hoffman] ------------------------------------------------------------ MGMT23. Why do I get extra blank pages on my HP Printer? For information on configuring telnet print symbiont, on device control libraries such as SYSDEVCTL.TLB, and for ways of dealing with the extra blank pages that can arise on various HP printers, please see the OpenVMS Ask The Wizard area, starting particularly with topic 1020: http://www.openvms.digital.com/wizard/ http://www.openvms.digital.com/wizard/wiz_1020.html There are a variety of discussions of this and of related printing topics in the Ask The Wizard area. [Stephen Hoffman] ------------------------------------------------------------ MGMT24. How do I configure ELSA GLoria Synergy graphics on OpenVMS? The ELSA GLoria Synergy is the PBXGK-BB. On OpenVMS Alpha V7.1-2 and V7.2, acquire the appropriate GRAPHICS PCSI kit, and all prerequisite OpenVMS ECO kits: VMS72_GRAPHICS-V0100 or later VMS712_GRAPHICS-V0100 or later On OpenVMS Alpha V7.2-1, the files necessary for this graphics controller are located in the distribution CD-ROM directory: DISK$ALPHA0721:[ELSA.KIT] Also check for any available (later) ECO kits. An earlier kit (ALP4D20T01_071) (for V7.1, V7.1-1H1, and V7.1-1H2) was once available, but has been superceded and is not recommended. Use of V7.1-2 or later (and use of one the above GRAPHICS kits as required) is typically the best approach. [Stephen Hoffman] ------------------------------------------------------------ MGMT25. How do I acquire OpenVMS patches, fixes, and ECOs? You can acquire and download kits containing OpenVMS fixes (ECOs) for various releases via: http://search.service.digital.com/ ftp://ftp.service.digital.com/public/vms/ http://ftp.digital.com.au/pub/ecoinfo http://ftp/digital.com.au/cgi-bin/grep You can subscribe to an email notification list at: http://www.service.digital.com/patches/mailing-list.html A quarterly distribution is also available on CD-ROM: QT-3CQAA-C8 OpenVMS Alpha QT-3CRAA-C8 OpenVMS VAX For information on ECO checksums and MD5, see: http://www1.service.digital.com/svctools/decevent/md5-instructions.html [Stephen Hoffman] ------------------------------------------------------------ MGMT26. How do I rename a DSSI disk (or tape?) If you want to renumber or rename DSSI disks or DSSI tapes, it's easy -- if you know the secret incantation... From OpenVMS: $ RUN SYS$SYSTEM:SYSGEN SYSGEN> CONNECT FYA0/NOADAPTER SYSGEN> ^Z $ SET HOST/DUP/SERV=MSCP$DUP/TASK=PARAMS ... PARAMS> STAT CONF PARAMS> EXIT ... From the console on most 3000- and 4000-class VAX system consoles... (Obviously, the system must be halted for these commands...) Integrated DSSI: >>> SET HOST/DUP/DSSI[/BUS:[0:1]] dssi_node_number PARAMS KFQSA: >>> SET HOST/DUP/UQSSP port_controller_number PARAMS For information on how to get out into the PARAMS subsystem, also see the >>> HELP at the console prompt for the SET HOST syntax, or see the HELP on SET HOST /DUP (once you've connected FYDRIVER under OpenVMS). Once you are out into the PARAMS subsystem, you can use the FORCEUNI option to force the use of the UNITNUM value and then set a unique UNITNUM inside each DSSI ISE -- this causes each DSSI ISE to use the specfied unit number and not use the DSSI node as the unit number. Other parameters of interest are NODENAME and ALLCLASS, the node name and the (disk or tape) cluster allocation class. Ensure that all disk unit numbers used within an OpenVMS Cluster disk allocation class are unique, and all tape unit numbers used within an OpenVMS Cluster tape allocation class are also unique. [Stephen Hoffman] ------------------------------------------------------------ MGMT27. How do I move the queue manager database? To move the location of the queue database, the SYS$QUEUE_MANAGER.QMAN$QUEUES and SYS$QUEUE_MANAGER.QMAN$JOURNAL files, to a disk that is fast(er), has plenty of free space, and that is not heavily used. If the queue database is on a (busy) OpenVMS system disk, you can and probably should move it off the system disk to another disk spindle. To move the queue database: 0. Checkpoint the journal file. This reduces the file size to the in-memory database size. This will cause the noted delay. $ mcr JBC$COMMAND JBC$COMMAND> DIAG 0 7 1. Stop the queue manager $STOP/QUEUE/MANAGER/CLUSTER 2. Backup the .QMAN$QUEUES and .QMAN$JOURNAL files from the present location for safety. $ backup SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$* DISK:[DIR] 3. Create a new directory for the queue database. Insure that this disk is accessible to all nodes that can run the queue manager. If the /ON list for the queue manager is "/ON=(*)", the disk must be available to all nodes in the cluster $ CREATE/DIR fast_disk:[qman] 4. Copy the .QMAN$QUEUES and .QMAN$JOURNAL files to the new directory $ copy SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$* fast_disk:[qman] 5. Delete the old queue database. $DELETE SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$* 6. Restart the queue manager pointing to the new location $START/QUEUE/MANAGER fast_disk:[qman] [Dave Sweeney] ------------------------------------------------------------ MGMT28. How do I set a default IP route or gateway on OpenVMS? If you have TCP/IP Services, then use the command: $ TCPIP SET ROUTE/GATE=x.x.x.x/DEF/PERM or $ UCX SET ROUTE/GATE=x.x.x.x/DEF/PERM ------------------------------------------------------------ MGMT29. How do I switch between AlphaBIOS/ARC and SRM consoles? The specific steps required vary by system. You must first ensure that the particular Alpha system is supported by OpenVMS (see the SPD), that all core I/O components (graphics, disk controllers, etc) in the system are supported by OpenVMS (see the SPD), and that you have an OpenVMS distribution, that you have the necessary license keys (PAKs), and that you have the necessary SRM firmware loaded. Most Alpha systems support loading both the AlphaBIOS/ARC console and the SRM console at the same time, but systems such as the AlphaStation 255 are "half-flash" systems and do not support the presence of both the AlphaBIOS/ARC and SRM console firmware at the same time. If you have a "half-flash" system, you must load the SRM firmware from floppy, from a network download, or from a firmware CD-ROM. Following the normal AlphaBIOS or ARC firmware update sequence to the APU prompt, and then explictly select the target console. In other words, power up the system to the AlphaBIOS or ARC console, use the supplementary options to select the installation of new firmware (typically from CD-ROM), and then rather than using a sequence which updates the current firmware: Apu-> update -or- Apu-> update ARC Apu-> verify Apu-> quit Power-cycle the system Use the following sequence to specifically update (and load) SRM from AlphaBIOS/ARC on a "half-flash" system: Apu-> update SRM Apu-> verify Apu-> quit Power-cycle the system Use the following sequence to specifically update (and load) the AlphaBIOS/ARC console from SRM on a "half-flash" system: >>> b -fl 0,A0 ddcu BOOTFILE: firmware_boot_file.exe Apu-> update ARC Apu-> verify Apu-> quit Power-cycle the system Once you have the SRM loaded, you can directly install OpenVMS or Tru64 UNIX on the system. Do not allow Windows NT to write a "harmless" signature to any disk used by OpenVMS, Tru64 UNIX, or Linux, as this will clobber a key part of the disk. (On OpenVMS, you can generally recover from this "harmless" action by using the WRITEBOOT tool.) If you have a "full-flash" system and want to select the SRM console from the AlphaBIOS or ARC console environment, select the "Switch to OpenVMS or Tru64 UNIX console" item from the "set up the system" submenu. Then power-cycle the system. If you have a "full-flash" system with the SRM conssole and want to select AlphaBIOS/ARC, use the command: >>> set os_type NT and power-cycle the system. For information on acquiring firmware, see ALPHA6. For information on OpenVMS license PAKs (for hobbyist use) see VMS9. For information on the Multia, see ALPHA8. ------------------------------------------------------------ MGMT30. How do I delete an undeletable/unstoppable (RWAST) process? "Undeleteable" jobs are usually "undeleteable" for a reason -- this can track back to insufficient process quotas, to a kernel-mode error in OpenVMS or a third-party device driver, or to other odd problems. These undeletable jobs typically become of interest because they are holding onto a particular resource (eg: tape drive, disk drive, communications widget) that you need to use... If the particular device supports firmware, ensure that the device firmware is current -- TQK50 controllers are known for this when working with old firmware. (That, and the infamous "MUA4224" firmware bug.) If this device has a driver ECO kit available, acquire and apply it... If the particular relevent host component has an ECO, acquire and apply it. Useful tools include SDA (to see what might be going on) and DECamds (which increase and thus potentially fix quota-related problems). (nb: Applications with quota leaks will obviously not stay fixed.) If the stuck application is BACKUP, ensure you have the current BACKUP ECO and are directly following the V7.1 or (better) V7.2 process quota recommendations for operator BACKUP accounts. If the firmware and ECO levels are current, the best approach is to take a system crashdump, and pass a copy of the dump file it along to whomever is maintaining the device driver for the particular device/widget/driver involved, with any details on how you got into this situation. (The reboot involved with taking the crashdump will obviously clear the problem.) There was some kernel-mode code (typically for OpenVMS VAX) that can reset the device ownership field, but that is rather obviously only an interim solution -- the real fix is avoiding the loss of the IRP, the process quota leak, or whatever else is "jamming up" this particular process... [Stephen Hoffman] ------------------------------------------------------------ MGMT31. How do I reset the error count(s)? The system reboot is the only supported approach, but it is obviously undesirable in various situations -- there is presently no supported mechanism to reset error counts once the error(s) have been logged. As for an unsupported approach -- and be aware of the potential for causing a system crash... To reset the error count, one needs to determine the system address of the error count field. For a device, this is at an offset within the device's UCB structure. On VAX, the field is at an offset symbolically defined as UCB$W_ERRCNT. On Alpha, this field's offset is symbolically defined as UCB$L_ERRCNT. The former is a word in size; the latter is a longword. (Could it be that Alpha devices are more error prone? ;) You now need to locate the system address of the UCB$%_ERRCNT field of the device you wish to reset. Enter SDA. In the following, you will see designations in {} separated by a /. The first item in braces is to be used on the VAX and the second item should be used on an Alpha. (ie. {VAX/Alpha}) $ ANALYZE/SYSTEM SDA> READ SYS${SYSTEM/LOADABLE_IMAGES}:SYSDEF.STB SDA> SHOW DEVICE ! device designation of device with error SDA> EVALUATE UCB+UCB${W/L}_ERRCNT Hex = hhhhhhhh Decimal = -dddddddddd UCB+offset Record the hexadecimal value 'hhhhhhhh' returned. You can now exit from SDA and $ RUN SYS$SHARE:DELTA or do what I prefer to do, issue the following: SDA> SPAWN RUN SYS$SHARE:DELTA On both VAX and Alpha, the DELTA debugger will be invoked and will ident- ify itself. On Alpha, there will be an Alpha instruction decoded. For those unfamiliar with DELTA, it does not have a prompt and only one error message -- Eh? (Well, for sake of argument, there might be another error produced on the console if you're not careful -- aka. a system crash!) If you are on a VAX, enter the command: [W If you are on Alpha, enter the command: [L These set the prevailing mode to word and longword respectively. Remem- ber the UCB${W/L)_ERRCNT differences? Now issue the command 1;M DELTA will respond with 00000001 You're now poised to ZAP the error count field. To do so you need to en- ter the system address and view its contents. The format of the command to do this is of the form: :/ For an IPID, use the IPID of the SWAPPER process. It is always: 00010001 Thus, to ZAP the error count, you would enter: 00010001:hhhhhhhh/ When you enter the / SDA will return the content of the address hhhhhhhh. This should be the error count (in hexadecimal) of the device in question. If it is not, you did something wrong and I'd suggest you type a carriage return and then enter the command EXIT to get out of DELTA. Regroup and see where your session went awry. If you entered your address correctly and the error count was returned as in the following example, you can proceed. 00010001:80D9C6C8/0001 ! output on VAX 1 error 00010001:80D9C6C8/00000001 ! output on Alpha 1 error You can now ZAP the error count by entering a zero and typing a carriage return. For example: 00010001:80D9C6C8/0001 0 ! output on VAX 1 error 00010001:80D9C6C8/00000001 0 ! output on Alpha 1 error Now type the command EXIT and a carriage return. [Brian Schenkenberger] ------------------------------------------------------------ MGMT32. How do I find out if the tape drive supports compression? For various SCSI-based MK-class magnetic tape devices: $ Devdepend2 = F$GETDVI("$n$MKcxxx:","DEVDEPEND2") $ Comp_sup = %X00200000 $ Comp_ena = %X00400000 $ IF (Devdepend2.AND.Comp_sup).EQ.Comp_sup THEN - WRITE SYS$OUTPUT "Compression supported" $ IF (Devdepend2.AND.Comp_ena).EQ.Comp_sup THEN - WRITE SYS$OUTPUT "Compression enabled" ------------------------------------------------------------ MGMT33. Can I copy SYSUAF to another version? To VAX? To Alpha? The format of the SYSUAF.DAT, RIGHTSLIST, and associated files are upward-compatible, and compatible across OpenVMS VAX and OpenVMS Alpha systems. (This compatibility is a a basic requirement of mixed-version OpenVMS Cluster configurations and OpenVMS upgrades -- for specific support information, please see the OpenVMS Cluster rolling upgrade and mixed-version requirements.) That said, it's the contents of the SYSUAF and RIGHTSLIST files that will make this more interesting. The same basic steps necessary for moving RIGHTSLIST and SYSUAF files to another node are rather similar to the steps involved in merging these files in an OpenVMS Cluster -- see the appendix of the OpenVMS Cluster documentation for details of merging files. (You might not be merging the contents of two (or more) files, but you are effectively merging the contents of the files into the target system environment.) Considerations: o applications often hold SYSUAF or RIGHTSLIST open, meaning a system reboot is often the best way to activate new files. o the meanings of the RESTRICTED and CAPTIVE flags settings on the UAF entries have changed over time. o the new NET$PROXY.DAT file that is initially created based on the contents of the NETPROXY.DAT during the OpenVMS VAX V6.1 upgrade and during the OpenVMS Alpha V6.2 upgrade. This file is maintained in parallel with NETPROXY.DAT. o the RIGHTSLIST identifier values and UIC values that end up scattered around the target system must be rationalized with the contents of the new RIGHTSLIST and SYSUAF files. The lattermost case -- resolving the identifier values -- is often the most interesting and difficult part. If you find that an identifier value (or identifier name) from the source RIGHTSLIST collides with that of an identifier existing on the target system, you must first determine if the two identifiers perform the same function. In most cases, they will not. As such, you will have to find and chance all references to the identifier value(s) (or name(s)) to resolve the "collision". If you encounter a collision, changing both of the identifier binary values (or names) involved in the collision to new and unique values can prevent security problems if you should miss a couple of identifiers embedded somewhere on the target system during the whole conversion process -- rather than the wrong alphanumeric value for the identifier being displayed, you'll simply see the binary format for the identifier displayed, and no particular access will be granted. And any DCL commands or such that reference the old alphanumeric name will fail, rather than silently (and potentially erroneously) succeeding. Similar requirements exist for UIC values, as these too tend to be scattered all over the system environment. Like the binary identifier values, you will find UIC values associated with disks, ACLs, queues, and various other structures. For a list of the various files shared in an OpenVMS Cluster and that can be involved when relocating an environment from one node to another (or merging environments into an OpenVMS Cluster), please see the SYLOGICALS.TEMPLATE file included in OpenVMS V7.2 and later releases. [Stephen Hoffman] ------------------------------------------------------------ MGMT34. How do I delete (timeout) idle processes? There is no such command integrated within OpenVMS, though there are (optional) timers available within certain terminal servers and similar devices, and there is an integrated time-of-day mechanism that provides control over when a user can access OpenVMS. As for available tools, there are DECUS, freeware, and third-party tools known variously as "idle process killers" or terminal timeout" programs. Examples include: Saiga Systems Hitman, Watchdog, MadGoat Watcher (via the MadGoat site or the OpenVMS Freeware), Kblock, and Zap. A related package (for DECwindows sessions) is xtermlock. If the forgetful users are in an application menu environment, the menu can potentially be extended to provide this capability. ------------------------------------------------------------ MGMT35. Why isn't BACKUP/SINCE=BACKUP working? If you are seeing more files backed up than previously, you are seeing the result of a change that was made to ensure BACKUP can perform an incrementation restoration of the files. In particular, if a directory file modification date changes, all files underneath it are included in the BACKUP, in order to permit incremental restoration should a directory file get renamed. Why has OpenVMS gone through the agony of this change? When a directory is renamed, the modified date is changed. When the restoration needs to restore the directory and its contents, and the restoration should not result in the restoration of the older directory name when a series of incremental BACKUPs are restored. Thus an incremental BACKUP operation needs to pick up all of the changes. What can you do to improve BACKUP performance? Use the documented commands in the manual for performing incremental BACKUPs. Use the documented incremental procedures. Don't try to use incremental commands in a non-incremental context. Also consider understanding and then using /NOALIAS, which will likely be a bigger win than will anything to do with the incremental BACKUPs, particularly on system disks and any other disks with directory aliases. Can you get the old BACKUP behaviour back? Yes, please see the /NOINCREMENTAL qualifier available on recent OpenVMS versions (and ECO kits). Use of this qualifier informs BACKUP that you are aware of the limitations of the old BACKUP behaviour around incremental disk restorations. Consider performing an incremental restoration, to test the procedures. Attempting this is how we found out about the problem that was latent with the old scheme -- the old incremental BACKUP scheme would have missed restoring any files under a renamed directory. Hence the change. See the OpenVMS V6.2 release notes for additional details. ------------------------------------------------------------ MGMT36. How can I set up reverse telnet (like reverse LAT)? Though it may seem obvious, Telnet and LAT are quite different -- with differing capabilities and design goals. Please see the documentation around the TCP/IP Services for OpenVMS TELNET command CREATE_SESSION. This command is the equivilent of the operations performed in LTLOAD.COM or LAT$SYSTARTUP.COM. There is no TELNET equivilent to the sys$qio[w] control interface for LTDRIVER (as documented in the I/O User's Reference Manual) available, though standard sys$qio[w] calls referencing the created TN device would likely operate as expected. ------------------------------------------------------------ MGMT37. Do I need a PAK for the DECevent (Compaq Analyze) tool? The PAK is required only for the advanced functions of DECevent, the basic bits-to-text translation of the error log does not require a license PAK. Ignore the prompt, in other words. (The PAK should be available to you if you have a hardware support contract or warrantee, and the PAK enables the use of the advanced error analysis and notification capabilities within DECevent.) Please see the DECevent FAQ for additional details: http://www1.service.digital.com/svctools/decevent/DECevent_FAQ.html ------------------------------------------------------------ MAIL1. How do I send Internet mail? The simplest answer on most OpenVMS V6.2 and later systems: just enter the Internet (SMTP) address at the "to" prompt in MAIL. On most such systems, this will send your email to the specified recipient. That said, there is no one answer to this question. Internet mail is built upon the TCP/IP protocols, which are not directly supported by OpenVMS -- support requires the installation of a package that understands TCP/IP and specifically one that provides the Simple Mail Transport Protocol (SMTP). A number of implementations of TCP/IP are available for OpenVMS -- from Compaq, from third parties, and even a free "support it yourself" form. The MAIL program that comes with OpenVMS does not directly support the mail protocol used on the Internet (though it does recognize SMTP addresses in V6.2 and later), but various programs have been written that use MAIL's "foreign protocol" facility to provide such support -- these tools are called transports. To send mail through a transport, place the transport specifier at the front, and (typically) quote the address. For example, IN%"hoffman@bogushost.compaq.com" -- you *must* include the quotation marks -- indicates that IN transport will be used to send the mail to the address hoffman@bogushost.compaq.com. Common names for the transport are IN%, MX%, and SMTP%. (MX is a widely used, free, mail handler; see question SOFT1. SMTP% is used by Compaq's TCP/IP Services product.) Other systems may use some other name. If none of these prefixes work, please ask your system manager for assistance. [leichter@lrw.com] [Stephen Hoffman] See also MAIL2. ------------------------------------------------------------ MAIL2. How do I get IN% or MX% added automatically to Internet addresses? For older OpenVMS releases, you can acquire the MAILSHR_PATCH package (there's one each for VAX and Alpha) from the WKU FILESERV server (see question SOFT1.). As of OpenVMS V6.2, this is not necessary -- simply enter the SMTP email address directly. If the address specified to MAIL contains an embeded "@" character in it (a quoted string is not needed), MAIL will look to see if the logical name MAIL$INTERNET_TRANSPORT is defined. If it is, then MAIL will use the translation as the transport protocol, otherwise it will use the SMTP transport as is used by TCP/IP Services for OpenVMS. To alter this, for example, if you wanted IN% added, you'd define MAIL$INTERNET_TRANSPORT as "IN". ------------------------------------------------------------ MAIL3. How do I automatically append a signature file to my mail messages? OpenVMS 7.0 adds the ability to automatically append signature files - in MAIL, use the SET SIGNATURE command to specify a signature file name. For earlier versions, see the following paragraphs. The basic MAIL utility which is shipped with VMS does not have an intrinsic mechanism for adding signature files. If you're using an enhanced mail handling package (e.g PMDF), however, it may have provisions for adding signature files to all messages it handles - check the documentation for details. In addition, it's common practice to use an editor to handle addition of `quotation marks' (e.g. >) and signature files to mail messages and news postings. There are several implementations of this for different editors available on the net; for one example, see the MAIL_EDIT package available at ftp://narnia.memst.edu/mail_edit_v1-4.zip [bailey@genetics.upenn.edu] Define the logical MAIL$EDIT to a COM-file, which looks something like the following: $ IF P1 .NES. "" $ THEN $ COPY 'P1', 'P2' $ ELSE $ COPY 'P2' $ ENDIF $ DEFINE/NOLOG SYS$INPUT SYS$COMMAND $ 'P2' $ EXIT Where is the name of the signature-file (including directory and disk) and is EDIT/EDT or EDIT/TPU (or your favorite editor). [Arne Vajhøj] ------------------------------------------------------------ MAIL4. Do I have to use VMS MAIL? I like my Unix mailer better. Several Unix mailers have been ported to VMS, some by the vendors of specific TCP/IP packages, some by users who have made them freely available. See the documentation for your TCP/IP package, and refer to question SOFT1 for information about the availability of the free ports. [Jerry Leichter] ------------------------------------------------------------ MAIL5. How can I forward my mail? Can I forward it to an Internet address? You can use the SET FORWARD command within MAIL to specify where you want all your mail forwarded to. Use SHOW FORWARD to see your current forwarding. To cancel all forwarding, type SET NOFORWARD. You can forward your mail to an Internet address, but you have to be careful because of the way MAIL handles special characters, such as quotation marks. First, determine the address you would use to send mail to the place you want to forward to - say, IN%"fred@fred-host.xxx.com". Take that string and *double all the quotation marks*, producing IN%""fred@fred-host.xxx.com"". Finally, wrap quotation marks around the outside and use the the result with SET FORWARD: MAIL>SET FORWARD "IN%""fred@fred-host.xxx.com""" If you do SHOW FORWARD, you should now see: Your mail is being forwarded to IN%"fred@fred-host.xxx.com". [leichter@lrw.com] Note that the MAIL$INTERNET_TRANSPORT feature doesn't yet work with SET FORWARD in that you'll still have to use the syntax above with the quotation marks. ------------------------------------------------------------ MAIL6. How can I forward my mail to a list of addresses? VMS MAIL does not support forwarding a message to more than one address. (Older versions of MAIL allowed you to specify such forwarding, but it never worked correctly.) Many of the TCP/IP mail packages support forwarding to mailing lists, as does the free MX mail handling system and the DELIVER mail "extender". See the documentation of your TCP/IP package and question SOFT1. [leichter@lrw.com] ------------------------------------------------------------ MAIL7. MAIL keeps saying I have new messages, but I don't. What do I do? The count of new mail messages is kept separately from your mail folder in SYS$SYSTEM:VMSMAIL_PROFILE.DATA. It sometimes happens that this count differs from what's in your mail folder. If this happens, go into MAIL and repeat the READ/NEW command until you see no new mail messages. Then enter the command one more time. This will resynchronize the counters. ------------------------------------------------------------ MAIL8. How do I move all of my mail messages to another system? If you are moving to another OpenVMS system, perhaps the best way is to select each folder and do (in MAIL) a: EXTRACT/APPEND/ALL/MAIL mymail.mai Move MYMAIL.MAI to the other system, then do this (in MAIL): SET FILE mymail.mai COPY/ALL foldername MAIL.MAI This will place a copy of all of your messages in the given folder. If you wanted to maintain the separate folders, do separate EXTRACT commands (above) specifying different .mai files, then repeat the SET FILE, COPY for each one. If you are moving to a non-OpenVMS system, the EXTRACT command above can be used to create a file which you can then copy - how you import it into your mailer is an exercise left to the reader. ------------------------------------------------------------ MAIL9. How do I send or read attachments in VMS MAIL? Is there any way to send or read mail with files as attachments from VMS? Not directly with the OpenVMS MAIL facility, but there are several other options: 1. Install PINE, available commercially from Innosoft or free from Andy Harper. With PINE you can both send and receive MIME messages, if you have the appropriate viewers available. http://www.innosoft.com/ http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/ ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/ 2. If you're working from an X11 server use the OpenVMS version of Netscape Navigator. This option is ok for sending mail, but is not optimal for reading it, since Netscape will use POP and remove messages entirely the OpenVMS MAIL system, which is not generally what you want. 3. MPACK/MUNPACK. To send a MIME mail, construct the message with attachments manually using MPACK. You cannot send the resulting file directly through MAIL because an extra blank header line will be inserted between your message and the OpenVMS MAIL headers, which will cause the message to appear as plain text in most mail programs. Some TCP/IP stacks provide a work around for this problem, and if that doesn't work, you should generally be able to force the message directly into the SMTP port of your mail machine. Examples of both methods are in: http://seqaxp.bio.caltech.edu/pub/SOFTWARE/mmail.com To read a MIME mail message, open it in MAIL, extract it to a file, then use MUNPACK to break out and decode the attachments. [David Mathog] 4. With OpenVMS V7.2 and later, use the supplied MIME tool. [End of Part 2/4] --------------------------- pure personal opinion --------------------------- Hoff (Stephen) Hoffman OpenVMS Engineering hoffman#xdelta.zko.dec.com