This documentation describes procedures for use of auxiliary 3390 disk storage at the University of South Carolina. It was produced by the Academic Research and Data Center of USC. Questions about its content should be referred to a consultant at 777-6865.
The 3390 disk drive technology employed as an auxiliary storage medium at USC allows for fast and efficient data storage and retrieval. The advantages of disk storage over tape storage are:
1) Human intervention is not required for frequently accessed data
sets.
2) Direct access methods can be used.
3) Data access is faster.
Disk storage should be utilized when data is to be accessed frequently or when you are using direct access methods (see the note regarding 'Direct Access Procedures' under Job Control Language Requirements).
All data written to 3390 disk is maintained on online disk drives ready for access for up to one month after creation. Any data set not accessed during this period will be automatically migrated to tape cartridge, and recalled to disk at the data set's next reference. This migration from online disk to tape is accomplished by an IBM product called DFHSM and is completely transparent to users. When a data set is migrated, the system changes the volser in the catalog to the reserved name of 'MIGRAT'. When recalled (from a job requesting the migrated data set) the data set is returned from tape to online disk and the volser in the system catalog is restored to that of the target disk drive. Users should expect some delay in job execution if a data set must be recalled from tape, but the process will be transparent. In the event a data set is never recalled, it will be permanently stored on tape.
Infrequently accessed datasets, backup copies of datasets, and datasets which would require space allocations in excess of 2000 tracks should not be stored on disk storage, but should be archived on tape. For procedures to follow in using magnetic tapes at USC, refer to the TAPES documentation.
Disk storage is a budget-reduction resource except for billable accounts, such as State Agencies, commercial users, and grant-funded faculty accounts. Billing is a function of tracks allocated ('number of 2K blocks'). A 2K block field on data set reports (generated using the DSUTIL command DSSLIST discussed in Efficient Data Set Management) will assist in ascertaining storage costs. It should be noted that infrequently accessed data sets migrated to tape cartridge by the DFHSM facility will still accrue storage charges.
For information on creating/retrieving DASD datasets using the Internet TCP/IP FTP command, refer to the MVSTCPIP documentation.
Data sets initially allocated on disk can be accessed only with the userid that created the data set. This userid owns the data set and is required to read, modify, or delete the data set. To add or remove access for other userids, the owner of the data set can use the DSUTIL batch utility or the CMS command PERMIT. For information on using the CMS command PERMIT, enter the command HELP USC PERMIT. Authorization levels for disk data sets can be checked through the CMS command LISTACC (enter the command HELP USC LISTACC for details) and the DSUTIL batch utility.
Size restrictions: datasets which would require a space allocation in excess of 2000 tracks of DASD storage should be stored on tape rather auxiliary disk.
NOTE: CS does not maintain backup files for disk data sets. Occasionally, data sets are destroyed by disk drive failures or system failures. Users are responsible for maintaining backup copies of their data sets stored on disk which would be difficult or impossible to recreate. Disk data sets should be copied to magnetic tape to backup or archive data sets. For more information on copying from disk to tape, see the TAPES and IEBGENER documentation.
This documentation assumes you have a general knowledge of Job Control
Language (JCL). For more information about the JCL used in this
documentation, see the JCL documentation or
consult the IBM manual OS/VS2 MVS JCL (GC28-0692), which can be
referenced at CS or purchased from IBM.
Direct Access Procedures Most data sets kept on disk are organized for sequential access. The discussion which follows is restricted to creating and accessing sequential access disk data sets. SAS data sets are organized for direct access and some compilers, such as FORTRAN, PL/I, and COBOL, allow direct access methods. For more information about using direct access methods or non-sequential data sets, refer to SAS or specific compiler documentation. The IBM manual, OS/VS2 MVS JCL also discusses assigning and referencing data sets other than sequential access.
Following is a brief discussion of DD statement parameters required to create and access disk data sets.
INPUT DATA SETS
The following DD statement gives parameters needed to define an input
data set cataloged on disk. Following the example DD statement are
descriptions of valid parameter values (coded as lower case in the
example).
//ddname DD DSN=name,DISP=disposition
ddname - the name in the program referring to the data set defined by
the DD statement. 'ddname' consists of 1-8 alphanumeric or the
national characters, $, @, and #, and cannot begin with a number.
name - specifies the name of the data set on disk. 'name' may consist
of several qualifiers separated by periods. Each qualifier may be
8 characters or less and the qualifiers may not begin with a
number. The total length of qualifiers, including periods, may be
a maximum of 44 characters. The first qualifier of a disk data set
must be the userid. An example of a valid DSN parameter is:
N678767.DATA.FILE.ONE
disposition - the status of the data set. It may be one of the
following:
OLD - indicates the data set exists and gives the program
exclusive use of the data set.
SHR - indicates the data set exists and allows other programs to
access it at the same time.
OUTPUT DATA SETS
The following DD statement gives parameters needed to define an output
data set, cataloged on disk.
//ddname DD DSN=name,DISP=(begin,end,condition), // UNIT=DASD,SPACE=allocation,DCB=format
ddname - a valid JCL DD statement name as described for 'ddname' on
input DD statements.
name - a valid disk data set name as described for 'name' on input DD
statements.
begin - defines the status of the data set at the beginning of a job
step. 'begin' may be:
NEW - to create a data set.
OLD - for an existing data set and so the program accesses the data exclusively.
SHR - for an existing data set and so other programs may access the data.
MOD - to add new data to an existing data set.
end - defines the status of the data set if the job step ends normally
(does not abend). 'end' may be:
KEEP - data is saved when the program ends.
DELETE - data is purged when the program ends.
CATLG - puts the DSN and other information in the system catalog
(implies KEEP).
PASS - passes data for use by a subsequent step in the same job.
condition - defines the status of the data set if the job step abends
(ends abnormally). Possible values for 'condition' are: KEEP,
DELETE, or CATLG, as defined for 'end' above.
An example of the DISP parameter is:
DISP=(NEW,CATLG,DELETE)
This example outputs a new disk data set, keeps and catalogs the data set on the system catalog if the job ends normally, and if the job abends, the data set is deleted from the system.
allocation - is the amount of disk space needed for the data set.
The format for the SPACE parameter is:
SPACE=(space-unit,(primary,secondary),RLSE)
space-unit - the type of space to be allocated. It may be one of
the following:
TRK - for space allocated by tracks. One track on 3390 disk
= 47,476 bytes.
blksize - where 'blksize' is a number indicating the blksize
for the data set (the upper limit being 23,476 (1/2 TRK).
primary - the number of tracks or blocks allocated initially to
the data set.
secondary - the number of tracks or blocks to allocate if the
primary allocation is exceeded (usually 10% of the primary
allocation is adequate). Up to 15 secondary allocations can
be made.
An example of coding the SPACE parameter is:
SPACE=(TRK,(10,1),RLSE)
meaning that 10 tracks are allocated initially, and if this allocation
is exceeded, extensions of one track are added.
RLSE specifies that unused space will be released when the job step ends.
RLSE is coded only for sequential data sets. The maximum space that
can be allocated to this data set is: 10 + 15(1) = 25 tracks.
NOTE: datasets which would require in excess of 2000 tracks of DASD storage should be stored on tape rather than auxiliary disk.
format is a set of subparameters that describe the data set as it is recorded on disk. For sequential data sets, the DCB parameter is coded as:
DCB=(LRECL=x,BLKSIZE=y,RECFM=type)
x - specifies the data record length, in bytes. LRECL=80 means
the logical record length is 80 bytes. For variable-length
records, LRECL indicates maximum record length.
y - is the physical block length of the data, in bytes. For
fixed-length records, 'y' must be a multiple of LRECL. For
variable-length records 'y' must be at least 4 greater than
'x'.
type - specifies the type of records in the data set. It may
be one or a combination of the following:
A - for ANSI (American National Standards Institute)
carriage control character for files routed to the
printer.
B - for blocked records.
F - for fixed length records.
U - for undefined length records.
V - for variable length records.
For example:
DCB=(RECFM=FB,LRECL=80,BLKSIZE=9040)
means records in this data set are fixed format, blocked, with a
record length of 80 bytes and a block size of 9040 bytes.
DISKSTOR EXEC
For assistance in calculating the BLKSIZE, and primary and secondary
space allocations for a disk data set, users should enter the command
DISKSTOR from CMS. This exec will prompt for the record length of the
data set being created, and the approximate number of records being
written, and will return appropriate values for BLKSIZE and SPACE.
//jobname JOB (N1234567),'programmer-name',
// MSGLEVEL=(1,1),USER=N123456,PASSWORD=????????,
// TIME=(,2)
// EXEC DSUTIL
//SYSIN DD *
DSSLIST DSN=N123456
//
This example will output information on all data sets cataloged under
userid N123456. Additional data set management facilities are
discussed in DSUTIL
documentation.
The following factors should be taken into consideration when
allocating space on 3390 disk in order to achieve maximum economy:
1) On 3390 disk, the track size is 47,476 bytes, but there will be a
maximum of 20 2K blocks billed per track. Data sets should be
blocked at least at 2K whenever possible. In general, bigger
blocksizes, to a limit of 23,476 (1/2 TRK), will reduce tracks
needed, and therefore costs. The DISKSTOR exec discussed under
Job Control Language Requirements above will assist in
ascertaining the most efficient space allocation for a data set.
2) Increasing the BLKSIZE for a data set may result in an 80A abend
(memory shortage) for a job step creating a data set, unless the
REGION parameter is increased on the JOB card. Generally, each
data set being created increases the memory required for a program
to execute by 5 times the BLKSIZE.
3) As an additional economy measure, RLSE should always be coded in
all space parameter fields for data sets which remain after the
step ends, i.e. those without DISP=(NEW,DELETE,DELETE), except for
partitioned data sets. The RLSE parameter frees any tracks not
actually used for data when the data set is closed. RLSE should
not be used if a data set is written into a subsequent step, but
RLSE should be coded in that subsequent step.
Disk storage users may want to consult the following ARDC documentation
for more information related to DASD storage procedures:
DSUTIL
*SAS is the registered trademark of SAS Institute Inc., Cary, N.C. 27511, U.S.A.
Related Documentation
IEBGENER
JCL
TAPES
MVSTCPIP
This page updated March 14, 2001 by Amy W. Yarbrough,
Academic Research and Data Center.
Copyright © 1999, The Board of Trustees of the University of South Carolina.
URL http://www.sc.edu/ardc/docs/disk.htm