This section provides information on device and system file topics.
The standard characteristics of the device types supported by Adabas on z/OS and z/VM are summarized in the following table. Adabas block sizes and RABNs per track are provided for each Adabas component for each device type.
Device | Trks/Cyl | ASSO | DATA | WORK | PLOG/RLOG | CLOG | TEMP/SORT/DSIM | Notes |
---|---|---|---|---|---|---|---|---|
0512 | 16 | 2044:8 | 4092:4 | 8192:2 | 8192:2 | 8192:2 | 8192:2 | |
3310 | 11 | 2044:8 | 4092:4 | 4096:4 | 4096:4 | 4096:4 | 8192:2 | |
3330 | 19 | 1510:8 | 3140:4 | 4252:3 | 4252:3 | 3156:4 | 3140:4 | |
3340 | 12 | 1255:6 | 2678:3 | 3516:2 | 3516:2 | 3516:2 | 3500:2 | |
3350 | 30 | 1564:11 | 3008:6 | 4628:4 | 4628:4 | 3024:6 | 3008:6 | |
3370 | 12 | 2044:15 | 3068:10 | 5120:6 | 5120:6 | 3072:10 | 7680:4 | |
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 | 3 |
3390 | 15 | 2544:18 | 5064:10 | 5724:9 | 5724:9 | 5064:10 | 8904:6 | 3 |
8345 | 15 | 4092:10 | 22780:2 | 22920:2 | 22920:2 | 22920:2 | 22920:2 | |
8350 | 30 | 3008:6 | 6232:3 | 9442:2 | 9442:2 | 9442:2 | 9442:2 | 1 |
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 |
9332 | 6 | 2044:10 | 4092:5 | 5120:4 | 5120:4 | 10240:2 | 10240:2 | 2 |
9335 | 6 | 2556:14 | 3580:10 | 5120:7 | 5120:7 | 7168:5 | 7168:5 | |
9345 | 15 | 4092:10 | 7164:6 | 11148:4 | 11148:4 | 22920:2 | 22920:2 | 3 |
Notes:
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.
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 all versions of Adabas prior to version 6.2, the address of the first TDCE is at offset ADAIOR+ X‘34’.
For Adabas Version 6.2, TDCE entries are in the ADAIOR CSECT TDCON: the first TDCE entry is at offset 0; the first free TDCE entry is at offset X‘400’.
For Adabas Version 7.1, 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‘580’.
This information is valuable when adding an additional TDCE entry.
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 blocks per track. |
TDCPBS | 2A | PLOG block size. |
TDCPCPB | 2C | (see note 2) |
TDCCBPT | 2E | Number of CLOG blocks per track. |
TDCCBS | 30 | CLOG block size. |
TDCCCPB | 32 | (see note 2) |
Notes:
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).
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 |
---|---|
0512 | 32760 |
3310 | 32760 |
3330 | 13030 |
3340 | 8368 |
3350 (8350) | 19069 |
3370 | 32760 |
3375 | 17600 |
3380 (8380/81) | 23476 |
339n | 27998 |
8380/1/5 | 23476 |
839n | 27998 |
9332 | 32760 |
9335 | 32760 |
Note:
On some devices, it may be most efficient to use smaller block sizes
(for example, to specify 23476 for the 3380, but with two blocks per
track).
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).
The Work block size must be greater than either (maximum compressed record length + 110) or (Associator block size + 110), whichever is greater.
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.
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.
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.
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). Users must ensure that they have applied the PTF for their environment that fixes IBM APAR OW55220. Without this fix, ADARES BACKOUT from a tape file written with large block support will fail.
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. |