HALDB Partition Data Set Initialization utility (DFSUPNT0)
Use the HALDB Partition Data Set Initialization utility
(DFSUPNT0) to initialize HALDB partitions.
The DFSUPNT0 utility normally initializes only partitions
that are flagged in the RECON data set as needing to be initialized
(PINIT=Y); however, you can have the DFSUPNT0 utility initialize partitions
unconditionally, which initializes partitions even when they are recorded
in the RECON data set as PINIT=N. Any data in a partition that is
initialized unconditionally is lost.
You can specify either
HALDB master database names, partition names, or both:
If a HALDB master database name is specified, then all of the
partitions in the database that are identified in the RECON data set
as requiring partition initialization are initialized.
If a HALDB partition name is specified as a SYSIN statement, then
initialization for that partition is done unconditionally, and PINIT=N
is set in the partition record in the RECON data set.
If a DFSOVRDS DD statement is specified, then all partitions in
a HALDB database are unconditionally initialized.
The DFSUPNT0 utility is recommended for use with existing
HALDB databases because the utility provides complete checking and
validation of each partition by IMS.
To initialize partitions when converting a database to HALDB, you
can also use the Database Prereorganization utility (DFSURPR0).
You
can specify a HALDB master database name on the EXEC parameter list
submitted to the IMS Region Controller
or as a statement in the SYSIN data set. If you use SYSIN statements
you can specify multiple HALDB master database and partition names.
You
can specify partition names only as statements in the SYSIN data set.
You can specify multiple partition names.
The DFSUPNT0 utility
can be executed as multiple job tasks. Specifying each partition in
a separate DFSUPNT0 job and then running those jobs simultaneously
can greatly improve the overall partition initialization process.
You
can also run multiple jobs without specifying partition names, but
this is not recommended. Each task attempts to initialize all required
partitions found in RECON and serializes around the initialization
function using a system enqueue. After a successful enqueue, DBRC
is queried for a list of partitions requiring initialization. Partitions
requiring initialization different from the ones at job batch initialization
time are ignored. Partitions that required initialization at batch
initialization time but no longer require it are ignored. Only partitions
that still require initialization after the enqueue are initialized.
The DFSUPNT0
utility will work on full-function HALDB databases only.
Utilities that alter databases cannot be run while the
database is quiesced.
Prerequisites
Before
you run the DFSUPNT0 utility, you must define all data sets to z/OS® that will by dynamically allocated
by the DFSUPNT0 utility.
Requirements
To
run the DFSUPNT0 utility you must satisfy various operational requirements.
The
following requirements apply when using the HALDB Partition Data Set
Initialization utility:
Data sets are dynamically allocated and must have been previously
defined.
DBRC is required.
RECON DD statements are required if not dynamically allocated.
Do not code JCL DD statements for partition data sets. Partition
data sets must be dynamically allocated by IMS based on information from the RECON.
Recommendations
The
DFSUPNT0 utility is recommended for use with existing HALDB databases.
The utility provides complete checking and validation of each partition
by IMS. To initialize partitions
when converting a database to HALDB, you can also use the Database
Prereorganization utility (DFSURPR0).
To improve overall performance
of the partition initialization process for a HALDB database, use
separate DFSUPNT0 jobs to initialize each partition in a HALDB database
and then run those jobs simultaneously.
Input and output
The
primary inputs to the DFSUPNT0 utility are partitions requiring initialization.
The partition data sets do not need to be allocated.
The primary
outputs of the DFSUPNT0 utility are initialized partitions.
Return codes
The
following return codes are provided at program termination:
Code
Meaning
0
Successful completion.
8
Processing error or the format of the DFSOVRDS DD statement is
incorrect.
12
Invalid input or IMS control
block.
16
Environment or user error.
32
Abend returned from attach of IMS.
99
Internal logic error.
JCL specifications
The DFSUPNT0 utility is executed
as a standard z/OS job. The
JCL specifications for the DFSUPNT0 utility include a JOB statement,
the EXEC statement, and the DD statements. One or more utility control
statements must be/can be included with the JCL statements.
The
following JCL statements are required:
A JOB statement that you define to meet the specifications of
your installation.
An EXEC statement
DD statements that define inputs and outputs
EXEC statement
Two
EXEC statements are possible; one is without a SYSIN, and one is with
a SYSIN. Only a master database name can be passed on the EXEC statement.
Partition names are only allowed as SYSIN statements.
For the
examples in this topic,
if you are using DBRC without dynamic allocation, you must add the
DD statements to the sample JCL, as shown in the figure below:
This JCL initialized all database partitions recorded
in RECON as PINIT for HALDB master databases DBVHDJ05 and DB0HIDK5.
If a partition name is specified for a HALDB master database, the
partition is initialized unconditionally and is recorded in RECON
with PINIT off.
DD statements
STEPLIB DD
Points to IMS.SDFSRESL, which contains the IMS nucleus and required action modules. If STEPLIB is unauthorized by having unauthorized libraries concatenated to IMS.SDFSRESL, a DFSRESLB DD statement must be included.
DFSRESLB DD
Points to an authorized library that contains the IMS SVC modules.
IMS DD
Defines the libraries containing the DBD and PSB that describe
the database to be analyzed. These data sets must reside on a direct-access
device. This statement is required and must always define the DBD
library. The PSB library is only required when PARM=DLI is specified.
RECON1 DD
Defines the first DBRC RECON data set.
RECON2 DD
Defines the second DBRC RECON data set. This RECON data set must
be included if the area is registered in the DBRC RECON data set.
RECON3 DD
Defines the optional DBRC RECON data set used when an error is
encountered in RECON1 or RECON2. This RECON data set must be the same
RECON data set as the control region is using.
Note: Do not use
these RECON data set ddnames if you are using dynamic allocation.
SYSIN DD
Defines the input control data set for this program. The data
set can reside on tape, on a direct-access device, or be routed through
the input stream. LRECL and BLKSIZE must both be 80.
SYSPRINT DD
Defines the message output data set. The data set can reside on
a printer, a tape, or a direct-access device, or be routed through
the output stream.
DCB parameters specified within this program
are RECFM=FB, LRECL=120. If BLKSIZE is specified, it must be a multiple
of 120.
This DD statement is required.
The SYSPRINT
data set is also used to return error messages to the user.
The
following figure is an example of DFS391I output to SYSPRINT:
Figure 1. DFS391I output to SYSPRINT
DFS391I PARTITION INITIALIZATION UTILITY
DFS391I SYSIN CONTROL CARDS
DFS391I POHIDJB
DFS391I PHVNTKA
DFS391I POHIDJC
DFS391I POHIDJA
DFS391I END OF SYSIN CONTROL CARDS
SYSUDUMP DD
Defines a dump data set.
DFSVSAMP DD
Describes the data set that contains the buffer information required
by the DL/I Buffer Handler.
DFSOVRDS DD
Defines the option for unconditional partition initialization.
You can initialize a HALDB database and all of its partitions by using
this override option, even when the PARTITION INIT NEEDED flag in
the RECON is not set to Y.
The only valid input for the DFSOVRDS
DD statement is the character string INITALL or DD DUMMY. Any input
other than INITALL or DD DUMMY causes the utility to issue a WTO message
DFS1987I with reason code 19: THE DFSOVRDS DD CARD HAS AN INVALID
INPUT.
The format of the DFSOVRDS DD statement is shown in
the following figure.
Figure 2. DD statement for unconditional partition initialization
//DFSOVRDS DD *
INITALL
Attention: All previously existing
partition data for all the HALDB partitions is lost. Any input other
than the string INITALL will be ignored by the utility, as if DFSOVRDS
DD is not specified.