the Support Group inc Sponsor Message

     

Hidden Value details commands and procedures in MPE that can improve your productivity with HP 3000 systems. Send your tips to john.burke@paccoast.com, or fax them to 512.331.3807.

Edited by John Burke

I thought I set up DNS access correctly, but when I try to FTP by name I get this message: Cannot connect to host: xxxxx (FTPERR 9) I know it is not our network because it works fine from my desktop system. How do I do this?

Chris Bartram replies:
It may be that the word “namserver” in RESLVCNF.NET.SYS was in uppercase, not lowercase. As a general note, most Posix functionality is case-sensitive.

Is there a way to display owning processes of mode 5 or mode 6 locks in IMAGE?

Larry Barnes replies:
In DBUTIL, as the creator, the command show <dbname> locks will show all locks. Note that if you have SM capability, the “show <dbname>” command will work on any database on the system.

I am attempting to return to the originating system after a remote command has been issued programmatically, via CI commands. In other words, I remote from machine a to machine b, complete my task, issue a bye; but as we all know, you get a machineb# prompt at which time you need to issue a : to return to machine a. I want this to happen automatically. Any ideas?

Mike Hornsby replies:
The trick is not to do the standalone remote, which takes you to the remote system prompt and removes local control, but to issue the commands appended to the remote command as in:

remote hello manager.sys
remote listf
remote run xyzzy
remote bye

This preserves the local control so that you don’t need to leave home and thus don’t need to get back again.

Is there a way to back up spoolfiles by job number?

Jon Diercks replies:
With plain vanilla MPE tools, you can do:

:FILE T;DEV=TAPE
:SPIFF “STORE [JOBNUM=Jnnn];*T”

Given an IP address, how can I retrieve the associated name from the MPE command line? (The network is using DHCP.)

Mark Bixby replies:
Assuming you have DNS and DHCP configured correctly, then on MPE 6.0 or greater:

:XEQ /BIND/PUB/bin/nslookup xxx.xxx.xxx.xxx

Is there a compression program to compress files locally on the HP 3000? It would have to be standard so that a vendor can decompress on the other side of an FTP without having to go through too much trouble getting the software to do so.

Andreas Schmidt replies:
Tar with Z option is one method which is well known and fully supported on MPE by HP. The other one is gnu’s zip, but this requires gnu on both sites.

Mark Bixby adds:
The Posix compress/uncompress utilities are available in FOS:

/bin/compress (symlink to /SYS/HPBIN/COMPRESS)
/bin/uncompress (symlink to /SYS/HPBIN/UNCOMPRE)

These let you use standard .Z compression.

Finally, Doug Becker notes:
Go to ftp://nha.co.za/hp3000/ There is a zip and an unzip directory. The zip and unzip use the Winzip format, which can be handy.

We are planning to install 6.5 on four HP 3000s but we only have a COBOL compiler on our development box. Since we always do new installs on our test box first, we will end up with a 6.5 compiler on the development box. I understand from HP that 6.5 compiled programs will not run on 5.5. How do you resolve this dilemma?

Mark Klein replies:
Actually, that’s not entirely true. If you compile and link on the 6.5 box and move the programs back, you should be okay. The problem is that there is new millicode in 6.5 that the compilers will use. That means that if you attempt to link on an older version of the OS with an NMOBJ created on 6.5 or later, you can run into issues.

We recently started the JINETD job on our 6.0 system to allow inbound telnet access. We are getting the following console message several times a minute:
hh:mm/#Jnnnn/pin/stat on “/etc/bootptab”: No such file or directory
Now, this message is correct, since there is no /etc/bootptab file. What is the JINETD job looking for and how do I stop these annoying messages?

Tom Brandt replies:
Look at INETDCNF.NET.SYS. You probably have bootp configured as a service for INETD to run. Comment it out.

I am adding two drives to a HASS (Jamaica) enclosure that already has several drives. I think I know what to do, but could use a cheat sheet.

Gilles Schipper, Lars Appel and Chris Bartram reply:
You do not even have to take down the system to add the drives to an HASS enclosure. The steps would be something like:

• Set proper SCSI IDs. Make sure the SCSI addresses of the HASS enclosures are what you believe them to be. Do not make any assumptions. You need to set the SCSI address dip switches properly and ensure they are unique for the controller they are attached to. You will probably need a little flashlight to check the settings.
• Plug in the new drives.
• Use IOCONFIG to add the appropriate paths and device IDs. Note that the ldevs cannot be in use by, for example, vt or telnet sessions. So, you may still need to do this “off hours.”
• Use VOLUTIL to NEWVOL or NEWSET. For example,

:volutil
>newvol mpexl_system_volume_set:member99 99 100 100

(This example is for ldev 99 — the “99” in member99 does not need to correspond to the ldev number, it only needs to be unique for that volume set.)

It might be a good idea to first run the drives in a NEWSET for a while, exercising them a little. You could also use that extra volume set to exercise seldom used VOLUTIL commands or NEWACCT options like ONVS/HOMEVS. Finally, SCRATCHVOL them and add them to the desired volume set.

One note of caution: if you dynamically add disk drives to, say, your MPEXL_SYSTEM_VOLUME_SET, you could find yourself in a pickle if you subsequently perform a START RECOVERY by accident or design. So, while you can add drives dynamically as a convenience, it is a good idea to schedule a SHUTDOWN, START NORECOVERY as soon as possible to “fix” the new drives in your base configuration.

I have three system processes (Pin #61, #62 & #63) that are doing a large amount of IOs. All three pins have the same stack trace. Is it related to the SQE heartbeat problem with DTCs? The IOs are strictly writes and sometimes large numbers are displayed (> 1200/sec) in Lund’s SOS. I checked the “heartbeat” value using LINKCONTROL but it shows a “0” value. What’s happening?

Doug Werth replies:
If I had to guess I would say this (DTC heartbeat) is exactly the problem. Use SOS or Glance to list the open files for the process. It should show you two files in PUB.SYS in the format HxxxxxxA and HxxxxxxB. The ‘xxxxxx’ represents the last 6 digits of the MAC address for the DTC that is logging the event. If this indeed is the problem then adjust the transceiver of the offending DTC(s) to supply SQE Heartbeat or replace the transceiver.

The Heartbeat Losses statistic reported by LINKCONTROL will show you only when the transceiver for the system does not have SQE Heartbeat enabled and it has nothing to do with the DTCs and their SQE settings. Lack of SQE Heartbeat on the system has been shown to cause network performance degradation and should be corrected immediately when or if encountered.

Our system backup is automatically scheduled every night, but someone has to put in a tape sometime during the day for the backup that night. Yesterday, we forgot, and the backup job tied up all the files and sat there hung, waiting for the tape that never arrived. This meant that a user was unable to logon to the system, enter an invoice and print the required bar code labels for a shipment that had to go out. This also meant that the nightly update didn’t run and reports for users weren’t printed and ready. It was not a good morning. Is there some way, in a job, to test to see if a tape is online or not?

John Burke replies:
Absolutely. I’ve been using a technique for several years that has worked well. Below, find the key parts of a job I use on one system. It is streamed by the backup job to start at 11:00 AM the next day. Basically, it does a SHOWDEV to a file, parses the output and, if tapes are not loaded, it

• does several tell commands to various users including the console
• uses Telamon’s mail program to send a message to the Help Desk (you could also use sendmail, or NETMAIL/3000)
• streams itself to run again in 10 minutes

Note that I use “tell” commands with embedded control codes to switch to blinking inverse video (really gets your attention). Also, the “IF MOUNTED = 0” can be adjusted for multiple tape drives. For example, one system has five drives, so the line is changed to “IF MOUNTED < 5”. The same technique can be used to prevent the backup from starting if tapes are not mounted and online

One caveat: if you mount a tape and then dismount it for some reason, MPE/iX still shows the tape as mounted in the SHOWDEV display.

!JOB DDSWARN,OPERATOR.SYS;HIPRI
!FILE TAPEDEV;MSG
!SHOWDEV TAPE > *TAPEDEV
!SETVAR MOUNTED,0
!WHILE (FINFO(‘TAPEDEV’,’EOF’)) > 0 DO
! INPUT MYVAR < TAPEDEV
! IF POS(‘(Nolabel)’,MYVAR) > 0
! SETVAR MOUNTED,MOUNTED+1
! ENDIF
!ENDWHILE
!PURGE TAPEDEV,TEMP > $NULL
!DELETEVAR MYVAR
!RESET TAPEDEV
!IF MOUNTED = 0

< do notifications >

! STREAM DDSWARN.JOBS.SYS;IN=,,10
!ENDIF
!SET STDLIST=DELETE
!EOJ

Prior to 6.0 (i.e. CSTM), we could use SYSDIAG\LOGTOOL to extract a virtual console log (anything written to the console), and then use an editor to find specific text. Since we no longer have access to SYSDIAG, we no longer have LOGTOOL. Is there a simple way to interrogate and extract (in printable form) the data in the system log files?

Doug Werth and Mike Hornsby reply:
LOGTOOL is still available, but on 6.5 you run it from the CI prompt.

There have been many programs written over the years to format system logs. Most of them are MUCH better than LOGTOOL. However, most of them will only format console logs. We have our CLUE3000 freeware program at www.beechglen.com that formats console logs, optionally selecting console messages that contain a specified string, and it runs on 6.5.

Gilles Schipper adds:
CONSLOG, from the Boeing TECHXL account, is pretty nifty and will do what you want. It lets you specify strings to search for, as well as date/time range. Requires no special capabilities to run, although the program itself uses PM capability.

Ron Horner also adds:
Check out horner.horner.home.mindspring.com. Go to the free stuff area and get LOGREADR. With LOGREADR, you can see the messages that are displayed on your console. You can search your log files, by session number, job number, or by a special string. Look at the messages for a specific data range. And you have a help area to guide you.

Finally, from Philippe Dimonte:
Have a look on my site http://perso.wanadoo.fr/philippe.dimonte and get the “Get console messages from log files” program from the utilities part of the site.

[Editor’s note: For any of these tools to work, you need to have Console Log, Event #115 enabled via the LOG section of SYSGEN.]

Is there any way to get QUERY to display the minus sign of a negative value in front instead of at the end?

Paul Scott replies:
Query does support the leading minus sign. Use NOPUNCH and Query will put the minus sign up front.

How do I stop the first five columns from displaying (I only need the date, time and filename)?

Bill Proudfoot replies:
Use awk, as in

ls -ltr | awk ‘{print $6” “$7” “$8” “$9}’ | more


Copyright The 3000 NewsWire. All rights reserved.