Formulas

Table 1 provides calculations for estimating DASD requirements for the eight object data sets.

These formulas do not include any significant free space. Calculate these formulas using the absolute maximum number of objects anticipated, plus whatever additional free space that you require.

The results of the formulas are expressed in tracks on DASD, which can be converted to cylinders using the information in Table 1. The exception is the large object tables, (OSMOTS32 and OSMLATS), where the result of the calculation is expressed in cylinders.

The results of all these calculations must be rounded up to the next higher integer.

Table 1. Example of calculations for determining DASD requirements
Object directory table or index Calculation
Directory table (OSMDTS) nt ÷ (23 x b)
Directory index 1 (OBJDIRX1) nt ÷ (260 x b)
Directory index 2 (OBJDIRX2) nt ÷ (166 x b)
Directory index 3 (OBJDIRX3) nt ÷ (68 x b)
4 KB small object table (OSMOTS04)

If aos > 1900 bytes:

(ns ÷ b) x 1.1

*If aos < 1900 bytes:

(ns ÷ b) ÷ "floor" x 1.1 where "floor" is (4074 ÷ (aos + 61))

4 KB object table index 1 (OBJT04X1) ns ÷ (68 x b)
32 KB large object table (OSMOTS32) **nl ÷ ((32 746 ÷ (aos + 63)) x cb) x 1.1
32 KB object table index 1 (OBJT32X1) nl ÷ (65 x b)
LOB base table (OSMLBTS) nlob ÷ (52 x b) x 1.1
LOB base index 1 (OTLOBX1) nlob ÷ (68 x b)
LOB auxiliary table (OSMLATS) nlob ÷ ((32 746 ÷ aos) x cb) x 1.1
LOB auxiliary index 1 (OTLOBAX1) nlob ÷ (195 x b)
Note: *Where "floor" means round to the next smaller integer before dividing by ns ÷ b. All objects stored in this table must be less than or equal to 3980 bytes in length. For example:

"floor" = (4074 ÷ (1500 + 61)) = 2.6 (or = 2 when rounded down to the next lowest integer)

Example: (34 100 ÷ 12) ÷ 2 = 14 209 x 1.1 = 15 630

**If your average object size (aos) is less than 32 746 bytes in length, the value (aos + 63) must be rounded to the next higher multiple of 4 KB before using it in a formula. For example, 5 KB rounds up to 8 KB, 13 KB rounds up to 16 KB, and so on. Find the quotient of 32 746 ÷ (aos + 63) first. If the quotient is greater than 1, ignore any fractional remainder; if the quotient is less than 1, use the remainder as the result. Multiply the result by the value for cb, which yields the value of the divisor for the formula. Drop any fractional remainder from the divisor before dividing into the dividend nl. This quotient must be rounded to the next higher integer before being increased by the multiplier. The final result must be rounded to the next higher integer as well.