HP3000-L Archives

November 1996, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Doug Peloquin <[log in to unmask]>
Reply To:
Doug Peloquin <[log in to unmask]>
Date:
Mon, 25 Nov 1996 15:01:06 GMT
Content-Type:
text/plain
Parts/Attachments:
text/plain (126 lines)
> I would like some assistance using the BULDACCT program on
> multiple volume sets. I have three volume sets on one 967,
>
>                 MPEXL_SYSTEM_VOLUME_SET
>                 TESTVOL
>                 PRODDB,
>
>  and want to know if I can run one BULDACCT job to put the account
> structure from all three sets into one jobstream. I will be running this
> progam daily to retain an up to date account structure in the unlikely
> event of a disaster.
>
> Any help is appreciated,

There is one drawback with running BULDACCT with INFO="@".  It builds two
streams that rebuild the entire accounting structure.  This is rather
cumbersome when only one private volume fails, and you only want to rebuild
that specific volume set.  The alternative is to have a job for each set,
but this becomes an ongoing maintenance problem if you change the sets.  A
couple of years ago, I implemented the following stream that "parses" for
volume names and runs BULDACCT for each.  This give you jobs in dstat order
using a sequential job naming standard.  How it helps.

COMMENT *****************************************************
!COMMENT *  THIS JOB CREATES JOBS TO RE-CREATE THE ACCOUNTING
!COMMENT *  STRUCTURE IN A DISASTER RECOVERY SCENARIO
!COMMENT *  THE JOB FIRST CLEARS THE RECOVERY.APPSUPPT GROUP.
!COMMENT *  THEN PARSES THE OUTPUT OF THE DSTAT COMMAND FOR THE
!COMMENT *  MASTER VOLUME SET NAMES AND RUNS BULDACCT FOR EACH SET.
!COMMENT *  JOBS ARE SAVED IN SEQUENTIAL FILES IN RECOVER.APPSUPPT
!COMMENT *  AND DSTAT IS SAVED IN *JBNDX FILE.
!COMMENT *****************************************************
!COMMENT *  RECOVERY - Rerun job through CONMAN or MSTREAM
!COMMENT *****************************************************
!SETJCW JCW 0
!SETJCW CIERROR 0
!SETVAR HPAUTOCONT,TRUE
!RUN TSUB037.UTIL.SYS
@.RECOVER
N
!IF (JCW <> 0 OR CIERROR <> 0) THEN
!   TELLOP !HPJOBNAME:C IN TSUB037 STEP - NOTIFY MCS-ONCALL
!   RUN REPLYJOB.PUB.SYS
TSRJ002 ABENDED - REPLY WITH INITIALS
!   EOJ
!ENDIF
!COPY COMMAND.PUB.SYS,COMMAND.RECOVER.APPSUPPT
!IF (JCW <> 0 OR CIERROR <> 0) THEN
!   TELLOP !HPJOBNAME:C ABEND IN COPY STEP - NOTIFY MCS-ONCALL
!   RUN REPLYJOB.PUB.SYS
TSRJ002 ABENDED - REPLY WITH INITIALS
!   EOJ
!ENDIF
!FILE COMMAND.PUB.SYS=COMMAND.RECOVER.APPSUPPT
!SETVAR MYJOB "J" + "!HPJOBNUM"
!SETVAR LISTIN "!MYJOB" + "I"
!BUILD !LISTIN;REC=-80,,F,ASCII;TEMP
!SETVAR FOUND1 TRUE
!SETVAR LISTCNT 1
!SETVAR VOLCNT 0
!SETVAR SSTRT 0
!SETVAR ESTRT 0
!SETVAR LSTRT 0
!DSTAT ALL > DSFILE
!SETVAR FSIZ (FINFO("DSFILE",19))
!DSCOPY DSFILE TO MTSJBNDX.RECOVER.APPSUPPT ;RSIZE=80 ;FSIZE=!FSIZ
!IF (JCW <> 0 OR CIERROR <> 0 OR NFTERR <>0) THEN
!   TELLOP !HPJOBNAME:C ABEND IN DSCOPY - NOTIFY MCS-ONCALL
!   RUN REPLYJOB.PUB.SYS
TSRJ002 ABENDED - REPLY WITH INITIALS
!   EOJ
!ENDIF
!SETVAR FEOF FINFO('DSFILE',19)
!WHILE (!LISTCNT <= !FEOF) DO
!  SETVAR JVOL " "
!  SETVAR JSTR1 " "
!  SETVAR JSTR2 " "
!  SETVAR SSTRT 0
!  PRINT DSFILE;START=!LISTCNT >!LISTIN
!  INPUT BUFFER <!LISTIN
!  SETVAR SSTRT POS("MASTER","!BUFFER")
!  IF !SSTRT <> 0 THEN
!     SETVAR VOLCNT (!VOLCNT + 1)
!     SETVAR SSTRT POS("(","!BUFFER")
!     SETVAR ESTRT POS(")","!BUFFER")
!     SETVAR SSTRT !SSTRT + 1
!     SETVAR LSTRT (!ESTRT - !SSTRT - 2)
!     SETVAR JVOL STR("!BUFFER",!SSTRT,!LSTRT)
!     SHOWVAR JVOL
!     SETVAR JSTR1 ("MTSV" + "!VOLCNT" + "J1.RECOVER")
!     SETVAR JSTR2 ("MTSV" + "!VOLCNT" + "J2.RECOVER")
!     SHOWVAR JSTR1, JSTR2
!     RUN BULDACCT.PUB.SYS;INFO="@%FROMVS=!JVOL"
!     IF (JCW <> 0 OR (CIERROR <> 0 AND CIERROR <> 190) ) THEN
!        TELLOP !HPJOBNAME:C BULDACCT FOR !JVOL- NOTIFY MCS-ONCALL
!        RUN REPLYJOB.PUB.SYS
TSRJ002 ABENDED - REPLY WITH INITIALS
!        EOJ
!     ENDIF
!     SETJCW CIERROR,0
!     SETVAR FSIZ1 (FINFO("BULDJOB1",19))
!     SETVAR FSIZ2 (FINFO("BULDJOB2",19))
!     DSCOPY BULDJOB1 TO !JSTR1 ;FSIZE=!FSIZ1
!     IF (JCW <> 0 OR CIERROR <> 0 OR NFTERR <>0) THEN
!        TELLOP !HPJOBNAME:C DSCOPY !JSTR1 STEP -NOTIFY MCS-ONCALL
!        RUN REPLYJOB.PUB.SYS
TSRJ002 ABENDED - REPLY WITH INITIALS
!        EOJ
!     ENDIF
!     DSCOPY BULDJOB2 TO !JSTR2 ;FSIZE=!FSIZ2
!     IF (JCW <> 0 OR CIERROR <> 0 OR NFTERR <>0) THEN
!        TELLOP !HPJOBNAME:C DSCOPY !JSTR2 STEP -NOTIFY MCS-ONCALL
!        RUN REPLYJOB.PUB.SYS
TSRJ002 ABENDED - REPLY WITH INITIALS
!        EOJ
!     ENDIF
!  ENDIF
!  SETVAR LISTCNT !LISTCNT + 1
!  SETVAR BUFFER "                                             "
!ENDWHILE
!PURGE BULDJOB1
!PURGE BULDJOB2
!RUN SIGNALER.MAESTRO.CCC
!SET STDLIST=DELETE
!EOJ

ATOM RSS1 RSS2