View - How to calculate INDEX and DATA extent sizes
search cancel

View - How to calculate INDEX and DATA extent sizes

book

Article ID: 47330

calendar_today

Updated On:

Products

View

Issue/Introduction

Is there a formula to calculate the INDEX and DATA extents in View?

 

Environment

Release: 12.1

Resolution

Estimate the size of the View r11 Index component:

          Note: A good guideline for the index size is to compute the amount of space used by View 2.0.  

                Run the SARDBASE/STATUS FULL function:

                //STEP1   EXEC PGM=SARDBASE

                //STEPLIB  DD  DISP=SHR,DSN=........VIEW.CAILIB

                //SYSPRINT DD  SYSOUT=*

                //SYSIN    DD  *

                   NAME ........db_hlq..........

                   STATUS FULL

                /*

 

          Use the following output from this step:

             SARDBA09     BLOCK SIZE:                 nnnnn

             SARDBA09        INDEX USED BLOCKS:       nnnnn

             SARDBA09        INDEX EMPTY BLOCKS:      nnnnn

 

              (INDEX USED BLOCKS - INDEX EMPTY BLOCKS) *

                      BLOCK SIZE = bytes_used

 

              ((bytes_used / 8906) / 90) * 2 = cylinders

 

              8906 is the recommended block size for the Index component in r11 and 90 is the number of blocks

              per cylinder for a 3390 Device. This number should be doubled.

 

          As an example:

               BLOCK SIZE:                 3476

               INDEX USED BLOCKS:    1522838

               INDEX EMPTY BLOCKS:    419345

 

           (1522838 - 419345) * 3476 = 3,835,741,668 bytes

             ((3835741668 / 8906) / 90) * 2 = 9570 cylinders

 

                (INDEX USED BLOCKS / TOTAL USED BLOCKS) * 100 =

                        Index Utilization Percentage

 

                Example:

                 SARDBA09     TOTAL USED BLOCKS:    3594869

                Although the space originally occupied by the index component is totally re-useable

                for Sysouts in the data extent, it is highly unlikely that this space (as in the example

                70% of the original database) is needed since it was used by the index.

 

                A procedure to consider is:

               Data Extent Allocation Example:

 

                The View 2.0 Database has 1,117,740 Blocks at a Block Size of 3476. The Index occupied

                566,023 Blocks:

                SARDBA09     BLOCK SIZE:                 3476

                SARDBA09     TOTAL BLOCKS:            1117740

                SARDBA09        INDEX BLOCKS:          566023

 

                The new Data Extent size can be computed with the following formula:

 

                (Total Blocks - INDEX Blocks) * Block Size = Data Space Allocation

               ((Data Space Allocation / New Block Size)) / Block Per Cylinder = Cylinders

 

                The Block Size for the new Data Extent should be specified as 13,682, which is the recommended

 |              data extent block size.  Using the sample data, assuming 60 Blocks per 3390 Cylinder:

 

                (1117740 - 566023) * 3476 = 1917768292

                 ((1917768292 / 13682) / 60 = 2336 Cylinders