Analyzing database record profile

Analyze the reports that provide the database record information so that you can understand the statuses of database records in the DEDB area.

Before you begin

Ensure that you can access the following reports for the subject DEDB area:
  • DB Record Profile Analysis report
  • DB Record Placement Analysis report
  • Segment I/O Analysis report
  • Segment Placement Analysis report
  • Largest Database Records report (optional)
Not all utilities of IMS Fast Path Solution Pack can produce this report. Use the appropriate utilities and runtime options to generate these reports.

For details about the utility options and reports that can be generated, see the topic "Generating the analysis reports" in the IMS Fast Path Solution Pack: IMS High Performance Fast Path Utilities User's Guide.

About this task

One of the most important tasks in analyzing DEDB areas is analyzing the database record profile. The process of analyzing a database record profile includes reviewing the effect on I/O efficiency that might be caused by the changes in database record characteristics. Results from this analysis are the key factors for determining the best approach to resolve the exceptions.

In this task, you will review the average length of the database records and then review the patterns and statistics of database record overflow. You will also review the database record overflow at the segment occurrence level. These factors help you learn how I/O efficiency is affected by segment overflow.

Optionally, if you identify a large database record while reviewing the length of database records, you will also learn how to obtain more information about such records. You will also learn how to obtain information about database records at the UOW level.

By completing this task, you will determine whether the database record profile has been changed and whether the change might affect I/O efficiency.

Procedure

Complete the following steps to understand the statuses of database records in the area:

  1. Check the average length of database records.

    The DB Record Profile Analysis report provides statistics about the number and length of the database records and statistics about the frequencies and length of segment occurrences.

    The following figure is an example of the DB Record Profile Analysis report.
    Figure 1. DB Record Profile Analysis report
    DB RECORD PROFILE ANALYSIS
    
       NO. DB RECORDS:            168
       AVG REC LENGTH:          1,234
       STD. DEV.     :            879
       MAX REC LENGTH:          4,012
       MIN REC LENGTH:            218
    
    
       SEGNAME   SEG  SEG   TOT #OCCS   ------SEGMENT FREQUENCY-------   DEFINED LENGTH   ------ACTUAL LENGTH------
                  CD  LVL                 AVG.    SDEV     MAX     MIN      MAX    MIN     AVG.  SDEV    MAX    MIN
    
       ROOTSEG1    1   1          168      N/A     N/A     N/A     N/A      900     40      243  145     900    134
       DD1         3   2          280     1.67    1.34       6       0      900     30      292  206     900    102
       DD11        4   3          261     1.55    2.79      18       0      900     20      226  105     900    154
       DD12        5   3            0                                       100      *
       DD2         6   2           60     0.36    0.61       2       0       50      *       52    0      52     52

    The DB Record Profile Analysis report provides information that helps you determine whether to expand CI size and to calculate the optimal values for the ROOT and UOW parameters for the DBD.

    Generally, if the average database record length multiplied by the average number of root segments on a RAP is less than the current CI size, the CI size is appropriate. If the calculated value significantly exceeds the current CI size, consider tuning the CI size and UOW definition, changing the randomizer, or both.

    Tip: The average number of root segments on a RAP can be found in the Roots per RAP Distribution Graph. See Analyzing the randomizing routine.
  2. Analyze the patterns and statistics of database record overflow.

    The DB Record Placement Analysis report includes statistics about the number of database records that are contained in each of the following seven placement categories:

    • Records that are placed only in BASE section
    • Records that are placed in BASE and DOVF sections
    • Records that are placed in BASE, DOVF, and IOVF sections
    • Records that are placed in BASE and IOVF sections
    • Records that are placed only in DOVF section
    • Records that are placed in DOVF and IOVF section
    • Records that are placed only in IOVF section
    The following figure is an example of the DB Record Placement Analysis report.
    Figure 2. DB Record Placement Analysis report
    DB RECORD PLACEMENT ANALYSIS
                                                            ---DOVF CI'S USED---    ---IOVF CI'S USED---
                                         NO. RECS    P/C    AVG.  SDEV  MAX  MIN    AVG.  SDEV  MAX  MIN
    
       RECORDS IN: BASE ONLY                   54   32.1
                   BASE + DOVF                 29   17.3    1.14   .34    2    1
                   BASE + DOVF + IOVF          33   19.6    1.21   .41    2    1    1.18   .46    3    1
                   BASE + IOVF                 17   10.1                            1.29   .67    3    1
                   DOVF ONLY                    9    5.4    1.44   .50    2    1
                   DOVF + IOVF                 23   13.7    1.43   .50    2    1    1.78  1.02    4    1
                   IOVF ONLY                    3    1.8                            2.67  1.25    4    1

    The DB Record Placement Analysis report provides information that helps you determine whether to expand CI size and whether to change the UOW definition in the DBD.

    In an ideal area, all database records reside only in the BASE section. If many database records reside outside of the BASE section, you must review other reports to further investigate the cause of overflow and to avoid many database records overflowing to IOVF.

  3. Check the database record overflow in segment occurrence level.

    Browse the Segment Placement Analysis report. The Segment Placement Analysis report provides an overview of where the segments reside in the area, especially occurrences of segment types that contribute to overflow usage. This report provides proportion of the segments that reside in RAA BASE, DOVF, and IOVF for each segment type.

    The following figure is an example of the Segment Placement Analysis report.
    Figure 3. Segment Placement Analysis report
    SEGMENT PLACEMENT ANALYSIS
    
                                        ----IN RAA BASE---    ------IN DOVF-----    ------IN IOVF-----
       SEGNAME   SCD  LVL   TOT #OCCS      NO. OCCS    P/C       NO. OCCS    P/C       NO. OCCS    P/C
    
       ROOTSEG1    1   1          168           133   79.2             32   19.0              3    1.8
       DD1         3   2          280            47   16.8            105   37.5            128   45.7
       DD11        4   3          261            60   23.0             33   12.6            168   64.4
       DD12        5   3            0
       DD2         6   2           60            52   86.7              0    0.0              8   13.3
  4. Determine how I/O efficiency is affected by segment overflow.

    The Segment I/O Analysis report provides information about the database record I/Os in the granularity of the number of segment I/Os.

    This report provides the following statistics:
    • Contribution of occurrences of each segment type to a database record
    • The number of physical I/Os that are required to retrieve the root segment
    • The number of physical I/Os that are required to retrieve an occurrence of each segment type
    • The number of physical I/Os that are required to retrieve an entire database record

    The Segment I/O Analysis report provides information that is useful for evaluating the database I/O performance requirements for specific user transactions. It is also used to validate the effects of UOW and ROOT value parameter changes.

    The following figure is an example of the Segment I/O Analysis report. The report shows the average, standard deviation from the average, maximum, and minimum number of I/Os to read a database record or a root segment.

    Figure 4. Segment I/O Analysis report
    SEGMENT I/O ANALYSIS - AVERAGE DB RECORD
    
                                    ----------SEGMENT PLACEMENT STATISTICS----------    ---PHYSICAL I/O STATS----
                                    --IN RAABASE--   ---IN DOVF----   ---IN IOVF----
       SEGNAME   SEG  SEG    AVG.    AVG./    MAX/    AVG./    MAX/    AVG./    MAX/      AVG.    SDEV   MAX  MIN
                  CD  LVL    FREQ    SDEV     MIN     SDEV     MIN     SDEV     MIN
    
       ROOTSEG1    1   1      1.00    0.79     N/A     0.19     N/A     0.02     N/A      1.21    0.41     2    1
                                      0.41             0.39             0.13
       DD1         3   2      1.67    0.28       1     0.63       3     0.76       6      1.08    1.09     5    0
                                      0.45       0     0.75       0     1.30       0
       DD11        4   3      1.55    0.36       2     0.20       4     1.00      18      0.05    0.27     2    0
                                      0.77       0     0.74       0     2.73       0
       DD12        5   3      0.00
    
       DD2         6   2      0.36    0.31       2     0.00             0.05       2      0.02    0.15     1    0
                                      0.59       0                      0.24       0
    
    
       ** RECORD I/O **    AVG:   2.36     SDEV:   1.31     MAX:      7     MIN:      1
    
       *** ROOT I/O ***    AVG:   1.21     SDEV:   0.41     MAX:      2     MIN:      1
  5. Optional: Obtain more information about large database records.

    Tuning an area of a database that has exceptionally large database records can be difficult.

    You can obtain a list of database records and information about these records by browsing the Largest Database Records report. This report lists the database records in descending order by their size, which can help you identify the database records that are exceptionally large.

    The following figure is an example of the Largest database Records report.

    Figure 5. Largest Database Records report
    DBDNAME: DEDBJN23   KEY LENGTH:  10   RECORD COUNT:   168
    
      RECORD SIZE   # OF SEG'S   AREANAME  AREA#   ROOT RBA    RAP#    RAP RBA   ROOT SEGMENT SEQUENCE FIELD (HEX)    (CHARACTER)
      -----------   ----------   --------  -----   --------   -----   --------   ---------------------------------    *----------------*
    
            4,012           24   DB23AR1       1   00070808       9   00004400   F1F0F0F0 F0F0F0F1 F0F1               *1000000101      *
            4,012           13   DB23AR1       1   00015408      48   00014800   F1F0F0F0 F0F0F0F4 F9F1               *1000000491      *
            3,760           14   DB23AR1       1   00023AC4      84   00023800   F1F0F0F0 F0F0F0F8 F5F1               *1000000851      *
            3,760           11   DB23AR1       1   000276C4      93   00027400   F1F0F0F0 F0F0F0F9 F4F1               *1000000941      *
            3,510           19   DB23AR1       1   0000A008      21   00009400   F1F0F0F0 F0F0F0F2 F2F1               *1000000221      *
            3,510           15   DB23AR1       1   0000DC08      30   0000D000   F1F0F0F0 F0F0F0F3 F1F1               *1000000311      *
            3,265            5   DB23AR1       1   00028AC4      96   00028800   F1F0F0F0 F0F0F0F9 F7F1               *1000000971      *
            3,259           12   DB23AR1       1   00036808     130   00036800   F1F0F0F0 F0F0F1F3 F1F1               *1000001311      *
            3,259            9   DB23AR1       1   0003B808     142   0003B800   F1F0F0F0 F0F0F1F4 F3F1               *1000001431      *
            3,259            7   DB23AR1       1   0003CC08     145   0003CC00   F1F0F0F0 F0F0F1F4 F6F1               *1000001461      *
            3,009           18   DB23AR1       1   00052408       6   00003000   F1F0F0F0 F0F0F0F0 F7F1               *1000000071      *
            3,009           10   DB23AR1       1   00014008      45   00013400   F1F0F0F0 F0F0F0F4 F6F1               *1000000461      *
            3,008           11   DB23AR1       1   0000C808      27   0000BC00   F1F0F0F0 F0F0F0F2 F8F1               *1000000281      *
            3,008           12   DB23AR1       1   00031808     118   00031800   F1F0F0F0 F0F0F1F1 F9F1               *1000001191      *
            3,008           12   DB23AR1       1   00039008     136   00039000   F1F0F0F0 F0F0F1F3 F7F1               *1000001371      *
            3,008            6   DB23AR1       1   0003A408     139   0003A400   F1F0F0F0 F0F0F1F4 F0F1               *1000001401      *
            3,007            7   DB23AR1       1   0001EAC4      72   0001E800   F1F0F0F0 F0F0F0F7 F3F1               *1000000731      *
            2,757           10   DB23AR1       1   00035408     127   00035400   F1F0F0F0 F0F0F1F2 F8F1               *1000001281      *
            2,507           13   DB23AR1       1   00011DFD      41   00011400   F1F0F0F0 F0F0F0F4 F2F1               *1000000421      *
            2,507            6   DB23AR1       1   00044903     164   00044800   F1F0F0F0 F0F0F1F6 F5F1               *1000001651      *
              .              .      .          .       .          .       .                      .                             .          
              .              .      .          .       .          .       .                      .                             .          
              .              .      .          .       .          .       .                      .                             .          
    Each entry of the table in this report includes the following key information about a large database record:
    • The total length of the database record, which includes prefix length of all segment occurrences in the record
    • The total number of segment occurrences in the record
    • The RBA value of the RAP on which the database record was randomized
    • The RBA value of the root segment of the database record, which shows how far from the RAP or RAP CI the database record is
    • The value of the root sequence key of the database record
    You might use this information in a later step (Tuning DEDB areas) when you tune the area and the randomizing routine.
  6. Optional: Analyze the database record profile at the UOW level.

    To obtain more information about the database record profile at the UOW level, generate and review the UOW report.

    See Analyzing DEDB areas at the UOW level to understand how to interpret the UOW report and to learn more about the area at the UOW level.

What to do next

Generally, if the packing density of RAA BASE (observed in Step 5 in Analyzing free space usage) is high, and if the average number of physical I/Os (observed in Step 4) is also high, consider expanding the size of RAA BASE.

If the average lengths of database records is relatively high compared to the current CI size (observed in Step 1 and Step 5), you might also consider changing the CI size. In addition, because long RAP synonym chains can also increase the average number of physical I/Os that are required to retrieve a root or a database record, and might have an influence in determining the optimal CI size, you must check the randomizing efficiency before determining your actions. For randomizing analysis, see Analyzing the randomizing routine.