Calculating data set control block storage

Calculate the data set control block storage requirements by determining the total number of open data sets (DSMAX).

Procedure

To determine the main storage requirements for your data set control blocks:

  • Let concdb be the number of concurrent databases, which is specified on installation panel DSNTIPE.
  • Let tables be the number of tables in each database, which is specified on installation panel DSNTIPD.
  • Let indexes be the number of indexes in each table. The installation CLIST sets this variable to 2.
  • Let pctpts be the percentage of partitioned table spaces.
  • Let avgpart be the average number of partitions in each partitioned table space.
  • Let partts be the average number of partitioned table spaces per database.
  • Let nonparti be the number of non-partitioning indexes per partitioned table space.

  1. Calculate the total number of open tables with the following formula:
    opntab = concdb * tables 
  2. Calculate the number of open data sets for partitioned table spaces with the following formula:
    opnptsds = opntab * (pctpts / 100) * avgpartconcdb *
    (((tables *  indexes) + tblspaces) +
    ((2 * partts * avgpart) - (2 * partts)))
  3. Calculate the number of open data sets with the following formula:
    concdb * (((tables *  indexes) + tblspaces) +
    ((2 * partts * avgpart) - (2 * partts)))

    You can modify DSMAX by editing job DSNTIJUZ. The maximum number of concurrently open data sets that is allowed by Db2 is 200000.

  4. To calculate the main storage that is required for your data set control blocks, use the following formula:
    DSMAX * 5 KB

Example

The default, as calculated by the DSNTINST CLIST, is
20000 * 5 KB = 100000 KB

This method of calculation ignores partitioned table spaces and partitioning index spaces. It also assumes that all data sets in the database are open if the database is in use. You could enter a smaller value for the number of concurrent databases if only a few of the data sets in a database are typically opened. The larger the value of DSMAX, the longer data sets stay open.

Recommendations:
  • Move the scheduler work area (SWA) above the 16 MB line of z/OS® virtual storage by using JES initialization statements, JES exit routines, or the SMF exit routine (IEFUJV). This way, you can save approximately 1 KB for each open data set in virtual storage below the 16 MB line and avoid potential storage errors. To determine the amount of storage that is needed below the 16-MB line, use 0.016 KB for the multiplication factor if the SWA is above the line or 1.2 KB for the multiplication factor if the SWA is below the line. The preceding calculations and the calculations in the CLIST presume that the SWA is above the line.
  • If you do not move the SWA above the 16 MB line, you should not use a DSMAX value greater than 5000.