Device and File Considerations

This section provides information regarding device- and system file-related topics, such as:

  • installing on fixed-block addressing (FBA) devices;

  • defining new devices; and

  • changing defaults for sequential files.


Supported z/VSE Device Types

The standard characteristics of the device types supported by Adabas are summarized in the following table. The Adabas block sizes and RABNs per track are provided for each component for each device type.

Device Trks/Cyl ASSO DATA WORK PLOG/RLOG CLOG TEMP/SORT/DSIM Notes
1512 7 1536:37 18944:37 18944:37 18944:37 18944:37 18944:37  
3375 12 2016:15 4092:8 4096:8 4096:8 4096:8 8608:4  
3380 15 2004:19 4820:9 5492:8 5492:8 4820:9 7476:6 2
3390 15 2544:18 5064:10 5724:9 5724:9 5064:10 8904:6 2
5121 15 2048:16 4096:8 4096:8 4096:8 4096:8 4096:8  
5122 15 4096:8 8192:4 8192:4 8192:4 8192:4 8192:4  
5123 15 4096:8 16384:2 16384:2 16384:2 16384:2 16384:2  
8345 15 4092:10 22780:2 22920:2 22920:2 22920:2 22920:2  
8380 15 3476:12 6356:7 9076:5 9076:5 9076:5 9076:5 1
8381 15 3476:12 9076:5 11476:4 11476:4 9076:5 9076:5 1
8385 15 4092:10 23292:2 23468:2 23468:2 23468:2 23468:2 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
9345 15 4092:10 7164:6 11148:4 11148:4 22920:2 22920:2 2

Notes:

  1. The 8350, 838n, and 839n are pseudo-device types physically contained on a 3350, 3380, and 3390 device, respectively, but for which some or all of the standard block sizes are larger.
  2. The IBM RAMAC 9394 emulates devices 3390 Model 3, 3380 Model K, or 9345 Model 2.

FBA Devices

All device definitions for Adabas control statements for FBA disks should specify one of the following devices types:

  • FBA SCSI devices: Specify a device type of 1512.

  • Virtual FBA devices: Specify device types of 5121, 5122, or 5123.

Note:
Virtual FBA devices are not permanent and are, therefore, only suitable for holding temporary or work data sets.

Choose a device type based on the block sizes given in the following tables:

SCSI Device Types:

Dev Type Asso blksz Data blksz Work blksz Temp blksz Sort blksz PLOG blksz CLOG blksz
1512 1536 18944 18944 18944 18944 18944 18944

Virtual FBA Device Types:

Dev Type Asso blksz Data blksz Work blksz Temp blksz Sort blksz PLOG blksz CLOG blksz
5121 2048 4096 4096 4096 4096 4096 4096
5122 4096 8192 8192 8192 8192 8192 8192
5123 4096 16384 16384 16384 16384 16384 16384

The pseudo-cylinder for each of these devices has a different number of blocks as described below:

  • 1512 cylinder = FBA blocks/777

  • 5121 cylinder = FBA blocks/960

  • 5122 cylinder = FBA blocks/960

  • 5123 cylinder = FBA blocks/960

The size definitions for FBA devices on Adabas control statements can specify the number of pseudo-cylinders or the number of Adabas blocks (RABNs).

Make sure that the starting block and the number of FBA blocks on the z/VSE EXTENT statement are on an FBA pseudo-cylinder boundary, which is based on the device as specified above for each Adabas file comprising the database:

  • An SCSI pseudo-cylinder (device type 1512) comprises 777 elements of 512 bytes each, or 388K per pseudo-cylinder. For example, an EXTENT entry for a ten cylinder SCSI device might consist of:

    // EXTENT SYS123,,,,777,7770
  • A virtual FBA pseudo-cylinder comprises 960 elements of 512 bytes each, or 480K per pseudo-cylinder. For example, an EXTENT entry for a ten cylinder virtual FBA device might consist of:

    // EXTENT SYS123,,,,512,5120

ECKD Devices

Adabas supports ECKD DASD devices such as the IBM 3390 with the 3990 controller and ESCON channels.

During an open operation, ADAIOR determines which DASD device types are being used for the ASSO, DATA, WORK, SORT, and TEMP data sets. At that time, Adabas issues an informational message for each Adabas database component, where type is the component:

ADA164 ... FILE DDtype HAS BEEN OPENED IN ckd/eckd MODE - RABN SIZE rabn-size

Note:
Software AG strongly recommends that you avoid mixing ECKD and CKD extents within a file, because the file will be opened only in CKD mode. Mixing extents could degrade performance when file I/O operations are performed.

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

For Adabas Version 8, TDCE entries are in the ADAIOS CSECT TDCON, which corresponds to ESDID 1EC in object module IOSVSE.OBJ. The first TDCE entry is at offset X‘19398' into IOSVSE.OBJ; the first free TDCE entry is at offset X‘19898'.

This information is valuable when adding an additional TDCE entry, and when zapping the object module and relinking ADAIOS under z/VSE.

The z/VSE MSHP control statements to add a TDCE entry at the first free entry thus take the form:

// EXEC MSHP
CORRECT 9001-ADA-00-vrs :AD99998
AFFECTS MODULE=IOSVSE,ESDID=1EC
ALTER 19898 0000 : nnnn
ALTER 1989A 0000 : nnnn
.
. (etc.)
.
INVOLVES LINK=LNKIOS
/*

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)
TDCDT2 05 (see note)
TDCDT3 06 (see note)
TDCDT4 07 (see note)
TDCMSBS 08 Refer to the TDCMSBS default table in Maximum Sequential Block Size in the Adabas z/OS installation instructions for more system- and device-related information.
TDCTPC 0A Number of tracks per cylinder.
TDCCIPT 0C Number of FBA blocks or PAM pages per track (if TDCFFBA is set).
TDCBPCI 0E Number of bytes per FBA block or PAM page (2048 if TDCFFBA is set).
TDCABPT 10 Number of Associator blocks per track.
TDCABS 12 Associator block size.
TDCACPB 14 Number of FBA blocks or PAM pages per Associator block (if TDCFFBA is set).
TDCDBPT 16 Number of Data Storage blocks per track.
TDCDBS 18 Data Storage block size.
TDCDCPB 1A Number of FBA blocks or PAM pages per Data Storage block (if TDCFFBA is set).
TDCWBPT 1C Number of Work blocks per track.
TDCWBS 1E Work block size.
TDCWCPB 20 Number of FBA blocks or PAM pages per Work block (if TDCFFBA is set).
TDCTSBPT 22 Number of TEMP or SORT blocks per track
TDCTSBS 24 TEMP or SORT block size.
TDCTSCPB 26 Number of FBA blocks or PAM pages per TEMP or SORT block (if TDCFFBA is set).
TDCPBPT 28 Number of PLOG blocks per track.
TDCPBS 2A PLOG block size.
TDCPCPB 2C Number of FBA blocks or PAM pages per PLOG block (if TDCFFBA is set).
TDCCBPT 2E Number of CLOG blocks per track.
TDCCBS 30 CLOG block size.
TDCCCPB 32 Number of FBA blocks or PAM pages per CLOG block (if TDCFFBA is set).

Note:
One or more z/VSE codes for identifying the device type: PUB device type from PUBDEVTY (refer to the IBM MAPDEVTY macro).

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

Block Rules for ASSO/DATA

The following rules are applicable for Associator and Data Storage:

  • 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).

Block Rule for WORK

The following rule is applicable for Work::

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

Block Rules for TEMP/SORT

The following rules are applicable for TEMP and SORT:

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

  • If ADAM direct addressing is used:

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

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

Block Rule for PLOG or SIBA

The following rules are applicable for PLOG and SIBA:

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

Using 3480/3490 Tape Cartridge Compression (IDRC)

The use of hardware compression (IDRC) is not recommended for protection log files. The ADARES BACKOUT function will run much longer when processing compressed data. Also, the BACKOUT function is not supported for compressed data.

User ZAPs to Change Logical Units

The specified zaps should be added to the module IOSVSE / phase ADAIOS, not to the specified utility.

PTT entries are in the ADAIOS CSECT I_PTT. The first PTT entry is at offset 0 into CSECT I_PTT.

When zapping the object module and relinking ADAIOS, note that the ADAIOS CSECT I_PTT corresponds to ESDID 000D in object module IOSVSE.OBJ. The offset of CSECT I_PTT into IOSVSE.OBJ is X'1000'.

Utility File Default SYS Number PTT Offset VER REP
ADACDC SIIN SYS010 6B8 1A0A 1Axx
ADACMP AUSBA SYS012 008 820C 82xx
AUSB1 SYS021 018 8215 82xx
AUSB2 SYS022 028 8216 82xx
AUSB3 SYS023 038 8217 82xx
AUSB4 SYS024 048 8218 82xx
AUSB5 SYS025 058 8219 82xx
AUSB6 SYS026 068 821A 82xx
AUSB7 SYS027 078 821B 82xx
AUSB8 SYS028 088 821C 82xx
AUSB9 SYS029 098 821D 82xx
EBAND SYS010 0A8 180A 18xx
FEHL SYS014 0B8 820E 82xx
ADACNV FILEA (OUTPUT) SYS010 698 820A 82xx
FILEA (INPUT) SYS010 6A8 120A 12xx
ADALOD FILEA (OUTPUT) SYS012 0D8 820C 82xx
FILEA (INPUT) SYS012 0E8 020C 02xx
EBAND SYS010 0F8 1A0A 1Axx
ISN SYS016 108 1A10 1Axx
LOB (OUTPUT) SYS017 118 8211 82xx
LOB (INPUT) SYS017 128 1A11 1Axx
OLD SYS014 138 820E 82xx
ADAMER EBAND SYS010 148 1A0A 1Axx
ADANUC LOG SYS012 158 820C 82xx
SIBA SYS014 168 C20E C2xx
ADAORD FILEA (OUTPUT) SYS010 178 820A 82xx
FILEA (INPUT) SYS010 188 120A 12xx
ADAPLP PLOG SYS014 198 1A0E 1Axx
ADARAI OUT SYS010 6C8 800A 80xx
ADAREP SAVE SYS010 1A8 1A0A 1Axx
PLOG SYS011 1B8 1A0B 1Axx
ADARES SIIN SYS020 1C8 1A14 1Axx
BACK SYS020 1D8 2C14 2Cxx
SIAUS1 SYS021 1E8 8215 82xx
SIAUS2 SYS022 1F8 8216 82xx
ADASAV SAVE1 SYS011 208 820B 82xx
SAVE2 SYS012 218 820C 82xx
SAVE3 SYS013 228 820D 82xx
SAVE4 SYS014 238 820E 82xx
SAVE5 SYS015 248 820F 82xx
SAVE6 SYS016 258 8210 82xx
SAVE7 SYS017 268 8211 82xx
SAVE8 SYS018 278 8212 82xx
DUAL1 SYS021 288 8215 82xx
DUAL2 SYS022 298 8216 82xx
DUAL3 SYS023 2A8 8217 82xx
DUAL4 SYS024 2B8 8218 82xx
DUAL5 SYS025 2C8 8219 82xx
DUAL6 SYS026 2D8 821A 82xx
DUAL7 SYS027 2E8 821B 82xx
DUAL8 SYS028 2F8 821C 82xx
REST1 SYS011 308 1A0B 1Axx
REST2 SYS012 318 120C 12xx
REST3 SYS013 328 120D 12xx
REST4 SYS014 338 120E 12xx
REST5 SYS015 348 120F 12xx
REST6 SYS016 358 1210 12xx
REST7 SYS017 368 1211 12xx
REST8 SYS018 378 1212 12xx
FULL SYS030 388 1A1E 1Axx
DEL1 SYS031 398 1A1F 1Axx
DEL2 SYS032 3A8 1A20 1Axx
DEL3 SYS033 3B8 1A21 1Axx
DEL4 SYS034 3C8 1A22 1Axx
DEL5 SYS035 3D8 1A23 1Axx
DEL6 SYS036 3E8 1A24 1Axx
DEL7 SYS037 3F8 1A25 1Axx
DEL8 SYS038 408 1A26 1Axx
PLOG SYS010 418 1A0A 1Axx
ADASEL EXPA1 SYS011 428 820B 82xx
EXPA2 SYS012 438 820C 82xx
EXPA3 SYS013 448 820D 82xx
EXPA4 SYS014 458 820E 82xx
EXPA5 SYS015 468 820F 82xx
EXPA6 SYS016 478 8210 82xx
EXPA7 SYS017 488 8211 82xx
EXPA8 SYS018 498 8212 82xx
EXPA9 SYS019 4A8 8213 82xx
EXPA10 SYS020 4B8 8214 82xx
EXPA11 SYS021 4C8 8215 82xx
EXPA12 SYS022 4D8 8216 82xx
EXPA13 SYS023 4E8 8217 82xx
EXPA14 SYS024 4F8 8218 82xx
EXPA15 SYS025 508 8219 82xx
EXPA16 SYS026 518 821A 82xx
EXPA17 SYS027 528 821B 82xx
EXPA18 SYS028 538 821C 82xx
EXPA19 SYS029 548 821D 82xx
EXPA20 SYS030 558 821E 82xx
SIIN SYS010 568 1A0A 1Axx
ADATRA TRA SYS019 578 820A 82xx
ADAULD OUT1 SYS010 588 820A 820xx
OUT2 SYS011 598 820B 820xx
ISN SYS012 5A8 820C 820xx
SAVE SYS013 5B8 1A0D 1Axx
PLOG SYS014 5C8 1A0E 1Axx
FULL SYS030 5D8 1A1E 1Axx
DEL1 SYS031 5E8 1A1F 1Axx
DEL2 SYS032 5F8 1A20 1Axx
DEL3 SYS033 608 1A21 1Axx
DEL4 SYS034 618 1A22 1Axx
DEL5 SYS035 628 1A23 1Axx
DEL6 SYS036 638 1A24 1Axx
DEL7 SYS037 648 1A25 1Axx
DEL8 SYS038 658 1A26 1Axx
ADAVAL FEHL SYS014 668 820E 820xx