Loading a DEDB

You load data into a DEDB database with a load program similar to that used for loading other IMS databases. Unlike other load programs, this program runs as a batch message program.

The following five steps are necessary to load a DEDB:

Procedure

  1. Calculate space requirements

    The following example assures that root and sequential dependent segment types are loaded in one area.

    Assume all root segments are 200 bytes long (198 bytes of data plus 2 bytes for the length field) and that there are 850 root segments in the area. On the average, there are 30 SDEP segments per record. Each is 150 bytes long (148 bytes of data and a 2-byte length field). The CI size is 1024 bytes.

    A. Calculate the minimum space required to hold root segments:
     
    1024                CI length minus
    - 21                CI control fields
    ____                equals amount of space for root segments
    1003                and their prefixes.
     
    1003 / 214 = 4.6    Amount of root and root prefix space
                        divided by length of one root with its
                        prefix equals the number of segments
                        that will fit in one CI.
                        DEDB segments do not span CIs.
                        Therefore, only four
                        roots will fit in a CI.
     
     850 / 4 = 212.5    The minimum amount of space to hold
                        the defined number of roots to be
                        inserted in this area (850)
                        requires 213 CIs.
     

    After choosing a UOW size, you can determine the DBD specifications for the root addressable and independent overflow parts using the result of the above calculation as a base.

    B. Calculate the minimum space required to hold the sequential dependent segments:
     
    1024                CI length minus
    - 17                CI control fields
    ____                equals amount of space for sequential
    1007                dependents and their prefixes.
     
    1007 / 160 = 6.2    Amount of sequential dependent and
                        prefix space divided by length of one
                        sequential dependent plus its prefix
                        equals the number of segments that
                        will fit in one CI.
                        Six SDEP segments will fit in a
                        CI.
     
    30 / 6 = 5 CIs      Minimum amount of space required to
                        hold 30 sequential dependent
                        segments from one root.  For 850
                        roots, the minimum amount of space
                        required is 850 * 5 = 4250 CIs.
     
    C. Factor into your calculations additional space to take into account:
    • The reorganization UOW, which is the same size as a regular UOW
    • Two control data CIs allocated at the beginning of the root addressable part
    • One control data CI for each 120 CIs in the independent overflow part

      Assuming a UOW size of 20 CIs, the minimum amount of space to be allocated is: 213 + 4250 + 20 + 2 + 1 = 4486 CIs.

  2. Set up the DBD specifications according to the above results, and execute the DBD generation.
  3. Allocate the VSAM cluster using VSAM Access Method Services.
    The following example shows how to allocate an area that would later be referred to as AREA1 in a DBDGEN:
    DEFINE -
       CLUSTER -
         (NAME (AREA1) -
         VOLUMES (SER123) -
         NONINDEXED -
         CYLINDERS (22) -
         CONTROLINTERVALSIZE (1024) -
         RECORDSIZE (1017) -
         SPEED) -
       DATA -
         (NAME(DATA1)) -
         CATALOG(USERCATLG)
    The following keywords have special significance when defining an area:
    NAME
    The name supplied for the cluster is the name subsequently referred to as the area name. The name for the data component is optional.
    NONINDEXED
    DEDB areas are non-indexed clusters.
    CONTROLINTERVALSIZE
    The value supplied, because of a VSAM ICIP requirement, must be 512, 1024, 2048, or 4096.
    RECORDSIZE
    The record size is 7 less than the CI size. These 7 bytes are used for VSAM control information at the end of each CI.
    SPEED
    This keyword is recommended for performance reasons.
    CATALOG
    This optional parameter can be used to specify a user catalog.
  4. Run the DEDB initialization utility (DBFUMIN0).

    This offline utility must be run to format each area to DBD specifications. Root-addressable and independent-overflow parts are allocated accordingly. The space left in the VSAM cluster is reserved for the sequential-dependent part. Up to 2048 areas can be specified in one utility run; however, the area initializations are serialized. After the run, check the statistical information report against the space calculation results.

  5. Run the user DEDB load program

    A BMP program is used to load the DEDB. The randomizing routine used during the loading of the DEDB might have been tailored to direct specific ranges of data to specific areas of the DEDB.

    If the load operation fails, the area must be scratched, reallocated, and initialized.