It's About Time
October 18, 2012
By Gilles Schipper
GSA Associates
First in a series
With the impending end of Daylight Saving Time (DST) -- just two weeks from this coming Saturday night -- it may be an appropriate time to think about implementing some best practices associated with “Clock Maintenance” for the HP 3000s that you administer.
To refresh your memory, beginning in the year 2007, DST was extended by approximately one month for most time zones in the US and Canada. Consequently, for most locations, DST now begins at 2:00AM the second Sunday every March, and ends at 2:00AM the first Sunday each November.
The rules for specific time zones are contained in a file named TZTAB.LIB.SYS, whose exact format and interpretation will be shown in detail later in this series. Suffice it to say, this file is largely irrelevant for the normal operation of the HP 3000.
But it is relevant and important for various software products that are common to the HP 3000 environment, including, among others, products by Nobix, IBM/Cognos, and Speedware -- but surprisingly not by a very useful utility, NTPDATE, which I'll describe in detail.
And for those products that do utilize the TZTAB file, it behooves to set the variable TZ to its appropriate value, for example:
:setvar TZ, EST5EDT (appropriate for the Eastern Timezone, which, during Eastern Standard Time, is 5 hours west of Greenwich Mean Time (GMT)).
Two Clocks, Two Times
Each HP 3000 contains two separate clocks, commonly referred to as the hardware clock and the software clock.
Typically, the hardware clock is set at system boot time, with the ISL CLKUTIL command. This clock should be set to coincide with the GMT.
The software clock can be set at the ISL START NORECOVERY dialogue. This clock should be set to the actual local time in effect.
If both hardware and software clocks are set properly the system's TIMEZONE setting will reflect the difference between the two.
This can be checked with the command :showcloc
SYSTEM TIME: MON, SEP 3, 2012, 2:25:01 PM
CURRENT TIME CORRECTION: 0 SECONDS
TIME ZONE: 4 HOURS 0 MINUTES WESTERN HEMISPHERE
The SETCLOCK command
There are occasions when it's desirable to modify one or both of the hardware and software clocks - without requiring a system boot. The SETCLOCK command permits us to do exactly that.
As shown above, the SHOWCLOCK command will directly show you the value of the “SOFTWARE” clock (contents of SYSTEM TIME).
The value of the “HARDWARE” clock is shown indirectly with the combination of SYSTEM TIME and TIME ZONE.
In the above example, the value of the “HARDWARE” clock is MON, SEP 3, 2012, 6:25:01 PM -- which is the value of the SOFTWARE clock plus 4 hours (TIMEZONE of 4 HOURS WESTERN HEMISPHERE). (If the TIMEZONE value showed EASTERN HEMISPHERE, the corresponding TIMEZONE value would be subtracted from the SOFTWARE clock to arrive at the HARDWARE clock.)
The SETCLOCK command has the following parameters:
SETCLOCK
Alters the system time or system time zone.
SYNTAX
SETCLOCK {DATE= date spec; TIME= time spec [;GRADUAL | ;NOW]}
{CORRECTION= correction spec [;GRADUAL | ;NOW]}
{TIMEZONE= time zone spec}
{;CANCEL}
You can see more detail associated with the individual parameters by issuing the command :help setclock, all
For those whose system clocks are generally quite accurate and properly maintained (and I will show you how to ensure that later), the command you will need to invoke twice annually is:
:setclock timezone=W5:00 (First Sunday in November, at 2:00AM, assuming Eastern Timezone)
and
:setclock timezone=W4:00 (Second Sunday in March, at 2:00AM, assuming Eastern Timezone)
These commands can be launched by a job stream that executes, say, once a week-- such as a full backup, for example -- by simply utilizing system date variables to calculate whether the following Sunday is either the first Sunday in November or second Sunday in March, and then stream a job that Sunday at 2:00AM which modifies the TIMEZONE with the appropriate SETCLOCK command.
However, there may be occasions when less granular modifications to your system clocks are necessary. One such occasion could be when your HP 3000 experiences the following conditions/events:
1. It shuts down (ungracefully) due to a power failure, and
2. It is unprotected by a UPS system, and
3. Its internal battery is no longer functioning
The internal battery is what maintains the hardware clock. A non-functioning battery will cause your system to lose its proper clock value and typically boot up with a value of January 1, 1972 - or some ridiculously erroneous value like that.
Incidentally, this battery is easily replaceable - at least it is on my model 928. The battery it uses is a 3-volt lithium, Panasonic BR2325 - obtainable at most camera supply stores - but, hurry, camera supply stores, like the HP 3000, is a dying breed). If the Panasonic is unavailable, a suitable replacement would be a 3-volt lithium RENATA CR2325.
The battery is located on the main system board - the one containing the CPU, which you can also identify with its included black toggle switch donating “normal” when positioned to the left, and “service” when positioned to the right. To remove that board for battery replacement, you will need to remove the metal plate that covers the disabled RJ45 and AUI ports of the board.
Next time: The task of changing the system clocks for other than trivial or TIMEZONE changes
Gilles Schipper is founder of the system support supplier GSA Associates and Homesteading Editor for the 3000 Newswire.