Tips and best practices for the FPA Resync function
The FPA Resync function supports several keywords that improve the performance of FPA Resync jobs and that further simplify management of DEDBs.
Improving performance
- Specify the number of areas to scan concurrently
- When you synchronize multiple areas with their secondary index
databases, use the ITASKCTL keyword to control the number of areas
to scan concurrently. The default value of the ITASKCTL keyword is
4. Change the value to optimize the run time and CPU time of the FPA
Resync job.
Increasing the value of the ITASKCTL keyword might affect the resources in the following ways:
- Reduced job run time.
- Slightly increased CPU time.
- Increased region size.
For more information, see ITASKCTL keyword.
- Specify the number of secondary indexes to verify concurrently
- When you synchronize multiple secondary indexes with their DEDB
areas, use the OTASKCTL keyword to control the number of secondary
indexes to verify concurrently. The default value of the OTASKCTL
keyword is 4. Change the value to optimize the run time and CPU time
of the FPA Resync job.
Increasing the value of the OTASKCTL keyword might affect the resources in the following ways:
- Reduced job run time.
- Slightly increased CPU time.
- Increased region size.
For more information, see OTASKCTL keyword.
- Specify the interval between synchronization points
- Use the SYNC keyword to reduce the number of SYNC calls that FPA
issues during a job. The default value of the SYNC keyword is 1000.
Therefore, for every 1000 segments, FPA issues a SYNC call to update
secondary index databases.
For more information, see SYNC keyword.
- Pre-load CIs into data space storage
- If you specify ICACHE=YES, FPA pre-loads the control intervals
(CIs) from the DEDB areas into data space storage and accesses the
CIs in data space storage instead of accessing the CIs in VSAM data
sets. Therefore, the run time of the job decreases. The pre-loaded
CIs include those in IOVF and SDEP portions of the areas.
ICACHE=NO is recommended only for the following situations:
- You specify a large value for the ITASKCTL keyword. In this case, data from all concurrently processed DEDB areas is pre-loaded into data space storage concurrently, and the amount of data space that the thread tasks of FPA use might be considerable.
- No segments or only a few segments exist in the IOVF and SDEP portions. In this case, there is no advantage to pre-loading IOVF and SDEP portions into data spaces.
For more information, see ICACHE keyword.
- Synchronize secondary indexes concurrently by submitting multiple jobs
- The FPA Resync function cannot concurrently update secondary indexes
in one job. To update multiple secondary indexes concurrently, create
multiple Resync jobs and submit them at the same time.For more information, see the following topics:
Using the function more effectively and efficiently
- Perform syntax check
- If you specify SCAN=YES on the GLOBAL command, FPA does not run
the build index process but it checks the syntax of the commands,
keywords, and parameters that you specify in the JCL. Use this
option if you want to verify the syntax of HFPSYSIN control statements
when you create new JCL.
For more information, see SCAN keyword.
- Automatically estimate the space required for unverified resync pointer segment record data sets
- FPA can automatically estimate the data set size and dynamically
allocate the data sets that are required for unverified resync pointer
segment records. Specify the following keywords:
- Specify the RESYNCMODE=AREASCAN option on the INDEXBLD command.
- Specify the FILECTL subcommand.
- Specify the DISP=NEW option on the FILECTL subcommand.
Do not specify the SPACE keyword on the FILECTL subcommand. If you specify the SPACE keyword, FPA uses the values that you specify for the keyword to allocate the data sets.
Resolving problems
- WER039A INSUFFICIENT VIRTUAL STORAGE
- If this message was issued during the SYNCSORT process, use the xTAKCTL
keyword to reduce the number of areas to process concurrently, and specify the following DD
statement in your
JCL.
//$ORTPARM DD* VSCORE=256K,VSCORET=3M,MINCORE=256K /*