Database Recovery

acf2src
1
CA ACF2 provides the facilities necessary for recovery of its three primary VSAM databases in the event they become inaccessible or unusable. Each site should review, modify, and test these JCL procedures as necessary. The backup and recovery procedures outlined in the following describe one method of ensuring the recoverability of CA ACF2 VSAM databases. However, each site is responsible for devising and testing recovery methods that are suitable to their particular environment.
Recovery Features
The CA ACF2 VSAM clusters can be corrupted for several reasons:
  • Corruption of the volume where the clusters reside
  • VSAM error caused by a new PTF
  • A hardware error while the clusters are being updated
  • Or various other causes
However, even in such cases, you can IPL a system with CA ACF2. If CA ACF2 becomes non-functional because the VSAM clusters are unavailable, IPL the system specifying an alternate COMMNDxx member that does not automatically start CA ACF2 from SYS1.PARMLIB.
CA ACF2 provides several facilities to aid in the backup and recovery of the primary VSAM clusters. These include:
  • An automatic backup facility
  • The @DDSN macro of the ACFFDR
  • The GSO BACKUP record
  • The creation of an SMF record for each modification made to a CA ACF2 database
  • The ACFRECVR procedure
  • The ACFBKUP procedure
Automatic Backup Facility
At your site's option, the CA ACF2 system task makes a copy of each primary VSAM cluster onto sequential data sets once each day. Activate this facility by specifying the appropriate information in the GSO BACKUP record of the Infostorage database and the data set names for both the primary and alternate clusters in the @DDSN macro of the ACFFDR. Optionally, the operator can initiate backup processing by issuing an F ACF2,BACKUP command through any system console at any time.
The backup process includes copying each of the three primary VSAM clusters into a scratch data set. This data set ensures that a complete copy of each cluster can be made before overwriting the permanent backup data sets. The permanent backup data sets should not be created on the same volume where the primary VSAM clusters reside. Establish procedures for the retention of backup copies for a reasonable period of time. Use these backup copies as input to certain report generators. For example, you might need previous versions of the backup files to produce such historical reports as the ACFRPTXR Cross-Reference Report.
GSO BACKUP Record
The GSO BACKUP record specifies the CPU where the automatic backup processing is performed, and the time-of-day when CA ACF2 should initiate its automatic backup processing. The BACKUP record has an optional field, STRING=string. The string might be any valid operator command. After successful creation of the backup sequential data sets, CA ACF2 issues this string to the system. For example, you can use this facility to initiate further local processing of the backup data set.
@DDSN ACFFDR Macros
GSO BACKUP Record
SMF Journaling of Database Modifications
CA ACF2 journals each modification of its databases to SMF. By combining this SMF data with the backup copies, you can re-create an up-to-date copy of each primary VSAM cluster. The ACFRECVR procedure combines SMF data with the backup data sets and might be initiated from the system console.
ACFRECVR - The Recovery Utility
The ACFRECVR utility processes the database update SMF records produced by CA ACF2 and forward merges them into the VSAM clusters to produce an up-to-date set of databases. Each input SMF record contains a time-of-day stamp that is checked to ensure that the most recent record exists in the cluster. Initialize space for the output VSAM clusters before running ACFRECVR.
Additionally, the ACFRECVR procedure is placed into the target system's CAI.PROCLIB during the installation process. This procedure executes the ACFRECVR utility and can be initiated from the system console.
Authorization Checking
CA ACF2 checks whether the person submitting the utility is authorized to process the input SMF data. If you specify RPTSCOPE in the GSO OPTS record, a user is restricted to the SMF record data that matches his or her privileges and restrictions. The ACFRECVR utility checks during processing to see if the user has the SECURITY or AUDIT privilege. ACFRECVR also checks to see if the user has an appropriate value for the INF field in the scope record. If a user has one of these authorities and the SMF record is in the scope of the users logonid, the user can process the SMF record. In the default case of NORPTSCOPE, no authorization checking is done.
Input and Output Files
ACFRECVR uses the standard files described in the documentation about input and output files for report generators.
SMFxxxxx
Specifies the input SMF records processed by the ACFRECVR utility. All ddnames with the first three characters of SMF are selected for input processing. Any combination of VSAM and non-VSAM input is acceptable. Provide all SMF records produced since the last database backup to ACFRECVR for forward-merge purposes for complete recovery. ACFRECVR checks time stamps in the records to ensure that the latest update remains in the file.
Note the following:
  • Do not concatenate SMF input files. Each SMF input file must have its own DD label that begins with the letters SMF. ACFRECVR terminates with an abnormal return code if SMF files are concatenated.
  • When the input SMF data is recorded in the logstream structure, a parameter SUBSYS=(LOGR,IFASEXIT) needs to be added to the SMFxxxxx Ddname(s). Several other SUBSYS-options parameters may be appended to the SUBSYS parameter. For more information on these parameters, see the documentation about input and output files for report generators.
LOGONIDS
Defines the new logonid VSAM cluster. Specify this data set with a disposition of old (DISP=OLD). REPRO logonid records from the permanent backup data set into this file before ACFRECVR processes the data set.
INFOSTG
Defines the new infostorage VSAM cluster to be built. Again, specify DISP=OLD. Also, REPRO the backup infostorage records into this file before running the ACFRECVR program.
RULES
Defines the access rule VSAM cluster. Again, specify DISP=OLD. Also, REPRO the backup access rule records into this file before running the ACFRECVR program.
SYSPRINT
Specifies the utility output file. The ACFRECVR utility provides a report of each record processed and the disposition of that record. For more information, see the documentation about input and output files for report generators.
Parameters
[JOBMASK(
********
|
jobmask,...,jobmask
)]
Specifies that records processed by ACFRECVR are for the job or jobs indicated by the job name or job name mask. Use commas or blank spaces to separate multiple job names or job name masks. The default is processing of records pertaining to all jobs.
[KEYMASK(
-
|record-key-mask)]
Specifies that selected records are restored to a database cluster without disturbing other records. The default is all record keys are restored. The selected records are specified by record key, as follows:
  • If the LID parameter is specified, the KEYMASK is a one- to eight-character logonid mask.
  • If the RSRC or INFO parameter is specified, the KEYMASK is a one- to forty-four-character mask for an infostorage record key. The first character is the storage class, and the next three characters are the type code.
  • If the RULE parameter is specified, the KEYMASK is a one- to eight-character mask for access rule sets.
Note: If the LID, RSRC, and RULE parameters are not specified, the defaults for these parameters are used. However, if any of these parameters are specified, the unspecified parameters default to NORULE, NOLID, or NORSRC, respectively. For example, if RULE is specified, NOLID and NORSRC are assumed.
[
LID
(
nnn
)|LID|NOLID]
Defines the SMF record number for Logonid database update journal records, where
nnn
is defined in the ACFFDR. If NOLID is specified, the logonid cluster is not updated during the recovery process. If the LID parameter is specified without an SMF record number and CA ACF2 is active, the value specified in the ACFFDR @SMF macro is used during the recovery process to define the SMF record number for Logonid database update journal records. If CA ACF2 is not active, a record number is required.
[
RSRC
(
nnn
)|RSRC|NORSRC]
Defines the SMF record number for Infostorage database update journal records, where
nnn
is defined in the ACFFDR. If the RSRC parameter is specified without a record number and CA ACF2 is active, the value specified in the ACFFDR @SMF macro is used during the recovery process to define the SMF record number for Infostorage database update journal records. If CA ACF2 is not active, a record number must be specified. If NORSRC is specified, the infostorage cluster is not updated during the recovery process.
[
RULE
(
nnn
)|RULE|NORULE]
Defines the SMF record number for Rule database update journal records, where
nnn
is defined in the ACFFDR. If RULE is specified without an SMF record number and CA ACF2 is active, the value specified in the ACFFDR @SMF macro is used during the recovery process to define the SMF record number for Rule database update journal records. If CA ACF2 is not active, a record number must be specified. If NORULE is specified, the Rule cluster is not updated during the recovery process.
Sample Output
The following is sample output from the ACFRECVR utility:
CA ACF2 SECURITY -ACFRECVR-VSAM FILE RECOVERY UTILITY PAGE 1 DATE 03/31/98 (98.090) 12.26 *** LAST LID ......-..... *** LAST RULE ......-..... *** LAST INFOSTG 98.090-12.20 *** DATE TIME CLUSTER KEY JOBNAME CHANGER CHANGE STATUS 98.016 01/16 10.30 INFO-STG T-SFT-HOLIDAYS TLC429TR TLC429 INSERT REC-REPLACED 98.016 01/16 10.30 INFO-STG T-SFT-SECOND TLC429TR TLC429 INSERT REC-REPLACED 98.016 01/16 11.00 INFO-STG E-SGP-PRGTERMS TLC429SG TLC429 INSERT REC-INSERTED 98.016 01/16 11.00 INFO-STG E-SGP-PRGTERMS TLC429SG TLC429 REPLACE REC-REPLACED 98.016 01/16 11.00 INFO-STG E-SGP-PRGTERMS TLC429SG TLC429 INSERT REC-INSERTED 98.016 01/16 11.00 INFO-STG E-SGP-PRGTERMS TLC429SG TLC429 REPLACE REC-REPLACED 98.016 01/16 11.00 INFO-STG E-SGP-PRGTERMS TLC429SG TLC429 INSERT REC-INSERTED 98.016 01/16 11.00 INFO-STG E-SGP-PRGTERMS TLC429SG TLC429 REPLACE REC-REPLACED 98.016 01/16 11.15 INFO-STG S-SCP-PAYLEAD TLC429SC TLC429 INSERT REC-INSERTED 98.016 01/16 11.30 INFO-STG R-CKC-HM** TLC429RT TLC429 INSERT REC-INSERTED 98.016 01/16 11.45 INFO-STG R-CKC-BLL* TLC429RC TLC429 INSERT REC-INSERTED 98.016 01/16 11.45 INFO-STG R-CKC-ORDE TLC429RC TLC429 INSERT REC-INSERTED 98.016 01/16 11.45 INFO-STG R-CKC-NBILLMST TLC429RC TLC429 INSERT REC-INSERTED 98.016 01/16 19.20 INFO-STG C-GSO-CPU1 NJE ACF2 ACF2 INSERT REC-INSERTED ACF4F100 RECOVERY-TOTAL RECORDS READ=921 ACF4F102 LOGONIDS RECORDS INPUT=0, RECORDS UPDATED=0 ACF4F102 RULES RECORDS INPUT=0, RECORDS UPDATE=0 ACFRF102 INFOSTG RECORDS INPUT=14, RECORDS UPDATED=14
The second title line (at the top of each report page) shows the date and time when the recovery utility was run. This title line also shows the latest time stamp from the VSAM clusters. The time stamp indicates the last change made to each cluster before the recover utility began processing.
Field Descriptions
CHANGE
The type of record update represented by this SMF record.
For logonids:
  • INSERT - a new logonid was inserted into the database.
  • CHANGE - an existing logonid was changed from a user request.
  • DELETE - the indicated logonid was deleted from the database.
  • UPDATE - the logonid was changed during job validation processing.
For access rules and infostorage records:
  • INSERT - a new record was inserted into the database.
  • REPLACE - an old record was replaced.
  • DELETE - the indicated record was deleted from the database.
  • CHANGER
    The logonid of the user who caused the change to occur if applicable.
  • CLUSTER
    The CA ACF2 cluster to which the record applies. This field can take any of the following values.
    • LOGONID - Logonid cluster
    • RULE-ID - Rule cluster
    • INFO-STG - Infostorage cluster.
  • DATE
    The Julian and Gregorian dates from the SMF record being processed. The format of the Gregorian date is either MM/DD or DD/MM, depending on CA ACF2 generation options.
  • JOBNAME
    The name of the job from which the update was made. MSTRJCL and JESx come from updates made during job validation processing.
  • KEY
    This field displays the key of the record that was processed.
    The following table shows what the key represents:
Type of Record
Record Key Consists of
Logonid record
Logonid
Access rule set
Access rule set key
Infostorage record (unstructured)
Storage class, type code, record name
Infostorage record (structured)
Storage class, type code, sysid, record name
  • STATUS
    The action taken for the record by the ACFRECVR utility. The possible actions are:
    • REC-ERASED - the input SMF record was for a deleted record. The corresponding record in the database was erased.
    • REC-REPLACED - the record input has a time stamp greater than the record in the database. This indicates that the input record represents a more recent update, so the input record is stored in the database.
    • REC-INSERTED - the input record key does not match any currently in the database. The input record is inserted into the database.
    • BYP-BEFORE IMG - indicates that the before image of a dataset or resource rule has been skipped because the AFTER image was going to be used. This is the record immediately following this record. * LAB * appears in the Change field as the default label if no service is performed.
    • BYP-NO RECORD* - the input SMF record indicated that the database record should be deleted, but no record with a corresponding key was found in the database.
    • BYP-INV KEY* - an internal consistency check of the SMF record has failed, indicating the SMF record is invalid. Notify CA ACF2 support personnel of this error.
    • BYP-NO ROOM* - the new record was not stored in the database being recovered. This error occurs randomly because of VSAM CA/CI split processing. After the recovery utility completes executing, reorganize the cluster in question (reallocate, if necessary) and rerun the recovery utility without change.
    • BYP-INV TYPE* - the recovery utility did not recognize the update function code in the SMF record processed. Notify CA ACF2 support personnel of this error and ensure that the recovery utility is at the proper release level.
    • BYP-TOD STAMP* - the record was bypassed because the time-of-day stamp checks indicated that the record in the database was more recent than the record represented by the SMF record.
    • BYP-VSAM ERR* - a VSAM error has occurred during ACFRECVR processing. A message is issued indicating the cause of the error. Correct the error condition and rerun the ACFRECVR utility without change.
    • BYP-TYPE SKIP* - the database where this record is to be stored is not processed by the recovery utility because of a NORULE, NOLID, or NORSRC parameter specification.
    • BYP-KEY MASK* - the record was bypassed because the key of the record does not match the KEYMASK specified in the parameters defining the selection criteria.
    Note: The asterisk (*) highlights bypassed status messages. If the status message indicates an error during processing, first correct the error and then rerun the recovery utility without changing the JCL. ACFRECVR time-stamp checks ensure that the most recent record is stored in the database.
  • TIME
    The time of day when the record was issued. This time is in hours and minutes (24-hour clock). The date and time listed in the report are taken from the SMF record time stamp. Internally, ACFRECVR compares time-of-day clock format time stamps that are considerably more accurate.
Sample Recovery Job Stream
The following sample RECOVER JCL sets up the alternate clusters for use (CREATE step) and then runs the ACFRECVR programs against them using the specified SMF files. Each site should tailor the RECOVER JCL as necessary and test it before production use of the CA ACF2 system. Alternate database clusters are created as part of the initial install process. This is done to help the site begin thinking about disaster recovery procedures. Toward this end, two started task procedures are installed in CAI.PROCLIB: ACFBKUP and ACFRECVR. A description and JCL listing of the ACFRECVR procedure follows the sample RECOVER job stream.
//RECOVER JOB 1,'RECOVERY UTILITY',MSGCLASS=A,TYPRUN=HOLD //* //* THIS JOB DEFINES THE ACF VSAM FILES //* EACH INSTALLATION SHOULD FILL IN THE APPROPRIATE VOLSERS //* AND RAISE THE SPACE ALLOCATIONS IF NECESSARY //* //* ************************************************************** //* //* ADJUST AND TEST ACF2 RECOVERY PROCEDURES: //* //* IN JES3 INSTALLATIONS, THE DEFINE STEP MUST BE RUN AS A JOB //* BEFORE THE RECOVER STEP IS RUN AS A SECOND, BUT DEPENDENT, JOB. //* //* AN ALTERNATIVE IS TO HAVE PRE DEFINED ALTERNATE CLUSTERS, //* AND THEN THIS JOB CAN BE TAILORED TO JUST DO THE REPROS AND //* EXECUTE THE RECOVER PROGRAM. ESTABLISH AND TEST LOCAL //* RECOVERY PROCEDURES AS PART OF THE ACF2 INSTALLATION PROCESS //* //* ************************************************************** //CREATE EXEC PGM=IDCAMS,REGION=512K //SYSPRINT DD SYSOUT=* //DISK DD VOL=SER=VSAM01,UNIT=3350,DISP=SHR //BKLIDS DD DSN=SYS1.ACF.BKLIDS,DISP=SHR //BKRULES DD DSN=SYS1.ACF.BKRULES,DISP=SHR //BKINFO DD DSN=SYS1.ACF.BKINFO,DISP=SHR //ABKLIDS DD VOL=SER=PERM01,UNIT=3350,DISP=(,CATLG), // DSN=SYS1.ACF.ABKLIDS,SPACE=(CYL,(2,1)) //ABKRULES DD VOL=SER=PERM01,UNIT=3350,DISP=(,CATLG), // DSN=SYS1.ACF.ABKRULES,SPACE=(CYL,(2,1)) //ABKINFO DD VOL=SER=PERM01,UNIT=3350,DISP=(,CATLG), // DSN=SYS1.ACF.ABKINFO,SPACE=(CYL,(2,1)) //SYSIN DD * DELETE (SYS1.ACF.ALTLIDS) CLUSTER DELETE (SYS1.ACF.ALTRULES) CLUSTER DELETE (SYS1.ACF.ALTINFO) CLUSTER DEFINE CLUSTER(NAME(SYS1.ACF.ALTLIDS) FILE(DISK) VOL(VSAM01) - RECORDSIZE(512,1024) FREESPACE(30,30) UNIQUE OWNER(ACF) KEYS(8,0) - SHAREOPTIONS(2,4)) - DATA(NAME(SYS1.ACF.ALTLIDS.DATA) CYLINDERS(4) - CONTROLINTERVALSIZE(4096)) - INDEX(NAME(SYS1.ACF.ALTLIDS.INDEX) TRACKS(2) - CONTROLINTERVALSIZE(4096)) DEFINE CLUSTER(NAME(SYS1.ACF.ALTRULES) FILE(DISK) VOL(VSAM01) - RECORDSIZE(400,4088) FREESPACE(30,30) UNIQUE OWNER(ACF) KEYS(8,0) - SHAREOPTIONS(2,4)) - DATA(NAME(SYS1.ACF.ALTRULES.DATA) CYLINDERS(4) - CONTROLINTERVALSIZE(4096)) - INDEX(NAME(SYS1.ACF.ALTRULES.INDEX) TRACKS(2) - CONTROLINTERVALSIZE(4096)) DEFINE CLUSTER(NAME(SYS1.ACF.ALTINFO) FILE(DISK) VOL(VSAM01) - RECORDSIZE(400,4088) FREESPACE(30,30) UNIQUE OWNER(ACF) KEYS(44,32) - SHAREOPTIONS(2,4)) - DATA(NAME(SYS1.ACF.ALTINFO.DATA) CYLINDERS(4) - CONTROLINTERVALSIZE(4096)) - INDEX(NAME(SYS1.ACF.ALTINFO.INDEX) TRACKS(2) - CONTROLINTERVALSIZE(4096)) REPRO INFILE(BKLIDS) ODS(SYS1.ACF.ALTLIDS) REPRO INFILE(BKRULES) ODS(SYS1.ACF.ALTRULES REPRO INFILE(BKINFO) ODS(SYS1.ACF.ALTINFO) //* //RECOVER EXEC PGM=ACFRECVR,COND=(4,LT) //SYSPRINT DD SYSOUT=* //SMFRECX DD DSN=SYS1.MANX,DISP=SHR //SMFRECY DD DSN=SYS1.MANY,DISP=SHR //LOGONIDS DD DSN=SYS1.ACF.ALTLIDS,DISP=OLD //RULES DD DSN=SYS1.ACF.ALTRULES,DISP=OLD //INFOSTG DD DSN=SYS1.ACF.ALTINFO,DISP=OLD //SYSUDUMP DD SYSOUT=A
The Procedure
The ACFRECVR procedure is placed into the target system's CAI.PROCLIB during the installation process. Initiate this procedure from the system console. Before using ACFRECVR, synchronize the primary and alternate VSAM cluster dsnames with those specified in the @DDSN macro of the ACFFDR.
Use the ACFRECVR procedure in the event the primary VSAM clusters are damaged and necessity makes you bring up CA ACF2 on the alternate clusters. This procedure executes the ACFRECVR utility using one source of input. Input might be SYS1.MANX, SYS1.MANY or an SMF generation tape. For complete recovery of the clusters, run the ACFRECVR procedure once for each source of SMF data before CA ACF2 is restarted.
Do not permit submission of batch jobs and use of online systems until ACFRECVR completes processing and CA ACF2 is restarted. Do not permit updating of the CA ACF2 database VSAM clusters while ACFRECVR is processing.
The ACFRECVR procedure accepts only one source of input per execution. Therefore, you might have to initiate ACFRECVR two or three times to bring the alternate clusters completely up to date with the primary clusters. Alternatively, you can use the following sample ACFRECVR batch utility program to recover from up to three SMF input sources into the alternate clusters.
//ACFRECVR PROC SOUT=A, SYSOUT OUTPUT CLASS // SYSX=SYS1, ACF2 DSN HIGH LEVEL INDEX // ALT=ALT ALTERNATE CLUSTER NAME //**************************************************************** //* //* FUNCTION: //* //* THIS PROCEDURE IS PROVIDED AS A RECOVERY AID. ITS FUNCTION //* IS TO EXECUTE THE ACFRECVR PROGRAM TO RECONSTRUCT THE ACF2 //* VSAM CLUSTERS. THE DEFAULT FOR THIS PROCEDURE IS TO RECOVER //* INTO THE ALTERNATE VSAM CLUSTERS BUT THE PRIMARY CLUSTERS //* MIGHT BE USED PROVIDED ACF2 IS NOT ACTIVE AT THE TIME. INPUT //* TO THE RECOVERY UTILITY IS THE SMF DATA JOURNALED BY ACF2. //* EITHER THE ONLINE SMF FILES MIGHT BE USED OR A JOURNAL TAPE //* CONTAINING DUMPED SMF DATA. A SINGLE SMF SOURCE FILE IS //* PROCESSED. //* //* //* METHOD: //* //* A SAMPLE EXECUTION MVS START COMMAND FOLLOWS: //* //* S ACFRECVR,TAPE,SMFTAP,DSN=BACKUP.SYS1.MAN1 //* //* THIS STEP MERGES THE SMF JOURNAL RECORDS WITH THE ACF2 //* VSAM CLUSTERS AND PRODUCES AN UPDATED DATABASE. THE SMF //* FILE SEQUENCE IS NOT IMPORTANT BECAUSE THE RECORD TIME //* AND DATE STAMPS DETERMINE WHETHER IT IS APPLICABLE OR //* NOT. RUN THIS TASK AGAINST EACH DESIRED INPUT FILE. //* //* //* NOTE: //* //* THIS PROC SHOULD BE TAILORED FOR USE AT YOUR INSTALLATION //* AND MAINTAINED FOR EMERGENCY USE. //* //* MAINTENANCE LOG: //* //* --------------------------- REL 5.1 -------------------------- //* //* TK51302 01/22/88 REL 5.1 TK51302 //* CHANGE INFOSTG DSN LAST QUALIFIER TO &ALT.INFO INSTEAD TK51302 //* OF &ALT.INFOSTG TO AVOID POTENTIAL JCL ERROR WITH TK51302 //* DEFAULT VALUES. TK51302 //* TK51302 //********************************************************************* //* //IEFPROC EXEC PGM=ACFRECVR //SYSPRINT DD SYSOUT=&SOUT. //SYSUDUMP DD SYSOUT=&SOUT. //* //*-------------------------------------------------------------------- //* OUTPUT: ALTERNATE ACF2 DATABASE CLUSTERS //*-------------------------------------------------------------------- //LOGONIDS DD DISP=OLD,DSN=&SYSX..ACF.&ALT.LIDS //RULES DD DISP=OLD,DSN=&SYSX..ACF.&ALT.RULES //INFOSTG DD DISP=OLD,DSN=&SYSX..ACF.&ALT.INFO TK51302 //* //*-------------------------------------------------------------------- //* INPUT: RAW SMF OR SMF BACKUP FILE //*-------------------------------------------------------------------- //SMFRECX DD DDNAME=IEFRDER //IEFRDER DD DISP=SHR,DSNAME=SMFIN
ACFBKUP Procedure
The ACFBKUP procedure is placed into the target system's SYS1.PROCLIB during installation process. ACFBKUP REPROs the primary sequential backup data sets into the alternate VSAM clusters. The most convenient method of initiating ACFBKUP is through the STRING parameter of the GSO BACKUP record. When ACFBKUP is used in this manner, the alternate clusters are always no more than 24-hours behind the primary clusters.
Before using ACFBKUP, ensure that the primary and alternate VSAM cluster dsnames are the same as those specified in the @DDSN macro of the ACFFDR.
//ACFBKUP PROC SOUT=Z, SYSOUT OUTPUT CLASS // SYSX=SYS1, ACF2 DATABASE HIGH LEVEL INDEX // ALT=ALT, ALT CLUSTER DSNAME MODIFIER // PRIM=, PRIMARY CLUSTER DSNAME MODIFIER // INDS='CAI.CAIPROC', SYSIN DATASET NAME TS85265 // RES=TARGET, SYSIN DATASET VOLUME // U=SYSDA, SYSIN DATASET UNIT // C=' ' ',' = SYSIN NOT CATALOGED //********************************************************************* //* //* FUNCTION: //* //* THIS PROCEDURE IS PROVIDED AS A RECOVERY AID. ITS FUNCTION //* IS TO USE THE CONTENTS OF THE PRIMARY BACKUP DATASETS TO //* UPDATE THE CONTENTS OF THE ALTERNATE VSAM CLUSTERS. IN THIS //* WAY, THE ALTERNATE CLUSTERS WILL ALWAYS BE WITHIN 24 HOURS //* OF THE PRIMARY CLUSTERS. TO MAKE BEST USE OF THIS PROCEDURE //* THE 'BACKUP' GLOBAL SYSTEM OPTION SHOULD SPECIFY: //* //* STRING(S ACFBKUP) - OPTIONAL SYMBOLIC OVERRIDES - //* //* TO ENSURE THAT THIS PROCEDURE IS ALWAYS EXECUTED AS SOON AS //* THE ACF2 BACKUP PROCESS HAS COMPLETED. //* //* //* METHOD: //* //* DELETE AND REDEFINE THE ALTERNATE CLUSTERS. //* //* IDCAMS 'REPRO' IS USED TO REFRESH THE ALTERNATE CLUSTERS //* FROM THE PRIMARY CLUSTER BACKUP DATASETS. //* //*-------------------------------------------------------------------* //* MAINTENANCE LOG //* //* TS85265 04/11/98 RELEASE 6.0 TS85265 //* CHANGES FOR ACF2 6.0 PACKAGING. TS85265 //********************************************************************* //* //*-------------------------------------------------------------------- //* DELETE AND REDEFINE THE ACF2 ALTERNATE CLUSTERS //*-------------------------------------------------------------------- //DELDEF EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=&SOUT. //SYSIN DD DSN=&INDS(ACFBKUPD).,DISP=SHR&C.UNIT=&U.,VOL=SER=&RES. //* //*-------------------------------------------------------------------- //* REPRO ALTERNATE CLUSTERS FROM PRIMARY BACKUP DATASETS //*-------------------------------------------------------------------- //REPRO EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=&SOUT. //SYSIN DD DSN=&INDS(ACFBKUPI).,DISP=SHR&C.UNIT=&U.,VOL=SER=&RES. //* //*-------------------------------------------------------------------- //* INPUT: ACF2 BACKUP DATASETS //*-------------------------------------------------------------------- //BKLIDS DD DISP=SHR,DSN=&SYSX..ACF.&PRIM.BKLIDS //BKRULES DD DISP=SHR,DSN=&SYSX..ACF.&PRIM.BKRULES //* //*-------------------------------------------------------------------- //* OUTPUT: ALTERNATE VSAM CLUSTERS //*-------------------------------------------------------------------- //ALIDS DD DISP=OLD,DSN=&SYSX..ACF.&ALT.LIDS //ARULES DD DISP=OLD,DSN=&SYSX..ACF.&ALT.RULES //AINFO DD DISP=OLD,DSN=&SYSX..ACF.&ALT.INFO TK51302
Using the Alternate Clusters
In the event the primary VSAM clusters become inaccessible or unusable, the contingency procedure outlined in the following illustrates a step-by-step method for using the alternate clusters. The example has been included to show the interrelationship between the various CA ACF2 recovery facilities and should not be misconstrued as a “fail-safe” procedure that works for every site. This example assumes that the alternate clusters are maintained with the primary clusters backup data, as described in the previous section, The ACFBKUP Procedure. The use of the sample commands depicted in this procedure probably vary at each site.
  1. IPL the system, specifying the alternate COMMNDxx member that does not automatically start CA ACF2, or by changing the CAISEC00 member to specify the following:
    ACF2(xx NOSTART)
  2. Initiate the ACFRECVR procedure from the console or through batch. This procedure executes the ACFRECVR utility that reads the SMF database modification journal records created by CA ACF2 and applies any changes necessary to bring the alternate clusters up to date with the primary clusters. If ACFRECVR is initiated from the console, you might have to execute the procedure two or three times, depending on how many SMF input sources must be processed. The following operator command initiates ACFRECVR from the console specifying SYS1.MANX as input:
    S ACFRECVR,SYSX=SYS1,ALT=ALT,DSNAME='SYS1.MANX',DISP=SHR
    When the SMF data is gathered in a LOGSTREAM use the following command instead:
    S ACFRECVR,SYSX=SYS1,ALT=ALT,DSNAME=IFASMF.LOGR.LGSTREAM,SUBSYS=(LOGR,IFASEXIT)"
    Several other SUBSYS-options parameters may be appended to the SUBSYS parameter.
  3. Start CA ACF2 from the system console. Specify the alternate clusters and NOBACKUP parameter. The NOBACKUP parameter turns off the automatic backup facility. (The STRING field of the GSO BACKUP record might cause a job to submit and abend.) The following operator command starts CA ACF2 with the alternate clusters and turns off the automatic backup facility:
    S ACF2,PARM='NOBACKUP,DDSN(ALT)'
  4. CA ACF2 should be up and running on the alternate VSAM clusters.
  5. If the SMF records are processed in a nonascending order, which could be the case in a multi-CPU environment, a record that was deleted might exist in the alternate clusters after ACFRECVR processing completes. To ensure against the inadvertent existence of such records, we recommend that you run the ACFRPTLL, ACFRPTRL, and ACFRPTEL report generators and review the output.
Restoring Primary Clusters
The ACFRECVR utility processes the database update SMF records produced by CA ACF2 and forward merges them into the VSAM clusters to produce an up-to-date set of databases. Each input SMF record contains a time-of-day stamp that is checked to ensure that the most recent record exists in the cluster. Initialize space for the output VSAM clusters before running ACFRECVR. Additionally, the ACFRECVR procedure is placed into the target system's CAI.PROCLIB during the installation process. This procedure executes the ACFRECVR utility and can be initiated from the system console.