Device and File Considerations

This section provides information on device and system file topics.


Adabas File Characteristics

Adabas container data sets (ASSO, DATA, WORK, TEMP, SORT, PLOG, CLOG, RLOG, ALOG, or DSIM) consist of fixed-length records (RECFM=F), with a data set organization which is compatible with sequential data sets (DSORG=PS).

Both basic format and large format data sets are supported for Adabas containers.

Extended format data sets (also known as striped data sets) are not supported for Adabas containers. If an attempt is made to open an Adabas container using an extended format data set, an error message will be issued and the job will be terminated.

DFSMS-Managed Files

Adabas files can be managed by DFSMS, and placed on disk devices belonging to a DFSMS Storage Group. This allows Adabas to take advantage of the storage management features of DFSMS, for example allowing DFSMS to administer the space requirements of data sets when they are allocated or extended.

The procedure for extending Adabas files differs according to whether the file is DFSMS-managed or not. See DBA Tasks > Database Space Management > Increasing Associator and Data Storage Space for more details. See also the descriptions of ADABAS INCREASE and ADADBS ONLINCREASE in the Utilities manual.

If Adabas container files are encrypted using the add-on Adabas Encryption product (product code AEZ), DFSMS management is mandatory. Otherwise, it is optional.

Large Format File Support

Adabas supports large format files, a feature introduced with IBM z/OS 1.7.

Prior to large format file support, the extents of an Adabas container (ASSO, DATA, WORK, TEMP, SORT, PLOG, CLOG, RLOG, ALOG, or DSIM data sets) were only able to occupy 65,535 tracks per volume. With large format file support, the data set extents can now occupy an entire volume.

As before, each data set can have up to 16 extents on a volume and can span up to 59 volumes. For ASSO and DATA, up to 99 separate data sets are supported.

In addition to supporting large format files for container data sets, Adabas sequential data sets (typically those read or written by the Adabas utilities) can also take advantage of IBM large format file features.

When allocating a new Adabas data set (container or sequential) where the space on any single volume can exceed 65,535 tracks, the DSNTYPE=LARGE parameter needs to be specified in the JCL. If the data set is eligible to use the cylinder-managed space on an EAV disk device, EATTR=OPT needs to be specified in the JCL, in addition to DSNTYPE=LARGE. Once a large format file is allocated, the DSNTYPE=LARGE and EATTR=OPT paramaters are no longer necessary in JCL for the file.

For further information about the DSNTYPE JCL parameter, as well as for details about the IBM PARMLIB parameter BLOCKTOKENSIZE(REQUIRE) in member IGDSMSxx, refer to the IBM z/OS documentation provided in section Processing Large Format Data Sets in the DFSMS: Using Data Sets guide.

Supported Adabas Device Types

The standard characteristics of the device types supported via the ADARUN DEVICE parameter in z/OS environments are summarized in the following table. Adabas block sizes and blocks per track are provided for each Adabas component for each device type.

Device Trks/Cyl ASSO DATA WORK PLOG/RLOG CLOG/ALOG TEMP/SORT/DSIM Notes
3390 15 2544:18 5064:10 5724:9 5724:9 5064:10 8904:6 1
8390 15 3440:14 6518:8 10706:5 10706:5 8904:6 8904:6 1
8391 15 4136:12 10796:5 13682:4 13682:4 8904:6 18452:3 1
8392 15 4092:12 12796:4 18452:3 18452:3 18452:3 18452:3 1
8393 15 4092:12 27644:2 27990:2 27990:2 27990:2 27990:2 1
3380 15 2004:19 4820:9 5492:8 5492:8 4820:9 7476:6 2
8380 15 3476:12 6356:7 9076:5 9076:5 9076:5 9076:5 2
8381 15 3476:12 9076:5 11476:4 11476:4 9076:5 9076:5 2
8385 15 4092:10 23292:2 23468:2 23468:2 23468:2 23468:2 2

Notes:

  1. The 3390 and 839n device types are to be used for all disks emulating 3390 devices. Device types 839n provide larger block sizes than the default 3390.
  2. The 3380 and 838n device types continue to be supported for 3380 devices. Device types 838n provide larger block sizes than 3380.

Adding New Devices

Support for new device types that include user-defined block sizes can be implemented in ADAIOR by modifying one of the Table of Device-Constant Entries (TDCEs) reserved for this purpose.

A TDCE is X’40’ bytes long and the first free TDCE can be identified by X’0000’ in its first two bytes (TDCDT).

TDCE entries are in the ADAIOS CSECT TDCON: the first TDCE entry is at offset 0; the first free TDCE entry is at offset X'400'.

This information is valuable when adding an additional TDCE entry.

Information to be Zapped into the First Free ADAIOR TDCE

The information in the following tables must be zapped into the first free TDCE. The rules described in the section General Rules for Defining Device Block Sizes must be followed when changing the TDCE.

Label Offset Contents
TDCDT 00 Device type in unsigned decimal (X’3385’), must be numeric, and unique among all TDCEs.
TDCKSN 02 Constant set number: must be uniquely chosen from the values X’2B’ or X’2E’.
TDCF 03 The flag bit must be set—TDCFCKD (X’40’) for CKD devices, TDCFECKD (X’60’) for ECKD devices or TDCFECKD (X’61’) for ECKD, not user defined devices.
TDCDT1 04 (see note 1)
TDCDT2 05 (see note 1)
TDCDT3 06 (see note 1)
TDCDT4 07 (see note 1)
TDCMSBS 08 Refer to the section Maximum Sequential Block Size.
TDCTPC 0A Number of tracks per cylinder.
TDCCIPT 0C (see note 2)
TDCBPCI 0E (see note 2)
TDCABPT 10 Number of Associator blocks per track.
TDCABS 12 Associator block size.
TDCACPB 14 (see note 2)
TDCDBPT 16 Number of Data Storage blocks per track.
TDCDBS 18 Data Storage block size.
TDCDCPB 1A (see note 2)
TDCWBPT 1C Number of Work blocks per track.
TDCWBS 1E Work block size.
TDCWCPB 20 (see note 2)
TDCTSBPT 22 Number of TEMP or SORT blocks per track
TDCTSBS 24 TEMP or SORT block size.
TDCTSCPB 26 (see note 2)
TDCPBPT 28 Number of PLOG/RLOG blocks per track.
TDCPBS 2A PLOG/RLOG block size.
TDCPCPB 2C (see note 2)
TDCCBPT 2E Number of CLOG/ALOG blocks per track.
TDCCBS 30 CLOG/ALOG block size.
TDCCCPB 32 (see note 2)

Notes:

  1. One or more operating-system-dependent codes for identifying the device type: z/OS, the UCB unit type from UCBTBYT4.
  2. Not used for z/OS operating systems.

General Rules for Defining Device Block Sizes

The following general rules must be followed when defining Adabas device block sizes:

  • All block sizes must be multiples of 4.

  • A single block cannot be split between tracks (that is, the block size must be less than or equal to the track size).

Maximum Sequential Block Size

When adding new devices, the maximum sequential block size must also be specified. The value to be set to the maximum sequential block size is TDCMSBS, located at offset X’08’ from the beginning of the ADAIOR TDCE table.

Depending on the device type, the TDCMSBS value should be as follows:

Device Type Maximum Block Size
3390 27998
839n 27998
3380 23476
838n 23476

Rules for Associator and Data Storage Block Sizes

The following rules apply for Associator and Data Storage block sizes:

  • Associator block size must be greater than one-fourth the size of the largest FDT, and should be large enough to accept definitions in the various administrative blocks (RABN 1 - 30) and in the FCB.

  • The block sizes for Associator and Data Storage should be a multiple of 256, less four bytes (for example, 1020) to save Adabas buffer pool space.

  • The Associator and Data Storage block sizes must be at least 32 less than the sequential block size.

  • Data Storage block size must be greater than: (maximum compressed record length + 10 + padding bytes).

Rule for Work Data Set Block Size

The Work block size must be greater than either (maximum compressed record length + 110) or (Associator block size + 110), whichever is greater.

Rules for TEMP/SORT Data Set Block Sizes

If ADAM direct addressing is used:

size > (maximum compressed record length + ADAM record length + 24);
size > 277 (maximum descriptor length + 24)

However, TEMP and SORT are generally read and written sequentially; therefore, the larger the TEMP/SORT block size, the better.

Block sizes for TEMP and SORT must be greater than the block sizes for Data Storage.

Rules for PLOG or SIBA Block Sizes

Note:
The use of 3480/3490 tape cartridge compression (IDRC) is not recommended for protection log files. The ADARES BACKOUT function will run at least twice as long under z/OS when processing compressed data.

The following rules apply for PLOG or SIBA block sizes:

  • The PLOG or SIBA block size must be greater than either (maximum compressed record length + 110) or (Associator block size + 110), whichever is greater.

  • It is also recommended that PLOG/SIBA be defined larger than the largest Data Storage block size. This avoids increased I/O caused by splitting Data Storage blocks during online ADASAV operations.

The block size (BLKSIZE) of a sequential file is determined as follows:

if PTTF(JCL) then BLKSIZE is taken from file assignment statement or label;
if PTTMBS > 0 then BLKSIZE = PTTMBS;
if PTTMBS = 0 then
if tape then BLKSIZE = 32760;
else BLKSIZE = TDCMSBS;
else if BLKSIZE in file assignment statement or label then use it;
if PTTF(OUT) then
if QBLKSIZE > 0 then BLKSIZE = QBLKSIZE;
if tape then BLKSIZE = 32760;
else BLKSIZE = TDCMSBS;
else error.

Note:
QBLKSIZE is an ADARUN parameter.

Sequential Protection Log Block Size in I_PTT

In addition, the sequential protection log block size may have to be increased in the corresponding PTT entry in CSECT I_PTT of the load module ADAIOS.

PTT entries begin at offset 0 into CSECT I_PTT.

Each PTT entry is X’10’ bytes long and has the structure given below:

Label Offset Contents
PTTPN 00 Program number
PTTFT 01 File type
PTTN 02 DD name characters 2 - 8
PTTF 08 Flags:

OUT (X’80’) output

BSAM (X’40’) BSAM

BACK (X’20’) read backwards

JCL (X’10’) BLKSIZE/LRECL/RECFM taken from DATADEF statement or label

UNDEF (X’04’) undefined record format

VAR (X’02’) variable record format

- 09 Reserved
PTTMBSZ 0C Maximum block size

The PTT entry for the sequential protection log can be identified by X‘12F1’ in its first two bytes.

Enhanced Backup and Restore Performance in Tape Sequential Files

Adabas exploits IBM’s large block (more than 32,760 bytes) support for sequential access methods BSAM and QSAM under z/OS version 2 release 10 and above. ADAIOR supports tape drives with a block size of up to 256K for 3590 devices and 64K for 3490/3490E devices.

This support can provide performance benefits for any utility writing to tape (for example, ADASAV).

Warning:
If you choose to write tape files with large block sizes (for example, for database backups), these files will not be transportable to systems where support for large blocks is not available. This might include a site being used as a backup facility for disaster recovery.