Device and File Considerations

#### Search Results

Search

# Device and File Considerations

This section provides information on device and system file topics.

- Adabas File Characteristics

- DFSMS-Managed Files

- Large Format File Support

- Supported Adabas Device Types

- Adding New Devices

- Enhanced Backup and Restore Performance in Tape Sequential Files

## 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

- General Rules for Defining Device Block Sizes

- Maximum Sequential Block Size

- Rules for Associator and Data Storage Block Sizes

- Rule for Work Data Set Block Size

- Rules for TEMP/SORT Data Set Block Sizes

- Rules for PLOG or SIBA Block Sizes

- Sequential Protection Log Block Size in I_PTT

### 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.

### On this page

- Adabas File Characteristics
- DFSMS-Managed Files
- Large Format File Support
- Supported Adabas Device Types
- Adding New Devices
- Enhanced Backup and Restore Performance in Tape Sequential Files