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.

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
/*