John:

This discussion has been interesting...

WAY back in the 70's we did the opposite that is to increase the number of devices that could could be varied on/off at one time. Our SE did it within a STC called $DC.
Our ops were OK but were changed when in came to # of devices.
We had 2 systems and lots of paths to all the devies so we had to make it simple as possible.

Ed

On Dec 11, 2013, at 7:02 AM, John McKown wrote:

On Wed, Dec 11, 2013 at 12:03 AM, Pinnacle <[email protected]>wrote:

I fat fingered a VARY OFFLINE command and took out half our DASD farm. I thought z/OS had a switch or a throttle to limit the damage, but darned if
I can find it.  Any help gets you a beer at SCIDS.

Regards,
Tom Conley



We had something similar happen here with a "dyslexic" operator. I wrote a CA-OPS/MVS command rule the very next day which restricted the number of
devices to be varied offline to a maximum of 16.

<rule type="CA-OPS/MVS">
)CMD  VARY
/ ********************************************************************** / /* Rule Name: VARY */ /* Rule Type: Command */ /* Rule Function: Allow a maximum of 16 devices to be varied at one */ /* time in a range vary */ /* Author: John McKown */ /* Support: Tech Services */ / ********************************************************************** /
)PROC
  IF 'OAM' = LEFT(CMD.JOBNAME,3) THEN RETURN /* OAM STARTED TASK */
  IF 'XA'  = LEFT(CMD.USERID,2) THEN RETURN /* GENERIC STC */
  ERCT = TRANSLATE(word(CMD.TEXT,2),' ',',')
  if 0 = pos("-",erct) then return
  erct=translate(erct,'   ','(),')
  n=words(erct)
  if 'OFFLINE' <> WORD(erct,n) then return
  do i = 1 to n-1
     test=word(erct,i)
     if 0=pos("-",test) then iterate
     test=translate(test,' ','-')
     if 2 <> words(test) then iterate
     parse var test low high
     if datatype(low,"X") <> 1 then iterate
     if datatype(high,"X") <> 1 then iterate
     dlow=x2d(low)
     dhigh=x2d(high)
     if dhigh > dlow + 16 then do
        ADDRESS WTO ,
      ' TEXT("Range VARY aborted - too many devices specified.") ',
      ' CNNAME('CMD.CONSNAME') ',
      ' DESC(IMEDCMD)' ,
      ' HILITE ' ,
      ' MCSFLAGS(RESP)'
        return "reject"
     end
  end
  return
</rule>


--
This is clearly another case of too many mad scientists, and not enough
hunchbacks.

Maranatha! <><
John McKown

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to