Operating System - OpenVMS
1753437 Members
5076 Online
108794 Solutions
New Discussion юеВ

Re: Backup /NoAssist in Batch jobs.

 
SOLVED
Go to solution
Art Wiens
Respected Contributor

Re: Backup /NoAssist in Batch jobs.

This system has a KVM on it ie. console is in graphics mode running Decwindows (but no one logged in there). I'm not sure if that constitutes OPA0 as "disabled" ... I can show terminal OPA0 and it's there. Opcom (the process) is running.

Art
Volker Halle
Honored Contributor

Re: Backup /NoAssist in Batch jobs.

Dave,

it should be sufficient, to disable some operator classes on OPA0:. Backup sends this operator request to CENTRAL, DEVICES, TAPES and DISKS operator classes, so if you would issue a REPLY/DISABLE=(CENTRAL,DEVICES,TAPES,DISKS) on OPA0: you would still get the rest of the operator messages, but backup will fail/exit with %BACKUP-F-NOOPER.

You can set up an OPC$OPA0_CLASSES logical in SYLOGICALS.COM to specify the desired OPCOM class for OPA0: during startup.

Volker.
Hoff
Honored Contributor

Re: Backup /NoAssist in Batch jobs.

The presence of a KVM is not relevant, save for corner cases such as what happens when an OPCOM storm arises.

One of the easiest ways to see if an operator is active (somewhere) in the cluster is:

REQUEST /REPLY "ignore me"

If that pauses, you have an operator. (You can then tailor that command to test for the operators enabled for the specific operator classes of interest, too.)

You could go look for operator flags on the devices, but that's (more) work.

Most folks disable the console as an operator (usually via SYLOGICALS.*, though also via the older DEFINE and REPLY/DISABLE two-step), but there are a number of systems with the console enabled as an operator.

Stephen Hoffman
HoffmanLabs LLC
Jess Goodman
Esteemed Contributor

Re: Backup /NoAssist in Batch jobs.

Here's a little command file that lists enabled operator terminals on the current system. You can run it from SYSMAN to check an entire cluster.

$! Lists currently enabled opertor stations
$! V1.0 September 1987 Jess Goodman
$! V2.0 April 1993 Jess Goodman - Modified to use F$DEVICE
$ WRITE SYS$OUTPUT -
"Username Process Name PID Operator Terminal"
$LOOP:
$ DEVICE = F$DEVICE(,"TERM") !Check all terminal devices
$ IF DEVICE .NES. "" !At end of list?
$ THEN !No, check it
$ IF F$GETDVI( DEVICE, "OPR")
$ THEN
$ PID = F$GETDVI( DEVICE, "PID")
$ USERNAME = F$GETJPI( PID, "USERNAME")
$ PRCNAM = F$GETJPI( PID, "PRCNAM")
$ NC = F$LEN(PRCNAM)
$ PRCNAM[NC,18-NC] := " " !Blank fill
$ PORT = F$GETDVI( DEVICE, "TT_ACCPORNAM")
$ IF PORT.NES."" THEN PORT = "("+PORT+")"
$ DEVICE = F$GETDVI(DEVICE,"DEVNAM") - "_" !Get rid of _node
$ NC = F$LEN(DEVICE)
$ DEVICE[NC,9-NC] := " " !Blank fill
$ WRITE SYS$OUTPUT USERNAME, " ", PRCNAM, PID, " ",DEVICE, PORT
$ ENDIF
$ GOTO LOOP
$ ENDIF
$ EXIT
I have one, but it's personal.
John Gillings
Honored Contributor

Re: Backup /NoAssist in Batch jobs.

Dave,

Maybe I've missed something here... I can't figure out what you're trying to achieve or under what circumstances. I'm looking for the "big picture", not in terms of BACKUP return statii.

You're starting an unattended backup job, then something happens (?) and you want your procedure to respond (?)...
A crucible of informative mistakes
The Brit
Honored Contributor

Re: Backup /NoAssist in Batch jobs.

Hi John,
The basic problem is that; During a backup of multiple disks, running in batch, a Fatal Parity error occurs (which seems to be related to a bad tape, since it is reproducable using the same tape.). Instead of "bombing out", the backup command then goes to a

%BACKUP-E-FATALERR, fatal error on $2$MGA5:[]ND03.BCK;
-SYSTEM-F-PARITY, parity error
%BACKUP-I-OPERSPEC
%BACKUP-I-OPERASSIST, operator assistance has been requested

Of course, there is no Operator to respond to this, and even if there was, all they could probably do is to terminate the job.

My problem is/was that I couldn't use the "On Error..." syntax to trap the problem because the Backup Image is still running until the operator responds with a "quit". In addition, I couldn't get past the Operator Request, because the script is running in batch.

I am pleased to say that thanks to Volker's suggestion (define/user SYS$COMMAND OPA0:), I am now able to get past the Operator Request, and also use the "On ERROR..." syntax to trap the problem.

Since I am using an MSL5000 tape library, I can now have the script remove the defective tape, store it back in an available slot, grab and load a spare tape, and restart the backup at an appropriate place.


Dave
The Brit
Honored Contributor

Re: Backup /NoAssist in Batch jobs.

Thanks for all your help Guys, the suggestion made by Volker (and Hoff) allows me to move forward with dealing with the problem. vis.

Define/User SYS$COMMAND OPA0:

This generates an Image dump as follows;

$ On ERROR then goto ERROR_CHECK
$!
$ Define/User Sys$Command OPA0
$ Backup -
/Image -
/NoAssist -
/NoCRC -
/Density=SDLT -
/Ignore=(Label,InterLock) -
DSA101: $2$MGA1:OpenVMS.Bck/Save_Set


%BACKUP-E-FATALERR, fatal error on $2$MGA1:[]OPENVMS.BCK;
-SYSTEM-F-PARITY, parity error
%BACKUP-F-ABORT, operator requested abort on fatal error
-RMS-E-FNF, file not found
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000848, PC=00000000000F0ECC, PS=0000001B

Improperly handled condition, image exit forced.
Signal arguments: Number = 0000000000000005
: : :

: : :
SP = 000000007AE25AC0 PC = 00000000000F0ECC PS = 000000000000001B
%BACKUP-F-LABELERR, error in tape label processing on $2$MGA1:[]OPENVMS.BCK;
-SYSTEM-F-PARITY, parity error
$ ERROR_CHECK:
$!
$ Write sys$output $Severity," ",$Status
4 %X10A3810C

Although the Image dump is ugly, It does allow me to get to the ERROR_CHECK label where I can deal with the problem.

Thanks to all.

Dave