Analyzing optimization exceptions for HDAM and PHDAM databases

Analyze the optimization exceptions that were detected for HDAM and PHDAM databases.

Before you begin

Ensure that you can access the Sensor Data Statistics report that contains the latest sensor data. If you cannot access this report, run the FF DB Sensor Printing utility to generate the report.

About this task

In the following procedure, you will analyze each optimization exception that you received for HDAM databases or PHDAM partitions.

Start of changeFor each exception that was reported, you will first identify the relevant data elements to understand the condition of the database. Then you will analyze the relevant IMS Tools reports to learn more about the database state. Finally, if you use IMS Administration Foundation or Management Console and if relevant charts are available, you will analyze historical trends of sensor data to understand the trend characteristics of the sensor data that was obtained from the database or partition.End of change

By completing these steps, you will determine the possible causes of the optimization exceptions. The causes can be the block or CI size not matching the average database record length, the randomizing routine, the existence of long database records, or combination of these factors.

Procedure

In this section, instructions to analyze the common optimization exceptions are provided. Follow the instructions for the exceptions that you received. The most common exceptions are listed first.
Exception class name: NUMBER_OF_DB_RECORDS
This exception indicates that the number of database records, which is the number of root segments, exceeded a threshold value.
This exception does not always indicate a problem in the database. When many root segments exist in the database, the number of synonym roots or root segments that are not in the home block tends to increase. Follow the analysis steps to determine if the data sets need to be worked on.
Complete these steps to analyze this exception:
  1. Locate the following data element in the Sensor Data Statistics report:
    DB_NUM_ROOTS
    The value of this data element indicates the number of root segments. The number of root segments is also the number of database records.
  2. Start of changeOptional: To view the trend of data over time, locate the following chart in IMS Administration Foundation or Management Console: End of change
    • Number of database records chart

    Understanding the trend over time helps you predict the timing to maintain the data sets. Based on this chart, determine the timing to take preventative actions and establish maintenance plans.

You have now obtained information about the current database state that caused this exception. You will use this information later to determine the appropriate action to resolve the exception.
In Step b, you also identified the chart that can help you establish maintenance plans to prevent this exceptional state from occurring in the future.
Exception class name: EXCESSIVE_HDAM_ROOTS_NOT_HOME
Exception class name: EXCESSIVE_HDAM_OVERFLOW
These exceptions indicate that too many root segments are not in the optimal CI or block.
When the root segment is not in the home block, extra I/O operations are required to read the root segments.
In HDAM or PHDAM databases, root segments are placed in the CI or block that is assigned by a randomizer. The most desirable location for these root segments is referred to as the home block. When all root segments are placed in their home blocks, the distribution of root segments is considered to be optimal.
However, when the space in the home block is insufficient, IMS places the root segment in other blocks, which might be outside of the root addressable area (RAA).
EXCESSIVE_HDAM_ROOTS_NOT_HOME
This exception indicates that too many root segments reside on the block that is not the home block.
EXCESSIVE_HDAM_OVERFLOW
This exception indicates that too many segments are in the overflow area. The overflow area is outside of the RAA.
Complete these steps to analyze these exceptions:
  1. Locate the following data elements in the Sensor Data Statistics report:
    DB_NUM_ROOT_NOHOME
    DB_PCT_NUM_ROOT_NOHOME
    The values for these data elements indicate the number of root segments that are not in the home block, and the percentage of these root segments compared to the total number of root segments.
    DB_NUM_ROOT_OVFL
    DB_PCT_NUM_ROOT_OVFL
    The values for these data elements indicate the number of root segments in the overflow area, and the percentage of these root segments compared to the total number of root segments.
  2. Optional: To obtain more information about the root segments, run the HD Pointer Checker utility of IMS HP Pointer Checker, or IMS HP Image Copy with the HDPC=YES option, and generate the DB Record Distribution Statistics report. In this report, review the distribution of root segments part.

    By analyzing this report, you can determine how far the root segments are from the home block. Typically, most of the root segments are preferred to be in HOMEBLOCK-1, HOMEBLOCK, and HOMEBLOCK+1.

  3. Start of changeOptional: To view the trend of data over time, locate the following charts in IMS Administration Foundation or Management Console:End of change
    • Root outside home block chart
    • Roots in overflow area chart

    Understanding the trend over time can help you anticipate the future behavior of the data sets. Use this knowledge to determine when you might need to take preventative action and to establish efficient maintenance plans.

You have now obtained information about the current database state that caused this exception. You will use this information later to determine the appropriate action to resolve the exception.
In Step c, you also identified the charts that can help you establish maintenance plans to prevent this exceptional state from occurring in the future.
Exception class name: EXCESSIVE_RAP_SYNONYMS
Exception class name: IMBALANCED_RANDOMIZING
These exceptions indicate an exceptional state of the synonym roots.
When synonym roots occur frequently, you must determine the state of the database. The state can be either the number of root anchor points (RAPs) are insufficient with respect to the number of roots, or many synonym chains exist even though unused RAPs exist.
EXCESSIVE_RAP_SYNONYMS
This exception indicates that many synonym roots exist.
IMBALANCED_RANDOMIZING
This exception indicates that many synonym roots exist even though unused RAPs exist.
Complete these steps to analyze these exceptions:
  1. Locate the following data elements in the Sensor Data Statistics report to determine the current database state that caused this exception:
    DB_NUM_SYNONYM
    DB_PCT_NUM
    The values for these data elements indicate the number of synonym roots, and the percentage of synonym roots compared to the total number of roots.
    DB_PCT_NUM_UNUSED_RAP
    DB_PCT_NUM_SYNONYM
    The values for these data elements indicate the percentage of unused RAPs compared to the total number of RAPs, and the percentage of synonyms compared to the total number of root segment occurrences.
    DB_ESTIMATED_ROOT_IO
    The value for this data element indicates the estimated number of I/O operations that are required to read a root segment (that is, the average number of reading different CIs or blocks to read from the RAP to a root segment by tracking the synonym chain).
    Note: The value is an estimated value; the actual I/O count might be different.
    Even when many synonyms exist, if the synonym roots on the same synonym chain are in the same CI or block, no extra I/O operations are required to read the root segment. In this case, you do not necessarily need to resolve this exception. If the DB_ESTIMATED_ROOT_IO value is high, extra I/O operations are likely needed; therefore, you should consider taking actions to resolve this status.
  2. Optional: To obtain more information about the used RAPs and the synonym roots, run the HD Pointer Checker utility of IMS HP Pointer Checker, or IMS HP Image Copy with the HDPC=YES option, and generate the DB Record Distribution Statistics report. Review the distribution of RAP chain lengths part.
  3. Start of changeOptional: To view the trend of data over time, locate the following chart in IMS Administration Foundation or Management Console:End of change
    • Synonym roots chart

    Understanding the trend over time can help you anticipate the future behavior of the data sets. Use this knowledge to determine when you might need to take preventative action and to establish efficient maintenance plans.

You have now obtained information about the current database state that caused this exception. You will use this information later to determine the appropriate action to resolve the exception.
In Step c, you also identified the chart that can help you establish maintenance plans to prevent this exceptional state from occurring in the future.
Exception class name: AVERAGE_DB_RECORD_LENGTH
This exception indicates that the average length of database records has exceeded the threshold.
This exception does not always indicate a problem in the database. When the database record length is long, the segments that belong to a same database record might be spread across multiple CIs or blocks, and might be causing extra I/O operations.
You can identify whether extra I/O operations are required by reviewing the DB_ESTIMATED_DBREC_IO data element value. When the value is small, you do not need to analyze this exception. The smallest value, which typically is the optimal value, is the number of data sets. If this value is large, you can improve the condition by reorganizing the database; however, you might be able to improve the condition even further by performing optimization tuning (determining optimal DBD definitions and randomizing parameters, and applying the changes).
The method that you use to analyze the database depends on the number of database data sets:
Single data set
When a database has one data set, all segments reside in that data set. In the most optimized condition, all the segments that belong to a same database record reside in the same CI or block. However, when fragmented IMS free space is shorter than the database record, which means that all segments that belong to the database record cannot be stored in a single CI or block, IMS places some of the segments in other CIs or blocks. This state can cause extra I/O operations.
To determine if extra I/O operations are occurring, locate the following data elements in the Sensor Data Statistics report:
DB_AVG_DBREC_LENGTH
The value for this data element indicates the average length of database records.
DB_NUM_ROOT
The value for this data element indicates the number of root segments (that is, the number of database records).
DB_BLOCK_SIZE
The value for this data element indicates the CI or block size.
DB_ESTIMATED_DBREC_IO
The value for this data element indicates the estimated number of I/O operations that are required to read a database record (that is, the average number of reading different CIs or blocks to read the root segment and all dependent segments by tracking the hierarchical path).
Note: The value is an estimated value; the actual I/O count might be different.
To obtain more information about the segment distribution, run the HD Pointer Checker utility of IMS HP Pointer Checker, or IMS HP Image Copy with the HDPC=YES option, and generate the DB Record Distribution Statistics report.
By reviewing the Distribution of dependent segments by segment code part, you can determine, for each segment type, the number of segments that are not in the block or CI where its root segment is stored, and the distribution of these segments across different CIs or blocks.
The information in this report can be a good indicator for tuning the CI or block size to prevent database records being spread across different CIs or blocks.
Multiple data sets
When a database has multiple data sets, the segments that belong to the same database record can be stored across multiple data sets. Therefore, reviewing the average database record length will not help you identify the data sets in which the segments that increased the database record length reside. To identify the data set that has the most occurrences of scattered segments, follow the analysis steps for the EXCESSIVE_SEGMENT_SCATTERING exception (a fragmentation exception).
If you identify excessive segment scattering in data set group 1 (DSG1), obtain more information about the segment distribution by running the HD Pointer Checker utility of IMS HP Pointer Checker, or IMS HP Image Copy with the HDPC=YES option, and generate the DB Record Distribution Statistics report.
By reviewing the Distribution of dependent segments by segment code part, you can determine, for each segment type, the number of segments that are not in the block or CI where its root segment is stored, and the distribution of these segments across different CIs or blocks within DSG1.
Together with the CI or block size, this information can be a good indicator for tuning the CI or block size to prevent segments being spread across different CIs or blocks.
If excessive segment scattering was not observed in DSG1, you do not need to perform optimization tuning. Reorganizing the database will resolve the exception.
Start of changeThe average database record length can be a trigger to start database analysis. In the following charts of IMS Administration Foundation or Management Console, you can review the trend of the average database record length and the number of database records:End of change
  • Average database record length chart
  • Number of database records chart

Understanding the trend over time can help you anticipate the future behavior of the data sets. Use this knowledge to determine when you might need to take preventative action and to establish efficient maintenance plans.

You have now obtained information about the current database state that caused this exception. You will use this information later to determine the appropriate action to resolve the exception.
You also identified the charts that can help you establish maintenance plans to prevent this exceptional state from occurring in the future.

What to do next

If you received other exceptions that belong to other exception categories, see the following topics to determine your next step:

If the only exceptions that you received are optimization exceptions, continue with Resolving optimization exceptions for HDAM and PHDAM databases.