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.
For 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.
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:
- 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.
Optional: To view the trend of data over time, locate the
following chart in IMS Administration Foundation or
Management Console:

- 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:
- 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.
- 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.
Optional: To view the trend of data over time, locate the
following charts in IMS Administration Foundation or
Management Console:
- 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:
- 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.
- 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.
Optional: To view the trend of data over time, locate the
following chart in IMS Administration Foundation or
Management Console:
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.
The 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:
- 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.