Using OSAM as the access method

OSAM is a special access method supplied with IMS™.

This topic contains Product-sensitive Programming Interface information.

You need to know the following information about OSAM if your database is using OSAM as an access method:
  • IMS communicates with OSAM using OPEN, CLOSE, READ, and WRITE macros.
  • OSAM communicates with the I/O supervisor using the I/O driver interface.
  • An OSAM data set can be read using either the BSAM or QSAM access method.
  • You can define sequential OSAM data sets that use the BSAM access method as z/OS® large format data sets by specifying DSNTYPE=LARGE on the DD statement. Large format data sets can exceed 65,535 tracks.
  • The maximum number of extents in an OSAM data set is 60. However, the maximum number might be less if the length of the z/OS data extent block (DEB) that is associated with the OSAM data set increases. Additionally, the maximum number of extents is limited by the length of the sector number table that is created for rotational position sensing (RPS) devices

    With a minimum-sized sector table, the DEB can reflect a maximum of 60 DASD extents. With a maximum-sized sector table, the DEB can reflect a maximum of 52 DASD extents.

    In addition, for each extent area (two double words), OSAM requires a similar area that contains device geometry data. Each extent requires a total of four double words. The format and length (expressed in double words) of an OSAM DEB are shown in the following table.

    Start of change
    Table 1. Length and format of an OSAM DEB
    Format Length in double words
    Appendage sector table 5
    Basic DEB 4
    Access method dependent section 2
    Subroutine name section 1
    Standard DEB extents 120 (60 extents)
    OSAM extent data 120
    Minimum sector table 2
    End of change
  • An OSAM data set can be opened for update in place and extension to the end through one data control block (DCB). The phrase extension to the end means that records can be added to the end of the data set and that new direct-access extents can be obtained.
  • An OSAM data set does not need to be formatted before use.
  • An OSAM data set can use fixed-length blocked or unblocked records.
  • The maximum size of an OSAM data set depends on the block size of the data set and whether it is a HALDB OSAM data set. The size limits for OSAM data sets are:
    • For a non-HALDB database, 4 GB (if the data set has an odd-length block size) or 8 GB (if the data set has an even-length block size)
    • Start of changeFor a HALDB database partition, 4 GB or 8 GB (if the HALDB is registered to DBRC as supporting 8-GB OSAM data sets)End of change
  • File mark definition is always used to define the current end of the data set. When new blocks are added to the end of the data set, they replace dummy pre-formatted (by OSAM) blocks that exist on a logical cylinder basis. A file mark is written at the beginning of the next cylinder, if one exists, during a format logical cylinder operation. This technique is used as a reliability aid while the OSAM data set is open.
  • OSAM EXCP counts are accumulated during OSAM End of Volume (EOV) and close processing.
  • Migrating OSAM data sets utilizing ADRDSSU and the DFSMSdss component of z/OS DFSMS: DFSMSdss will migrate the tracks of a data set up to the last block written value (DS1LSTAR) as specified by the DSCB for the volume being migrated. If the OSAM data set spans multiple volumes that have not been pre-allocated, the DS1LSTAR field for each DSCB will be valid and DFSMSdss can correctly migrate the data.

    If the OSAM data set spans multiple volumes that have been pre-allocated, the DS1LSTAR field in the DSCB for each volume (except the last) can be zero. This condition will occur during the loading operation of a pre-allocated, multi-volume data set. The use of pre-allocated volumes precludes EOV processing when moving from one volume to another, thereby allowing the DSCBs for these volumes not to be updated. The DSCB for the last volume loaded is updated during close processing of the data set.

    DFSMSdss physical DUMP or RESTORE commands with the parameters ALLEXCP or ALLDATA must be used when migrating OSAM data sets that span multiple pre-allocated volumes. These parameters will allow DFSMSdss to correctly migrate OSAM data sets.

    Related Reading: For more information on the z/OS DFSMSdss component of DFSMS and the ALLEXCP and ALLDATA parameters of the DUMP and RESTORE commands, see the z/OS DFSMS Storage Administration Reference (for DFSMSdfp, DFSMSdss, and DFSMShsm).

  • You can enable OSAM data sets to reside in the extended addressing space of extended address volumes (EAVs) that are available in z/OS V1.12 or later. To enable an OSAM data set to reside in the extended addressing space of EAVs, specify an EAV volume on the VOL=SER= parameter when you allocate the data set. In addition, specify the attribute EATTR=OPT to indicate that the data set supports the extended attributes needed for use of the extended addressing area.
    Restriction: Data sets with EATTR=OPT specified on them cannot be shared with an IMS Version 10 or IMS Version 11 system because those IMS versions do not support extended attributes.

Other z/OS access methods (VSAM and SAM) are used in addition to OSAM for physical storage of data.