An indexed sequential data set has three areas: prime, index, and
overflow. Space for these areas can be subdivided and allocated as
follows:
- Prime area—If you request only a
prime area, the system automatically uses a portion of that space
for indexes, taking one cylinder at a time as needed. Any unused space
in the last cylinder used for index will be allocated as an independent
overflow area. More than one volume can be used in most cases, but
all volumes must be for devices of the same device type.
- Index area—You can request that
a separate area be allocated to contain your cylinder and master indexes.
The index area must be contained within one volume, but this volume
can be on a device of a different type than the one that contains
the prime area volume. If a separate index area is requested, you
cannot catalog the data set with a DD statement.
If the total space occupied by the prime
area and index area does not exceed one volume, you can request that
the separate index area be imbedded in the prime area (to reduce access
arm movement) by indicating an index size in the SPACE parameter of
the DD statement defining the prime area.
If you request space
for prime and index areas only, the system automatically uses any
space remaining on the last cylinder used for master and cylinder
indexes for overflow, provided the index area is on a device of the
same type as the prime area.
- Overflow area—Although you can request
an independent overflow area, it must be contained within one volume
and must be of the same device type as the prime area. If no specific
request for index area is made, then it will be allocated from the
specified independent overflow area.
To request that a designated number
of tracks on each cylinder be used for cylinder overflow records,
you must use the CYLOFL parameter of the DCB macro. The number of
tracks that you can use on each cylinder equals the total number of
tracks on the cylinder minus the number of tracks needed for track
index and for prime data. That is:
Overflow tracks = total tracks
- (track index tracks + prime data tracks)
When
you allocate a 1-cylinder data set, ISAM reserves 1 track on the cylinder
for the end-of-file mark. You cannot request an independent index
for an indexed sequential data set that has only 1 cylinder of prime
data.
When you request space for an indexed sequential data
set, the DD statement must follow several rules, as shown below and
summarized in Table 1.
- Space can be requested only in cylinders, SPACE=(CYL,(...)), or
absolute tracks, SPACE=(ABSTR,(...)). If the absolute track technique
is used, the designated tracks must make up a whole number of cylinders.
- Data set organization (DSORG) must be specified as indexed sequential
(IS or ISU) in both the DCB macro and the DCB parameter of the DD
statement.
- All required volumes must be mounted when the data set is opened;
that is, volume mounting cannot be deferred.
- If your prime area extends beyond one volume, you must specify
the number of units and volumes to be spanned; for example, UNIT=(3380,3),VOLUME=(,,,3).
- You can catalog the data set using the DD statement parameter
DISP=(,CATLG) only if the entire data set is defined by one DD statement;
that is, if you did not request a separate index or independent overflow
area.
As your data set is allocated, the operating system builds the
track indexes in the prime data area. Unless you request a separate
index area or an imbedded index area, the cylinder and master indexes
are built in the independent overflow area. If you did not request
an independent overflow area, the cylinder and master indexes are
built in the prime area.
If an error is found during creation of a multivolume data set,
the IEHPROGM utility program should be used to scratch the DSCBs on
the volumes where the data set was successfully allocated. You can
use the IEHLIST utility program to determine whether part of the data
set has been allocated. The IEHLIST utility program also determines
whether space is available or whether identically named data sets
exist before space allocation is attempted for indexed sequential
data sets. These utility programs are described in z/OS DFSMSdfp Utilities.
Table 1 lists the criteria
for requesting indexed sequential data sets.
Table 1. Requests for indexed
sequential data setsIndex Size Coded? |
Restrictions on Unit Types and
Number of Units |
Resulting Arrangement of Areas |
---|
n/a |
None |
Separate index, prime, and overflow areas. See Specifying an Independent Overflow Area. |
n/a |
None |
Separate index and prime areas. Any partially
used index cylinder is used for independent overflow if the index
and prime areas are on the same type of device. See Specifying a Separate Index Area. |
No |
None |
Prime area and overflow area with an index at
its end. See Specifying a Prime Area and Overflow Area. |
Yes |
Prime area cannot have more than one unit. |
Prime area, imbedded index, and overflow area.
See Specifying a Prime Area and Overflow Area. |
No |
None |
Prime area with index at its end. Any partially
used index cylinder is used for independent overflow. See Prime Data Area. |
Yes |
Prime area cannot have more than one unit. |
Prime area with imbedded index area; independent
overflow in remainder of partially used index cylinder. See Prime Data Area. |