Processes and data flow
The HD Pointer Checker processor (FABPMAIN) controls and invokes all or some of the following HD Pointer Checker processes and DFSORT processes as one job based on the control statements.
- SCAN process
- CHECK process
- BLOCKMAP process (this process is run only when pointer errors are detected)
SCAN process
The SCAN process reads the input database data sets or image copy data sets. The process also includes the following processes:- For HISAM
- The SCAN process creates sort records, or sums hash values for pointers and segments in the HISAM databases.
- For INDEX and PSINDEX
- The SCAN process creates sort records and key records for pointers in the HIDAM and PHIDAM primary index and secondary index databases. It also sums up hash values for pointers to the HIDAM, PHIDAM, and primary databases.
- For HDAM, HIDAM, PHDAM, and PHIDAM
- The SCAN process creates sort records, or sums up hash values for pointers and segments in the HDAM, HIDAM, PHDAM, and PHIDAM databases. It also creates both key records for source segments and root segment key records in the HDAM, HIDAM, PHDAM, and PHIDAM databases for the Index Key check. The root segment key records are also created in the KEYSIN data set.
The SCAN process also:
- Reads RECON data sets and validates the HALDB partition reorganization numbers (HALDB Reorganization Number Verification).
- Prints statistical information, database error messages, and error-correction data (maps and dumps of database blocks).
- Runs DFSORT (or its equivalent program), and sorts all of the sort records.
CHECK process
The CHECK process includes the following processes:- HASH Check
- This process matches the hash totals of pointers and segments generated by the SCAN process (HISAM, INDEX, and HDAM/HIDAM/PHDAM/PHIDAM processes) to give a general indication of database integrity.
- Validate/Evaluate
- This process validates pointers, evaluates segments, prints database error messages, and creates a control record for each database error.
- Index Key Check
- This process matches key data between index pointer segments and HIDAM/PHIDAM root segments, or HISAM, HDAM, HIDAM, PHDAM, or PHIDAM pointer source segments. This process also prints database error messages.
- Symbolic Pointer Checking
- This process validates symbolic LP pointers and secondary index symbolic pointers.
- EPS Healing and Checking
- This process refers to the indirect list data set (ILDS) and validates the inconsistency among the HALDB Extended Pointer Sets, indirect pointers in the ILDS, and the RBAs of pointed segments.
- HALDB Duplicate ILKs Checking
- This process checks for corrupted HALDB partition reorganization numbers and incorrect ILKs.
BLOCKMAP process
The BLOCKMAP process prints error-correction data (pointers to segments with errors, and the maps and dumps of database blocks that contain the segments with errors). This process can run as a separate job (or job step) on the control statements.
Data flow
The following figure shows the data flow for HD Pointer Checker.
The three processes of HD Pointer Checker (SCAN, CHECK, and BLOCKMAP processes) are typically run in a single job step as shown in the figure. This execution type is referred to as single-step job. They can also be separated into multiple job steps or multiple jobs. Such execution type is referred to as multiple-step job.
You can specify the execution type by using the PROCCTL PROC TYPE keyword. PROC TYPE=ALL specifies to run all these processes in a single-step job. If you want to run these processes individually or in a multiple-step job, use PROC TYPE=SCAN, TYPE=CHECK, or TYPE=BLKMAP. For more information about the TYPE keyword, see PROC statement.
You can run HD Pointer Checker for several databases in a single run. The best way is to run with a minimal set of logically related databases in one job.
- FABTROOT program prints the Actual Roots Per Block report and creates sort records to be used to create other reports.
- DFSORT (or its equivalent program) sorts all of the sort records from the previous job step.
- FABTRAPS program prints the Assigned Roots Per Rap report and the Assigned Roots Per Block report.
Disk Address Analyzer (FABPCHRO program) is usually run in a stand-alone job. The FABPCHRO program prints the absolute disk address of user-specified relative byte addresses. For more information, see Using Disk Address Analyzer.
The following table can be used as a guide in selecting the proper job process.
Job function | Job processes | Applicable database |
---|---|---|
Checking pointers | FABPMAIN | This process accepts any combination of databases. |
Checking pointers and root-segment locations |
|
The FABPMAIN process accepts any combination
of databases. FABTROOT, DFSORT, and FABTRAPS processes accept HDAM, HIDAM, PHDAM, and PHIDAM databases. |
Finding disk addresses | FABPCHRO | Any database |