Analyze the fragmentation 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 fragmentation 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 data sets.
By
completing these steps, you will identify the type of fragmentation
symptoms that occurred and the database data set for which the exceptions
were reported.
Procedure
In this section, instructions to analyze the common fragmentation exceptions
are provided. Follow the instructions for the exceptions that you received. The most common
exceptions are listed first.
- Exception class name: EXCESSIVE_SEGMENT_SCATTERING
- This exception indicates that too many physical pointers point to another block or CI.
- When a parent segment and its dependent segment exist in the same block or CI, or when twin
segments are in the same block or CI, extra I/O operations are not needed. However, if they are in
different blocks or CIs, the number of I/O operations might increase.
- Complete these steps to analyze this exception:
- Locate the following data elements in the Sensor Data Statistics report:
- DB_PCT_NUM_PTR_DIFF_BLK
- DB_NUM_PTR_DIFF_BLK
- These data elements indicate the number of physical pointers that point to another block or CI,
and the percentage of physical pointers that point to another block or CI compared to the physical
pointers.
These data elements are reported for each data set. Locate the data element values for each
data set, and identify the data sets for which this exception was reported.
- Optional: To obtain more information about the physical pointers, run the HD Pointer Checker
utility of IMS HP Pointer Checker, or run IMS HP Image Copy with the HDPC=YES option, and generate the following reports:
- DB Record Distribution Statistics report
- By reviewing the summary of dependent segments distribution part and the distribution of
dependent segments in root block part, you can determine how many dependent segments exist in the
blocks that are different from the root segment block.
- Partition Statistics report
- Database Statistics report
- By reviewing the segment and pointer statistics part, the rate of segment I/O occurrence part,
and the VL segment split statistics part, you can determine the number of pointers that point to
different blocks for each segment.
- Optional: To view the trend of data over time, locate the
following chart in IMS Administration Foundation or
Management Console:
- Pointers to other blocks or CIs 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: EXCESSIVE_VL_SPLIT_SEGMENTS
- This exception indicates that too many variable-length segment splits exist.
- When a variable-length segment is replaced with a segment that has a longer length, and the
amount of free space in the block or CI is inadequate, the segment is split into the prefix part and
the data part. These segment splits can increase I/O operations.
- Complete these steps to analyze this exception:
- Locate the following data elements in the Sensor Data Statistics report:
- DB_NUM_VLSEG_SPLIT
- DB_PCT_NUM_VLSEG_SPLIT
- The values for these data elements indicate the number of segment splits and the percentage of
segment splits compared to the number of variable segments.
These data elements are reported for each data set. Locate the data element values for each
data set, and identify the data sets for which this exception was reported.
- Optional: To obtain more information about the variable-length segment splits, run the HD
Pointer Checker utility of IMS HP Pointer Checker, or IMS HP Image Copy with the HDPC=YES option, and generate the HD
Data Set Statistics report. In this report, review the Segment occurrences/split part.
- Optional: To view the trend of data over time, locate the
following chart in IMS Administration Foundation or
Management Console:
- Variable-length segment splits 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: FRAGMENTED_FREE_SPACE
- Exception class name: EXCESSIVE_SLACK_BYTES
- These exceptions indicate that an excessive amount of unusable space exists in the data set. An
excessive amount of unusable space wastes space and causes segments and database records to be
fragmented.
- FRAGMENTED_FREE_SPACE
- This exception indicates an excessive amount of fragmented unusable IMS free space. Fragmented unusable IMS free space is fragmented IMS free space that is too
small to store the shortest segment that is defined in the DBD definition.
- EXCESSIVE_SLACK_BYTES
- This exception indicates an excessive number of slack bytes. A slack byte is
unusable space that is not used by a segment or that cannot be counted as IMS free space.
- To learn more about slack bytes, see the topic "How IMS reclaims space" in the IMS High
Performance Pointer Checker User's Guide.
These two exceptions indicate the same state in terms of space that cannot be reused by IMS. Even if you receive only one of these exceptions, analyze the
state of the data sets from both perspectives to gain an overall understanding of the space that
cannot be reused by IMS.
- Complete these steps to analyze these exceptions:
- Locate the data elements that are related to IMS free space in the Sensor Data Statistics report:
- DB_AVG_NUM_FSE
- The value of this data element indicates the average number of IMS free space fragments in a CI or block.
- DB_AVG_NUM_NOREUSE_FSE
- The value of this data element indicates the average number of unusable IMS free space fragments in a CI or block. Unusable IMS free space refers to free space that is too small to store the shortest
segment that is defined in the DBD definition. If the value of this data element is large, the
database contains excessive amount of unusable space.
These data elements are reported for each data set. Locate the data element values for each
data set, and identify the data sets for which this exception was reported.
Also, locate the
following data elements. These data elements provide more information about the amount of remaining
free space that IMS can use.
- DB_NUM_FSE_MIN
- The value of this data element indicates the number of IMS free space fragments in which the shortest segment that is defined in the
DBD definition can be stored.
- DB_NUM_FSE_MAX
- The value of this data element indicates the number of IMS free space fragments in which the longest segment that is defined in the
DBD definition can be stored.
- DB_NUM_FSE
- The value of this data element indicates the number of IMS
free space fragments.
- DB_BYTES_FREE_SPACE
- The value of this data element indicates the total bytes of free space.
These data elements are reported for each data set. Locate the data element values for each
data set, and identify the data sets for which this exception was reported.
Also, in some
cases, determining if the length of fragmented IMS free space
is large enough to store the segment of the segment type that has the most occurrences can help you
analyze the condition of the IMS free space. You can do so by
comparing the average length of IMS free space fragments with
the segment length of the segment type that has the most occurrences. These values can be obtained
as follows:
- Calculate the average length of IMS free space fragments by
dividing the DB_BYTES_FREE_SPACE value by the DB_NUM_FSE value.
- Determine the segment type that has the most occurrences in the data set by generating an IMS HP Pointer Checker report as explained in Step c.
If the segment length of that segment type is shorter than the average length, you can
assume that an excessive amount of unusable IMS free space
exists.
- Locate the data elements that are related to slack bytes in the Sensor Data Statistics report:
- DB_NUM_UNIDENTIFIED
- The value of this data element indicates the number of slack bytes.
- DB_BYTES_UNIDENTIFIED
- The value of this data element indicates the total slack bytes.
- DB_AVG_NUM_UNIDENTIFIED
- The value of this data element indicates the average number of slack bytes in a CI or
block.
These data elements are reported for each data set. Locate the data element values for each
data set, and identify the data sets for which this exception was reported.
- Optional: To obtain more information, run the HD Pointer Checker utility of
IMS HP Pointer Checker, or IMS HP Image Copy with the HDPC=YES option, and generate the HD Data Set Statistics report. In
this report, review the Database record statistics part.
In the Database record statistics part,
determine the segment type that has the most segment occurrences and the segment length for that
segment type. Then compare the length of the segment with the average length of IMS free space fragments that you already calculated in Step a. In an ideal data set, the average length of
IMS free space fragments is typically longer than the segment
length.
- Optional: To view the trend of data over time, locate the
following charts in IMS Administration Foundation or
Management Console:
- Unusable IMS free space chart
- Usable IMS free space chart
- Slack bytes areas 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 d, 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 fragmentation
exceptions, continue with Resolving fragmentation exceptions for HDAM and PHDAM databases.