
Quick tip on getting system stats on OpenVMS. Apart from SHOW SYSTEM, SHOW MEMORY, etc, you can just hit:
^T
DEIMOS::HTTPd:7080 00:41:48 HTTPD_SSL CPU=00:00:03.23 PF=561 IO=2728 MEM=666
Wednesday, March 12, 2008
Memory usage on OpenVMS
Posted by
cmihai
at
12:45 AM
2
comments
Labels: OpenVMS
Sunday, March 09, 2008
ES40 - OpenSource Alpha AXP Emulator

I've already posted about other free Alpha or VAX emulators like PersonalAlpha (the free version of CHARON-AXP, also makers of CHARON-VAX) and SIMH. Now it's time for something open source, that will work on Windows and UNIX systems.
AlphaServer ES40 Emulator is a portable emulator for the HP (DEC, Compaq) AlphaServer ES40. The current version is capable of running OpenVMS with some limitations. The goal is to have a drop-in replacement for real ES40's. Emulates the Alpha AXP EV68CB processor and other devices.
Now you can run OpenVMS or Tru64 UNIX on your own personal computer.
The advantage of ES40 over PersonalAlpha is that you can emulate EV68 CPUs and a more modern system (AlphaServer ES40) and additional hardware. It's also open source, and will run on your Windows, Linux and UNIX machines. The problem is, it's no match for CHARON-AXP or PersonalAlpha in terms of performance.
You can even use ES40 to install other operating systems like BSD and Linux on Alpha.
Here's FreeBSD/alpha 6.3-RELEASE

Posted by
cmihai
at
11:29 PM
0
comments
Labels: Open Source, OpenVMS, UNIX, Virtualization
Communigate Pro - Mail and Communications on OpenVMS
Communigate Pro is by far one of the best communications suite, and can easily replace even an Exchange / LCS / OCS suite (Unified Communications and all that). It can do clustering, VoIP, interface with Windows phones and has integrated WebMail, mailing lists, and so on.
The installation is pretty straight forward too. First, disable OpenVMS POP3 and IMAP services, and make sure nothing is running on port 8010 and 8100. Then unzip and proceed to install the POLYCENTER package.
$ PRODUCT INSTALL CGatePro
Once the installation is over, start CommuniGate Pro services and login to the administrative interface withing 15 minutes. Enjoy.
@SYS$COMMON:[CommuniGate]STARTUP.COM START
The WebMail is pretty nice too:
It also has Calendar function and a few themes (the XCHANGE one looks like OWA from Exchange).
By default, CommuniGate Pro supports the following features:
+ Mail + POP + IMAP + PWD + ACAP + WebMail + WebSite + Relay + Mobile + FTP
+ MAPI + TLS + S/MIME + LDAP + WebCAL + RADIUS + SIP + PBX + XMPP + XIMSS
Here's a screenshot of the WebMail SSL (HTTPS) interface with the XCHANGE skin:
So now you can have a fully encrypted, secure, highly available enterprise communications suite with E-Mail and VoIP features on your OpenVMS cluster :-).
Posted by
cmihai
at
5:02 PM
1 comments
Labels: Enterprise, Internet, Networking, OpenVMS
HP OpenVMS Secure WebServer (Apache)
Now that we've tested WASD, we can also try HP Secure WebServer (ex Compaq WebServer). It's basically Apache + SSL and OpenVMS patches.
FTP upload or download or get the packages on the server.
$ DIR SYS$SYSROOT:[SYSMGR.hpweb]
Directory SYS$SYSROOT:[SYSMGR.hpweb]
CPQ-AXPVMS-CSWS-V0201-1-1.PCSI_SFX_AXPEXE;1
Total of 1 file.
$ SET DEF SYS$SYSROOT:[SYSMGR.hpweb]
$ RUN SYS$SYSROOT:[SYSMGR.hpweb]CPQ-AXPVMS-CSWS-
V0201-1-1.PCSI_SFX_AXPEXE;1
UnZipSFX 5.42 of 14 January 2001, by Info-ZIP (Zip-
Bugs@lists.wku.edu).
inflating: CPQ-AXPVMS-CSWS-V0201-1-
1.PCSI$COMPRESSED
inflating: CPQ-AXPVMS-CSWS-V0201-1-
1.PCSI$COMPRESSED_ESW
$ DIR/SIZE
Directory SYS$SYSROOT:[SYSMGR.hpweb]
CPQ-AXPVMS-CSWS-V0201-1-1.PCSI$COMPRESSED;1
24952
CPQ-AXPVMS-CSWS-V0201-1-1.PCSI$COMPRESSED_ESW;1
18
CPQ-AXPVMS-CSWS-V0201-1-1.PCSI_SFX_AXPEXE;1
19887
$ PRODUCT INSTALL
_Product name (* to show list): *
The following product has been selected:
CPQ AXPVMS CSWS V2.1-1 Layered Product
Once the package is installed, configure it:
@SYS$MANAGER:APACHE$CONFIG
Now you can start apache:
$ @SYS$STARTUP:APACHE$STARTUP.COM
$ TELNET deimos 80
GET / HTTP/1.1
HTTP/1.1 200 OK
Date: Sun, 09 Mar 2008 10:20:05 GMT
Server: Apache/2.0.52 (OpenVMS)
Let's say we'd like to patch our webserver instead, using Web Server Suite Software Patch Kits.
Stop Apache:
$ @SYS$STARTUP:APACHE$SHUTDOWN.COM
$ RUN CPQ-AXPVMS-CSWS211_UPDATE-V0100--4.PCSI_SFX_AXPEXE;1
UnZipSFX 5.42 of 14 January 2001, by Info-ZIP (Zip-Bugs@lists.wku.edu).
inflating: CPQ-AXPVMS-CSWS211_UPDATE-V0100--4.PCSI$COMPRESSED
inflating: CPQ-AXPVMS-CSWS211_UPDATE-V0100--4.PCSI$COMPRESSED_ESW
$ PRODUCT INSTALL
_Product name (* to show list): *
The following product has been selected:
CPQ AXPVMS CSWS211_UPDATE V1.0 Patch (remedial update)
[...]
The following product has been installed (and a recovery data set created):
CPQ AXPVMS CSWS211_UPDATE V1.0 Patch (maintenance update)
CPQ AXPVMS CSWS211_UPDATE V1.0: Functional update for CSWS V2.1-1
Post-installation tasks are not required.
Now you can start the webserver:
$ @SYS$STARTUP:APACHE$STARTUP
You can now just drop stuff in SYS$COMMON:[APACHE.HTDOCS]
Posted by
cmihai
at
1:16 PM
0
comments
Labels: Internet, Networking, Open Source, OpenVMS
WASD VMS Hypertext Services
Time to take a look at the "non-stop webserver", aka WASD VMS Hypertext Services.
To install this webserver, we're going to need the compiler suited we've previously installed (C and CXX-V products).
To install WASD, you need to download and unpack 2 images: HTROOT921.ZIP, the platform independent pack, and HTROOT921-AXP.ZIP (or VAX or IA64) - the platform specific files.
The installation process will largely go like this:
$ SET DEFAULT DKA0:[000000]
$ UNZIP "-V" SYS$SYSROOT:[SYSMGR.wasdkit]HTROOT921.ZIP;1
$ UNZIP "-V" SYS$SYSROOT:[SYSMGR.wasdkit]htroot921-axp.zip;1
$ @dka0:[HT_ROOT]INSTALL
$ @HT_ROOT:[INSTALL]DEMO.COM
%HTTPD-I-SOFTWAREID, HTTPd-WASD/9.2.1 OpenVMS/AXP SSL
The INSTALL procedure will take a while to compile then link the package. If you do not have the OpenVMS SSL product (Compaq/HP) you'll require the OpenSSL toolkit.
Posted by
cmihai
at
10:46 AM
0
comments
Labels: Internet, Open Source, OpenVMS
Saturday, March 08, 2008
The C Programming Language
To program using the C Programming Language on OpenVMS, you need the DEC C compiler.
$ run CC073.DCX_AXPEXE;1
$ @SYS$UPDATE:VMSINSTAL
* Products: *
Then we test it:
SET TERMINAL/DEVICE=VT102
EDIT HELLO.C
#include "stdio.h"
int main()
{
printf("Hello, OpenVMS CC!");
return (0);
}
[End of file]
$ CC HELLO.C
$ LINK HELLO.OBJ
$ RUN HELLO.EXE
Hello, OpenVMS CC!
C++ is similar, but you need CXX instead of CC.
Posted by
cmihai
at
10:01 PM
0
comments
Labels: OpenVMS, Software Development
Kicking it up a gear with Oracle Rdb Server on OpenVMS
$ show system
OpenVMS V8.3 on node DEIMOS 8-MAR-2008 16:15:25.04 Uptime 0 13:09:50
Time to install a database server on this box :-). And nothing says "database" quite like Oracle Rdb (ex DEC product btw).
Grab Oracle Rdb, unzip it (unzip SYS$SYSROOT:[SYSMGR.RDBKIT]rdbv72200kit_amv.zip;1), and install it :-).
@SYS$UPDATE:VMSINSTAL RDBV72200AM SYS$SYSROOT:[SYSMGR.rdbkit]
Now we can restart the service, and create our database.
$ @SYS$MANAGER:RMONSTOP72.com
$ @SYS$STARTUP:RMONSTART72.COM
$ UCX show services
Service Port Proto Process Address State
BIND 53 TCP,UDP TCPIP$BIND 0.0.0.0 Disabled
FTP 21 TCP TCPIP$FTP 0.0.0.0 Enabled
IMAP 143 TCP TCPIP$IMAP 0.0.0.0 Enabled
POP 110 TCP TCPIP$POP 0.0.0.0 Enabled
RDBSERVER 611 TCP RDB72 0.0.0.0 Enabled
SSH 22 TCP TCPIP$SSH 0.0.0.0 Enabled
TELNET 23 TCP not defined 0.0.0.0 Enabled
$ run SYS$SYSTEM:SQL$72.exe
SQL> SHOW VERSION
Current version of SQL is: Oracle Rdb SQL V7.2-200
SQL> DROP DATABASE filename PRODUCTS;
SQL> CREATE DATABASE filename PRODUCTS;
SQL> CREATE TABLE clients
cont> (
cont> ClientID char(9)
cont> CONSTRAINT CL_ID
cont> PRIMARY KEY,
cont> FirstName varchar(25),
cont> LastName varchar(25)
cont> );
SQL> INSERT INTO clients VALUES ('1','Some','Guy');
1 row inserted
SQL> INSERT INTO clients VALUES
('2','Other','Bloke');
1 row inserted
SQL> SELECT * from clients;
CLIENTID FIRSTNAME LASTNAME
1 Some Guy
2 Other Bloke
2 rows selected
SQL>
All we have to do now is fire up Phobos and cluster them :-).
If you install SQL Services on the database server, you can install the Rdb Client on your Windows box in order to administer Oracle Rdb on OpenVMS.
Posted by
cmihai
at
4:09 PM
0
comments
Labels: Databases, Enterprise, OpenVMS, Oracle
Installing Java 1.5 JDK on OpenVMS 8.3 Alpha
I've already covered ancient version of Java and OpenVMS, now it's time for something more recent. Just grab the latest Java 1.5 JDK for OpenVMS from HP.
$ RUN DEC-AXPVMS-JAVA150-V0105-3-1.PCSI_SFX_AXPEXE
$ PRODUCT INSTALL JAVA150 /SOURCE=SYS$SYSROOT:
[SYSMGR] /NORECOVERY_MODE
$ PRODUCT EXTRACT FILE JAVA150 /SOURCE=SYS$SYSROOT:
[SYSMGR] /SELECT=RELEASE_NOTES.HTML /DEST=[]
$ @JAVA$150_SETUP.COM;1
$ java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition
Classic VM (build 1.5.0-3, 03/01/2007-14:39, native
threads, jit)
$ javac -version
javac 1.5.0
$ SET TERMINAL/DEVICE=VT102
$ EDIT hello.java
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello, OpenVMS!");
}
}
^z
$ javac hello.java
$ java hello
Hello, OpenVMS!
Posted by
cmihai
at
9:56 AM
0
comments
Labels: OpenVMS, Software Development
SSH X11 Redirection on OpenVMS and Using XMing and putty for Windows Clients
Wanna run some graphical OpenVMS applications? ssh -x or use Putty + MingW :-). X11 Forwarding is simple and easy to use. Just enable SSH on your OpenVMS box (UCX ENABLE SERVICE SSH) and make sure you've got proper keys generated.
You can also just start individual applications.
Posted by
cmihai
at
5:54 AM
0
comments
Labels: Networking, OpenVMS
Wednesday, March 05, 2008
GNU Screen for the win! - Solaris, AIX, HP-UX
I really love the hardstatus line in .screenrc :P. Just upgraded this machine to 8.3 too, so don't mind the title. (C-a A - OpenVMS-8.3) xD
Credits for the .screenrc hardstatus line go to Han:
log off
hardstatus alwayslastline "%{-b ck} %?%-w%?%{+b}%n%f %t%{-b} %?%+w%? %= %l %D %d/%m/%Y %0c "
hardstatus on
escape ^Tt
Wallpaper is some image off flickr + GIMP + my favorite palindrome:
In girum imus nocte, ecce et consumimur igni.We enter the circle by night and we are consumed by the fire.
(Drawn like moths to a flame).

By popular demand:

GNU Screen works just fine with that hardstatus line even on HP-UX systems. One thing I did though, was use:
env TERM=xterm-color screen
To start screen after ssh-ing in. After screen starts, you'll probably want:
TERM=vt100; export TERM
Also. You can put them in your profile. Using TERM=screen doesn't always work well.
Of course, you can just use TERM=dtterm, or even use dtterm, as done here via ssh -X to my AIX server :-).

As you can see, the AIX and HP-UX versions need a bit more work (or a fixed sized terminal in case of AIX):
Posted by
cmihai
at
3:41 PM
4
comments
Labels: AIX, HP-UX, Open Source, OpenVMS, Solaris
OpenVMS Tips and Tricks - Clear Screen, ls -lha
Want to clear the screen? "TYPE/PAGE NLA0:" will do the trick. Just alias it to your dos like cls or to a UNIX like clear command :-).
$ CLEAR == "TYPE/PAGE NLA0:"
$ CLEAR
$
Might as well alias LS to a DIR/SIZE/DATE/PROTECTION:
$ LS == "DIRECTORY/SIZE/DATE/PROTECTION"
$ LS *.JAVA
Directory SYS$SYSROOT:[SYSMGR]
HELLO.JAVA;1 1 4-MAR-2008 21:40:06.79 (RWED,RWED,RE,)
HW.JAVA;2 1 4-MAR-2008 22:14:36.28 (RWED,RWED,RE,)
Total of 2 files, 2 blocks.
Posted by
cmihai
at
12:45 AM
0
comments
Tuesday, March 04, 2008
More OpenVMS Easter-Eggs
Another "easter egg", this time, simply an uninspired name for an application when upgrading from 7.3 to 8.3 :-).
$ SHOW SYSTEM
OpenVMS V8.3 on node VMS 4-MAR-2008 23:56:17.19 Uptime 0 00:15:41
And of course, the classics (All Your Base Are Belong to Us!).
$ EXIT %xb70
%SYSTEM-W-FISH, my hovercraft is full of eels
$ EXIT 134002
%DEBUG-E-FISH, my hovercraft is full of eels
$ EXIT %x3f30074
%KATIE-F-DEVNOTMBX, device is not a mailbox
$ EXIT %x34b4
%SYSTEM-F-GAMEOVER, all your base are belong to us
All your OpenVMS Easter Eggs are belong to us :-).
Posted by
cmihai
at
10:54 PM
0
comments
Labels: OpenVMS
Java Development on OpenVMS
Got an OpenVMS box and you need to run some Java stuff?
$ SHOW SYSTEM
OpenVMS V7.3 on node VMS 4-MAR-2008 22:26:36.67 Uptime 0 01:16:05
$ JAVA -version
vms$dka0:[sys0.syscommon.][sysexe]java$java.exe;1 version "1.1.8-5"
Well, if you happen to have an older version of OpenVMS and Java (you can download a newer JDK - 1.5 here) you're going to have to set it up properly first. Set the CLASSPATH too.
$ @SYS$MANAGER:JAVA$SETUP.COMGreat, now that we've setup our JAVA environment, we can start developing applications :P.
Setting up symbols for foreign command line usage...
%DCL-I-SUPERSEDE, previous value of JAVA_COMPILER has been superseded
%DCL-I-SUPERSEDE, previous value of JAVA$FILENAME_CONTROLS has been superseded
JAVA$FILENAME_CONTROLS now set to: -1
$ DEF JAVA$CLASSPATH "/sys$common/java/lib/JDK118_CLASSES.ZIP:."
%DCL-I-SUPERSEDE, previous value of JAVA$CLASSPATH has been superseded
$ ED HW.JAVAEnjoy your ancient version of Java...
class hw
{
public static void main(String args[])
{
System.out.println("Hello, OpenVMS!");
}
}
^Z (Type Control Z to save and exit)
$ TYPE HW.JAVA
class hw
{
public static void main(String args[])
{
System.out.println("Hello, OpenVMS!");
}
}
$ JAVAC HW.JAVA
$ JAVA HW
Hello, OpenVMS!
PS: Once you've had your fun, just download JDK 1.5 :-).
Posted by
cmihai
at
10:21 PM
0
comments
Labels: OpenVMS, Software Development
My hovercraft is full of eels
Hooray for Monty Python:
%SYSTEM-E-FISH error on OpenVMS 7.3. It's an Easter Egg btw. There's more (make love -> not war, etc) in other versions :-).
Posted by
cmihai
at
9:13 PM
0
comments
Labels: OpenVMS
Tuesday, December 11, 2007
PersonalAlpha - Alpha CPU Emulator lets you run OpenVMS or Tru64 UNIX on your PC
I already told you about SIMH, the VAX emulator, now it's time to look at a working Alpha emulator (there is another one I know of that works, but it's rather expensive and intended for development purposes). This means you can run OpenVMS or Tru64 UNIX right at home, on your PC :-).
PersonalAlpha is a Alpha emulator that can run OpenVMS or Tru64 right on your i386 desktop machine.
You can use 128 MB of emulated Alpha memory, 1 Ethernet adapter, VT-terminal emulation and 4 disks.
Minimum requirements: A Windows machine, 1 GHz CPU, 1 GB of memory(512 MB will run with performance penalty), 1 Ethernet adapter and 4 GB of free disk space.
Now all you need to do is join the DECUS society (or Encompassus) and get yourself that free OpenVMS hobbyist kit and you're good to go :-).
Also, check out Virtutech Simics.
Various links and resources to other Alpha emulators / simulators /whatever:
http://www.simplescalar.com/
http://www.yuba.is.uec.ac.jp/~kis/SimCore/functional.htm
http://www.cs.ucsd.edu/users/tullsen/smtsim.html
https://systems.cs.colorado.edu/DistributedSoftware/Aint/
http://www.encompasserve.org/DECUServe/DECnotes/VMS/3411.1.HTML
https://systems.cs.colorado.edu/DistributedSoftware/Aint/
Posted by
cmihai
at
11:21 PM
4
comments
Labels: Enterprise, OpenVMS, UNIX, Virtualization
Friday, August 03, 2007
Restoring an array on a DEC StorageWorks
On old DEC StorageWorks arrays, you need to access the vt420 console and clear the invalid cache after a forced reboot. To do so, use a vt420 console on the storage array. If you need help, use ? or the HELP command.
SHOW THIS_CONTROLLER
SHOW OTHER_CONTROLLER
CLEAR INVALID_CACHE THIS
CLEAR INVALID_CACHE OTHER
SHOW DISKS
SHOW D101
--> UNIT HAS LOST DATA
CLEAR LOST_DATA D101
Now the array should be in an optimal state, and your OpenVMS system should be able to access it.
Posted by
cmihai
at
7:19 PM
0
comments
Labels: OpenVMS
OpenVMS DECNET, TCP/IP, NFS
Mounting NFS under OpenVMS:
OpenVMS network mangement is done using the DECNET TCP/IP stack. At the $UCX> prompt, make sure the route is properly set:
$UCX> SET ROUTE 192.168.0.0 /GATEWAY=192.168.0.1
$UCX> mount dnfs16: /host = 192.168.0.100 /path="/store" /auto
To umount the NFS drive:
$UCX> DISMOUNT DNFS16
Posted by
cmihai
at
7:09 PM
0
comments
Labels: OpenVMS

