and is used for the definition of fixed length segments. VSAM is a prereq-uisite for the use of variable length segments. It is invalid to specify the
'maximum/minimum'
form of theBYTES
parameter for any data base whose Operating System access method is not VSAM.Note:
VSAM will still use records of the same length except with GSAM.XDFLD for other than HIDAM Root Index.
The XDFLD
macro
is used to establish a relationship either between the root segments of a HIDAM data base and the HIDAM primary index or between a target segment and an index pointer segment for a secondary index. If this macro is used for a secondary index then VSAM is required because secondary index INDEX data bases must be VSAM data sets.4.1.4
DBDGENoutput
Recomm~ndationsfor VSAH
Clu~terDefinition
In the output listing which results from performing DBD generation can be found a set of suggestions for certain VSAM cluster definition parameters.
All of the other parameters for cluster definition are ignored which may lead the user to assume that these should be allowed to take their default values. This is contrary to one of the basic principles of VSAM data set design. The principle states that one should
not
blindly use the defaults but ~ather carefully evaluate them and specify the values explicitly in the definition. The parameters whose values are suggested by DBD gener-ation are:CL~STER TYPE - indexed or nonindexed
RECORDSIZE -
average and maximumCONTROLINTERVALSIZE -
applies only to the data component KEYS - length and location (only for KSDS)Although the
NAME
parameter is included in the set of suggestions, no actual data set name is recommended. The user is simply instructed tosupply an appropriate cluster name according to whatever installation conventions may be in use,
Many important parameters are not covered by these suggestions and must be considered by the data base designer. Among these omitted parameters are:
FREESPACE, VOLUMES, Space Allocation, PASSWORD, SHAREOPTIONS, Index Options, and the NAME parameters for the index and data cornpo~ents of the cluster. These and other parameters of VSAM cluster definition are covered in the following section "VSAM Cluster Definition Parameters" on page 63.
4.2 VSAH DATA SPACE ALLOCATION
VSAM data sets can coexist on the same disk with nonVSAM data sets. Space defined on a volume for exclusive use of VSAM is called a
VSAH
d~ta ~p~c~.In OS/VS a VSAM data space can consist of a maximum of 16 extents which need not be contiguous. A volume can contain multiple data spaces. The maximum size of a data space is one volum~. Several data spaces on more than one volume may be treated logically as one data space (e.g. for suo-allocated multivolume data sets).
VSAM uses two different data spaces:
• The suballocatable data space
• The unique data space
A suballocatable data space can contain one or more data sets and a data set can occupy one or more suballocatable data spaces on one or more vol-umes. A suballocatable data space is created by an Access Method Services command DEFINE SPACE or DEFINE MASTERCATALOG/USERCATALOG.
All suballocatable data zpaces on one volume are treated as one logical space, and i t is possible to-delete all empty suballocatable data spaces on a volume together. Individual suballocatable data spaces can not be deleted.
A VSAM cluster in a suballocatable data space is called a suballocated cluster or a suballocated data
set.
A unique data space (also called nonsuballocat~ble data space) contains only one data set. This data set occupies only one nonsuballocatable data space on a volume (with up to 16 extents (OS/VS only», but multiple vol-umes can be used for this data setr A unique data space is aut~~itl~~lly
built when a cluster or alternate index is defined with the UNIQUE attri-bute.
A VSAM cluster/data set in a nonsuballocatable space is called a unique cluster or unique data set.
Unique data spaces cannot be shared with other VSAM data sets.
VSAM data spaces cannot be shared with nonVSAM data sets.
4.3 VSAH CLUSTER DEFINITION PARAMETERS
4.3.1 Cluster Related Parameters
4.3.1.1 NAME
The name specified for a VSAM data set may contain 1 - 44 alphanumeric characters. national characters (, and Y.) and two special characters (hy-phen and 12-0 overpunch).
Names containing more than eight characters must be segmented by periods;
one to eight characters may be speclfied between periods.
The first character of a name or name segment must be either an al?habetic or national character.
With multiple catalogs you should take care that a data set name in one catalog is not duplicated in another catalog.
It is possible to have the same data set name in more than one catalog.
Access Method Services prevents you from cataloging two objects with the same name in the same catalog, and from altering the name of an object that its new name duplicates the name of another object in the same cata-log.
In
HVS systems,
the data set name can also be used to identify the catalog where the data set is cataloged. A name segmented with periods is called aqualified name.
The first qualifier (the part of the name up to the first period) is used to find the user catalog if no STEPCAT or JOBCAT catalog is specified (the Access Method Services manual contains a section 'Order of catalog use' for each command, where the catalog search sequence is described).Note (HVS only):
As the data set name (qualified name) is used for cata-log allocation a qualified name and an unqualified name cannot exist in the same catalog if the first qualifier of the qualified name is the same as the unqualified name.To prevent problems, it is suggested always to use qualified names in an MVS system and always use the same first qualifier per application.
This first qualifier should be identical with the catalog name defined for the user catalog, or one of its ALIASes.
4.3.2 Space Allocation (CYLINDER, TRACKS, RECORDS, VOLUMES)
4.3.2.1 Small data sets
For data sets less than one cylinder in size i t is more advantageous for space utilization considerations (but not for performance) to specify the maximum number of
TRACKS
required in the primary allocation of the data component, one track for the nonimbedded sequence set index, and no sec-ondary definition for either data or index. The allocations for this data set should be set so that only 1 index record is allocated. This is possi-ble if only one CA is allocated for the data component (see also next sec-tion) .4.3.2.2 Multiple cylinder data sets (not multivolume)
It is usually best to calculate the number of
CYLINDERS
needed for data in a newly created data set and specify this amount in cylinders for the pri-mary allocation of the dat·a component. t·1aJce the secondary allocation equal or greater than one cylinder but 'less than the primary allocation.VSAM calculates the data CA size based on primary and secondary allo-cations:
• If primary
or
secondary allocation is smaller than one cylinder, the smaller value (rounded up to full tracks in case ofRECORDS)
is used as CA size (CA-size in a UNIQUE data set is set to one cylinder).• If primary
and
secondary allocation is' larger than one cylinder, the CA size is one cylinder <maximum CA size).Note that specifying space in tracks or cylinders make device conversion more diff icul t.
4.3.2.3 Multivolume data sets
When defining multivolume data sets, the following rules must be consid-ered:
1. For suballocatable multivolume data sets a VSAM data space must exist on
all
volumes specified in theVOLUMES
parameter.2. For unique multivolume data sets all volumes which are specified in the VOLU~1ES parameter (except the first volume in the list), must
already be owned
by the catalog, in which the multivolume data set is to be cataloged.3. The primary or secondary allocation value