How does RC/Migrator ensure that when tables are unloaded and then reloaded the correct utility parameters are produced so that the process is correctly streamlined?

Document ID : KB000054189
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

When tables are unloaded of their data and the database objects rebuilt the unloaded data must then be reloaded to complete the task.

When RC/Migrator generates analysis output it must streamline the generated code so that the format in which the data is unloaded is correctly recognised by the load utility to ensure that the whole process runs smoothly.

Solution:

When producing an analysis of a strategy a user is able to choose a utility model and select combinations of utilities for code generation.

These are combinations of Fast Unload, Batch Processor Unload, Fast Load and IBM Load.

These selections are made using RC/Migrator's Utility Model Services prior to the analysis and are stored as a distinct MODEL. Many distinct variations can be created.

Combinations that are valid include:

Fast Unload/Fast Load
Fast Unload/IBM Load
Batch processor Unload/IBM Load

This combination is not supported:

Batch Processor Unload/Fast Load
This is because the Fast Load model does not support the record format unloaded by Batch Processor Unload as it has special record continuation characters.

Each utility model has individual elements for each utility type. Each of these contains variables which are automatic or user specified that help to streamline the code that is generated.

Each of the sections below will highlight particular variables which start with "%" that are often part of utility parameters for that particular utility.

Note that the actual utility syntax of IBM's Unload utility and DSNTIAUL application are also not supported by the RCM Models although Batch Processor Unload and Fast Unload can unload in DSNTIAUL format.

The Unload Utilities

Fast Unload Model Element (FUNLD)

%OUTFORM

This automatic variable is used by model services to determine what type of record format will be produced depending on the type of utility being used at load time.

%OUTFORM is resolved as "DSNTIAUL" or "LOAD" format depending on the needs of the LOAD utility. RC/Migrator is aware of which load utility will be used.

BATCH PROCESSOR UNLOAD(UNLOAD)

%COLUMNS

This variable produces all the correct syntax for each column being unloaded depending on whether there have been changes in the column order or characteristics and the type of load utility being used.

It's not just a list of columns but a list that is prepared based on how the records will be unloaded.

Fast Unload model element (FUNLD) and Batch processor Unload(UNLOAD)

These two model elements both contain the %LARGE and %SELECT variables.

%LARGE

The variable is a constant value defined in the model by the user that is used to establish the data volume size limit at which the unload dataset(SYSREC) is allocated to either DISK or TAPE. The model has conditional logic which determines if syntax to create a tape or disc dataset is generated based on this value of %LARGE in comparison with the %REORGP value. %REORGP calculates the estimated pages for a tablespace.

This constant value which is set inside the FUNLD and UNLOAD model elements must match the same value to be found in the Load models (LOAD and FLOAD) models.

Warning message RMA742W is displayed if these do not match.

%SELECT

This variable produces a list of selected columns in the correct order which are being unloaded from the source table. This must match with the columns generated by the %COLUMNS variable during the Load utility.

The LOAD Utilities

Fast Load (FLOAD)

The FLOAD model element contains two automatic variables which help to streamline the generation of the LOAD task.

INPUT-FORMAT %INFORM
The %INFORM automatic variable is used to set the INPUT-FORMAT for FAST LOAD. It is set to SEQ if FAST UNLOAD uses OUTPUT-FORMAT
DSNTIAUL. It is set to UNLOAD if FAST UNLOAD uses OUTPUT-FORMAT LOAD.

OUTPUT-CONTROL %OUTCNTL
The %OUTCNTL automatic symbolic resolves to 'BUILD' or 'ALL' based the value assigned to %OUTFORM by Fast Unload. If %OUTFORM is resolved to DSNTIAUL, then %OUTCNTL will be resolved to ALL otherwise %OUTCNTL is resolved to BUILD.

IBM LOAD (LOAD)

The LOAD model element contains one automatic variable which helps to streamline the generation of the LOAD task.

%LOADCALL
If the data was unloaded with Batch Processor Unload then it adds in code to look for a continuation char x'FF' at column 72 otherwise it does not look for any continuation char because the data comes from Fast Unload.

Fast Load (FLOAD) and IBM LOAD (LOAD)

%COLUMNS

This variable produces all the correct syntax for each column being loaded depending on the type of UNLOAD that was produced. This can also vary depending on whether there have been changes in the column order or characteristics. It's not just a list of columns but a list that is prepared based on how the records were unloaded.

Documentation Reference

Information about RC/Migrators Utility Model Services can be found in the RC/Migrator User Guide. Fast Unload , Fast Load and Batch Processor have User Guides. Information about the IBM LOAD Utility can be found in the DB2 Utility Guide and Reference. Information about DSNTIAUL can also be found in the DB2 Utility Guide and Reference.