gtpd1m1o | Database Reference |
The following lists the recoup procedures by phase.
Pre-phase 1 consists of steps to complete before you run recoup on
the TPF system. This phase is not considered to be part of a normal
recoup run.
Notes:
- Cycle your TPF 4.1 system to CRAS state or above.
- To run multiprocessor recoup in a loosely coupled environment, you must
define recoup descriptor container records as core resident across all TPF
images.
- In a loosely coupled environment, you can run pre-phase 1 recoup from any
active processor.
To run pre-phase 1 recoup, do the following:
- Before you run recoup for the first time, allocate #BKMST and #BKWRK as
miscellaneous records with a record type of #IBMM4 and a record ID of BK (for
each subsystem). (In MDBF, assign these records as subsystem
common).
- Ensure that all recoup descriptor container records have been defined as
core resident for each subsystem.
- If this is the first time you are running recoup, or if recoup descriptors
have been changed, assemble the recoup descriptors on the offline MVS
operating system.
- If recoup descriptors were created or changed, enter the ZOLDR LOAD
command to load the assembled descriptors.
- If new recoup descriptors were loaded to a TPF image, enter the ZRBKD
command, specifying the MOVE parameter to move the assembled descriptors to
the BKD load control record (BK0LC).
- Enter ZRBKD DISP ALL to ensure that all the descriptors used
for recoup are loaded in the BKD load control record (BK0LC) in the order in
which you want them to run.
- If TPFCS was not initialized previously on your TPF system, enter
ZOODB INIT to initialize TPFCS recoup before running recoup for the
first time.
- Enter ZRECP SETUP once on each subsystem in which you run
recoup.
- Create TPFCS recoup indexes for any user-created collections that contain
embedded references and associate the recoup indexes with the appropriate
collections.
- Enter the ZPROT DSP command to display the processor that owns the POOL
utility. If the POOL utility is not assigned to the primary processor
from which recoup will be started, enter the ZPROT command to assign ownership
of the POOL utility to that processor.
- Enter the ZRECP PROFILE command to display and make any necessary changes
to your recoup run-time options.
- If you have the TPFDF product installed and want to log errors online,
enter ZRECP ELOG ON.
Before running recoup phase 1, consider the following:
- In a loosely coupled environment, all processors can be in 1052 or NORM
state:
- If recoup is started in 1052 state, you can cycle up the TPF system
later.
- Note:
- Recoup phase 1 timeout processing is not active while the TPF system is in
1052 state. In other words, entry control blocks (ECBs) that are in an
endless pool chain loop cannot time out when the TPF system is in 1052
state. However, the timeout processing of TPFCS data stores is still
active.
- If recoup is started or running in NORM state, you cannot cycle down the
TPF system until phase 1 is completed or a looping ECB error will
occur.
- System performance can be affected by the number of ECBs being used by
recoup phase 1. You can enter the ZRECP LEVEL command any time during
recoup phase 1 to change the number of ECBs that recoup phase 1 can have
active at any one time.
To run phase 1 recoup, do the following:
- Ensure that all processors are in the correct system state.
- Enter the ZRECP START command to start recoup.
- When the RECP0020A - MOUNT RCP TAPE FOR OUTPUT message is displayed,
mount the RCP general tape as an active blocked output tape. The RCP
general tape must be mounted in the first subsystem user of the
subsystem. The default is the BSS.
- When the RECP004CA - ENSURE STANDBY RTA AND ALT TAPE MOUNTED FOR
PHASE 1 message is displayed, mount a standby RTA and an ALT tape.
(Recoup causes an RTA tape switch to occur.)
- If you want to display or change your recoup run-time options, enter the
ZRECP PROFILE command now (before you enter the ZRECP RECALL command).
- Enter ZRECP RECALL after the RCP, standby RTA, and ALT tapes
have been mounted. This command makes the control program file all
records in virtual file access (VFA) if the TPF system is higher
than 1052 state.
Notes:
- You can enter the ZRECP STATUS command at any time during phase 1 to
display summary status information about recoup phase 1 processing.
- If you have the TPFDF product installed and error logging is on, you can
enter the ZRECP ONEL command at any time during phase 1 to display information
about any errors that were found during phase 1.
- If you are running recoup on more than one processor, enter (from the
primary recoup processor) the ZRECP START command, specifying the PROC
parameter for each processor that is going to run recoup.
- If you receive the RECP0012A - FIXED ERROR - RESPOND and the
RECP0014A - DEFERRING TIL SEL RECOUP COMPLETE OR CONTINUE RESPOND
message, have your system programmer correct the problem and selectively add a
record ID to a recoup run. See Selectively Add a Record ID to a Recoup Run.
- You will receive the RECP0016I - PHASE I COMPLETED message when
recoup phase 1 is completed.
Fixed records that are found in error during recoup chain chase processing
are noted on a prime computer room agent set (CRAS) console during
recoup phase 1 processing. Selectively adding a record ID to a recoup
run allows you to correct and reprocess these records. If, after
correcting the errors, you want to reprocess the records in error, enter the
ZRECP SEL command for each record that you want to reprocess. This
allows the corrected records to be included in the recoup run.
- Note:
- TPFCS persistent identifiers (PIDs) can be reprocessed in a similar
way.
To restart phase 1, do the following:
- Ensure that the TPF system is in the state in which you originally
started.
- Remount an RCP tape as active output. (The RCP tape must be mounted
in the first subsystem user of the subsystem.)
- Enter ZRECP RESTART on the primary processor.
Recoup phase 2 starts and runs without operator intervention. Recoup
phase 2 writes error information to the RCP tape and, depending on your
run-time options and online error log settings, online log files.
- Note:
- If you do not have the TPFDF product installed, you cannot use the online
error log. You will have to process the RCP tape offline using the BRFA
program. See Broken Chain Report (BRFA) Program.
You can find additional information on commands in TPF
Operations:
- See the ZRECP PROFILE command for more information about run-time
options.
- See the ZRECP ELOG command for more information about turning on online
error logging.
- See the ZRECP ONEL command for more information about displaying errors
found during chain chasing.
Chain chasing multiple records that point to the same pool address, from
different processors, causes ID counts for those pool addresses to be
incorrect, because the pseudo directories are processor unique. These
double-counted addresses are reported during recoup phase 2. Before you
run recoup again, change the descriptor or DBDEF macro statement for the
identified record to force cross-chained databases to be chain chased on the
same processor.
For each of the possible error conditions determined by phase 1 recoup,
separate listings are produced in phase 2. These listings are as
follows:
- Broken chains due to invalid ID
- Broken chains due to invalid RCC
- Broken chains due to software errors
- Broken chains due to hardware error
- Broken chains due to invalid control information
- Note:
- Pool addresses with error types 1, 2, and 3 are set to available in
the pseudo directories recoup builds if no valid reference to those addresses
are found. Pool addresses with hardware errors and control information
errors are not returned to the pool, and will remain in IN-USE state.
The phase 2 listings show the following information:
- Reference From
- Contains the record ID, RCC, and file address of the record that sought
the next address in the chain that it was chasing.
- Seek Address
- Contains the record ID, RCC, and the file address of the record that was
sought by the referenced from record.
- Err
- For ID or RCC errors only; contains the record ID or RCC of the
record that was found by the referenced from record.
These listings can be in more than one part if all the error items could
not fit in main storage at one time. A double asterisk in the left-hand
margin shows that the line contains the total number of errors for that part
of the listing. A single asterisk shows that the line contains the
total errors for the record type shown.
The following shows an example of the broken chain report:
BROKEN CHAINS DUE TO INVALID ID PART 1 PAGE 1 01131
********************************************************************************************************************************
* REFERENCE FROM LOCATION SEEK ADDRESS INFO ERROR / REFERENCE FROM LOCATION SEEK ADDRESS INFO ERROR *
* / *
* ID RC FILE ADDRESS DISP ID RC FILE ADDRESS ID/RC / ID RC FILE ADDRESS DISP ID RC FILE ADDRESS ID/RC *
********************************************************************************************************************************
* JA 00 00000000FC3C0001 0040 JB 00 00000000001492F1 FC10 / JA 00 00000000FC3C0001 0028 JE 00 00000000001492ED FC10 *
* JA 00 00000000FC3C0005 0060 JB 00 00000000001492FD FC10 / JA 00 00000000FC3C0005 0040 JB 00 00000000001492F9 FC10 *
* JA 00 00000000FC3C0005 0028 JE 00 00000000001492F5 FC10 / JA 00 00000000FC3C0009 0040 JB 00 0000000000149311 FC10 *
* JA 00 00000000FC3C0009 0028 JE 00 000000000014930D FC10 / JA 00 00000000FC3C000D 0060 JB 00 000000000014931D FC10 *
* JA 00 00000000FC3C000D 0040 JB 00 0000000000149319 FC10 / JA 00 00000000FC3C000D 0028 JE 00 0000000000149315 FC10 *
*
** 10 = NUMBER OF BROKEN CHAINS FOR ID TYPE JA *
*
* JG 00 00000000FC3E0001 0200 KB 00 000000000827BA09 FC10 / JG 00 00000000FC3E0001 0100 KA 00 000000000827BA05 FC10 *
* JG 00 00000000FC3E0001 0060 K8 00 00000000001493B9 FC10 / JG 00 00000000FC3E0001 0050 K8 00 00000000001493B5 FC10 *
* JG 00 00000000FC3E0001 0040 K8 00 00000000001493B1 FC15 / JG 00 00000000FC3E0001 0030 K8 00 00000000001493AD FC15 *
* *
** 6 = NUMBER OF BROKEN CHAINS FOR ID TYPE JG *
********************************************************************************************************************************
A summary listing is also printed that gives the type of errors, the total
number of errors per error type, and the number of parts in the listing for
each error type.
The following shows an example of the summary listing:
RECOUP FILE ANALYSIS
****************************************************************************
* ERROR TYPE * TOTAL ERRORS * NO. OF PARTS IN LISTING *
****************************************************************************
* * * *
* INVALID RECORD ID'S * 5 * 1 *
* * * *
* INVALID RCC'S * 0 * 0 *
* * * *
* SOFTWARE ERRORS * 0 * 0 *
* * * *
* HARDWARE ERRORS * 0 * 0 *
* * * *
* INVALID CONTROL INFORMATION * 0 * 0 *
****************************************************************************
Phase 3 can be started and run in 1052 or NORM state. It should,
however, remain in the state that it was started until it is completed.
To run phase 3 recoup, do the following:
- Once recoup phase 2 has ended (online recoup displays a PHASE 2 COMPLETED
message), enter ZRECP RESUME.
- When you receive the RECP ENTER ZRECP PROTECT OR IGNORE TO CONTINUE
message, enter ZRECP PROTECT or ZRECP IGNORE.
Notes:
- The ZRECP PROTECT command immediately protects pool addresses that were
found to be erroneously available from being used by the TPF system. If
no pool addresses were found to be erroneously available, enter the ZRECP
IGNORE command instead.
- You can enter ZRECP DISPLAY ERRON to display pool addresses that were
found to be erroneously available.
- When you receive the RECP BUILD LOST ADDR EXCLUSION TABLE NOW AND REBUILD
DIRECTORIES OTHERWISE ENTER ZRECP NOREBUILD TO CONTINUE message, do one of the
following:
- Rebuild the directories as follows:
- If you want to add the record ID of a lost pool address to the exclusion
or inclusion table, enter the ZRECP ADD command.
- Note:
- You can enter ZRECP DISPLAY LOST to display pool addresses that were found to
be lost.
- Enter ZRECP REBUILD to rebuild the directories and continue
recoup.
- Enter ZRECP NOREBUILD to bypass rebuilding the directories and
continue recoup.
- When you receive messages indicating ACTIVITY DURING RECOUP, PSEUDO
DIRECTORY COUNTS, and RECOUP ACTIVITY COUNTS, have a system programmer analyze
the information to determine whether the directories created by recoup should
be rolled in to the online system. Run recoup phase 5 for more detailed
information. See Phase 5 Procedures for more information.
- When you receive the DESTRUCTIVE SEGMENT RESPOND ENTER ZRECP PROCEED TO
ROLLIN OR ZRECP SKIP/ZRECP ABORT TO BYPASS ROLLIN message, do one of the
following:
- Enter ZRECP PROCEED to roll in directories.
- Note:
- If you run recoup phase 3 in NORM state, ZRECP PROCEED does not roll in pool
directories that are in the active or standby state, but writes these
directories to released pool address (FC33) records and the RTA tape.
These directories are processed during the next online pool update run.
Therefore, the display of the pool counts is slightly lower than the display
of the counts in the pseudo directories.
- Enter ZRECP SKIP to skip the rollin.
- Enter ZRECP ABORT to end recoup phase 3.
If an error occurs during recoup phase 3, you can fix the error and restart
recoup phase 3 from the point of the error.
- Note:
- Do not enter the ZRECP RESTART command to restart phase 3 if the TPF system
IPLed after you entered the ZRECP PROCEED command because this can destroy the
database. You must start recoup again from phase 1.
To restart phase 3 recoup, do the following:
- Ensure the TPF system is in the same system state it was in when you
entered the ZRECP RESUME command to start recoup phase 3.
- Enter ZRECP RESTART.
- Continue with the normal phase 3 procedures.
Integrated online pool maintenance and recoup support merged the recoup
phase 3 and phase 4 functions into what is now called phase 3. Recoup
phase 4 no longer exists.
Recoup phase 3 generated an online file or ADR tapes that contains the file
addresses of lost and erroneously available file pool records. In a
loosely coupled environment, you can run phase 5 from any of the active
processors, but it must remain in the processor where it started and can only
be accessed from that processor.
To obtain a selective dump of the file addresses of lost and erroneously
available file pool records do the following:
- If lost and erroneously available file pool records were written to ADR
tapes, do the following for each ADR tape:
- Mount the ADR tape as an active unblocked input tape on the online
system.
- Enter ZRECP DUMP to write the first 32 bytes of each record
whose file address is listed on the ADR tapes to RTL tapes.
- If lost and erroneously available file pool records were written to an
online file, enter ZRECP DUMP to write the first 32 bytes of each
record whose file address is listed on the online file to RTL tapes.
Notes:
- When all the addresses are processed, status message RECP0000I is
displayed.
- If an unplanned shutdown occurs during ZRECP DUMP command processing, you
must enter ZRECP DUMP RESTART after the TPF system IPL
to continue the job. Restarting recoup phase 5 dump processing can
cause recoup phase 7 output to show duplicated record IDs and incorrect
counts.
The RTL tapes can subsequently be processed by the postprocessor
(STPP) or summarized by record ID through the phase 3 output
analyzer (phase 6 and phase 7).
The following headers and message formats accompany the record dumps on the
RTL tape:
***START OF RECOUP SELD - LOST ADDRESSES FIRST***
***RECOUP SELD - START OF ERRONEOUSLY AVAIL ADRS***
Phase 6 consists of postprocessing the RTL tapes created by phase 5 under
the postprocessor (STPP). Phase 7 consists of a BPR0 offline
program that processes the same RTL tapes and creates listings for more
information. This program summarizes the output of the phase 3
run. Lost addresses are summarized first and erroneously available
addresses, if any, are summarized next. Use the sample JCL provided in Phase 6 JCL and Phase 7 JCL to run these phases.