Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Changes were made to the table or index structure. Possible changes include:

  • Index was added or dropped.
  • Partitions or subpartitions were added or dropped.
  • Table was altered (columns were added).

Table 12-90 Changes Detected in Object Structure

 

...

Description
What to do

...

nextExamine the changes in the Changes graph in the Read/Write Operations tab.

...

Advice

Perform one of the following options:

...

  • Try to determine whether the changes in object structure and changes in performance are related by comparing the In Oracle graph and the Changes graph in the Read/Write Operations tab. If it seems that performance deteriorated as a result of the change in table or index structure, consider rolling back the change.

...

  • Consider adjusting index structure and execution plans.

Anchor
TableGrewConsiderably
TableGrewConsiderably
Table Grew Considerably

...

Table 12-91 Table Grew Considerably

 

...

Description
What to do

...

next

Examine if there is a correlation between table growth and performance degradation in the

...

Read/Write Operations tab.

Advice

...

Verify that full scans are not widely used for the table, that the existing indexes correlate with the table growth, and that no new indexes are required. You can also check Materialized Views usage.

Anchor
PartitionIsAccessedExtensively
PartitionIsAccessedExtensively
Partition Is Accessed Extensively

...

Table 12-92 Partition Is Accessed Extensively

 

...

Description
What to do

...

next

Perform the following options:

...

  • Examine the In Oracle activity of the partition, in the Partitions tab. Check if the massive activity spent accessing the partition is abnormal.

...

  • Examine the activity of statements accessing the partition in the Activity tab.
Advice

...

Perform one of the following options:

  • If the partition is a table partition:

    ...

      • Create local or global indexes for statements that access the partition.

    ...

      • Subpartition the partitions.

    ...

      • If the partitions are not balanced well, consider building the partitioned table with new partition keys.
    • If the partition is an index partition:

      ...

        • Subpartition the partitions.

      ...

        • Add more columns to the index to improve filtering.

      Anchor
      SegmentHitRatioVeryLow
      SegmentHitRatioVeryLow
      Segment Hit Ratio Very Low

      ...

      Table 12-93 Segment Hit Ratio Very Low

       

      ...

      Description
      What to do

      ...

      next

      Perform the following options:

      ...

      • Examine associated statements in the Statements tab. Focus on the All access type in the Access

      ...

      • Types table.

      ...

      • Examine buffer cache usage in the Statistics tab. Check if there is an overall wait on the Free

      ...

      • Buffer event.
      Advice

      ...

      If there are no outstanding contentions on the buffer cache consider moving the object into Keep or Recycle buffer cache pools.

      Anchor
      ExtensiveActivityonNonexplainedStatements
      ExtensiveActivityonNonexplainedStatements
      Extensive Activity on Non-explained Statements

      ...

      Table 12-94 Extensive Activity on Non-explained Statements

       

      ...

      Description
      What to do

      ...

      nextExamine associated statements in the Statements tab. Focus on non-explained statements in the

      ...

      Access Types table.

      ...

      AdvicePerform an explain on the non-explained statements.

      Anchor
      ExtensiveIndexRangeScanAccess
      ExtensiveIndexRangeScanAccess
      Extensive Index Range Scan Access

      ...

      Table 12-95 Extensive "Index Range Scan" Access

       

      ...

      Description
      What to do

      ...

      nextExamine statements using the index in the Statements tab. Examine column usage, selectivity and matching level (see example) for the top statements, in the Columns table to assess the efficiency of the index.
      Advice

      ...

      If the index structure does not fit the Where predicates of the top statements consider doing one of the following:

      ...

      • Add columns to the index in the right sequence (columns with high selectivity and equal predicates should be first) to improve the matching level. This leads to a better filtering of leaf pages.

      ...

      • Change the sequence of columns in the index to the optimal sequence (columns with high selectivity and equal predicates should be first) to improve the matching level. This leads to a better filtering of leaf pages.
      Example

      ...

      Table: TAB1 (C1 number, C2 number, C3 number, C10 Date)

      Index: IX1 (C1,C2,C5)

      Statement: select * from TAB1 where C1=:h and C5=10; Execution plan uses IX1 in Index Range Scan

      In this statement the matching level of the index is 1. This means that Oracle uses only C1 to filter index leaf pages, it cant match C5=10 against the index tree because of the absence of a C2= predicate. Because C1 is not selective, many irrelevant index leaf pages can be read. Oracle will apply the C5=10 predicate on the index keys to screen irrelevant table ROWIDs. An index on C1 followed by C5 would be more efficient for the query.

      Anchor
      ExtensiveFullIndexScanAccess
      ExtensiveFullIndexScanAccess
      Extensive Full Index Scan Access

      ...

      Table 12-96 Extensive “Full Index Scan” Access

       

      ...

      Description
      What to do

      ...

      next

      Perform the following:

      ...

      • Examine associated statements in the Statements tab.

      ...

      • Focus on the Full Index Scan access type in the Access Types table.

      ...

      • Examine column usage, for each statement in the Columns table.
      Advice

      ...

      Perform one of the following options:

      ...

      • Full index scan, can be eliminated by:
        • Identifying common high selectivity columns for the top statements. Create an index matching the statements predicates.
        • Partitioning the table according to the best predicates existing in the statements.

      ...

      • Full index scan, can be improved by switching to Fast Full Index Scan when the index is not used to save sorts (a fast full scan retrieves the rows according to the index key). Perform one of the following options to enable this access path:
        • Ensure that the Fast_Full_Scan_Enabled parameter = yes.
        • Use the "Index_ffs" hint for major statements that use the full index scan, to check if the fast full scan improves performance. When the full index scan doesn't save sort results, performance may improve considerably.
      Example

      ...

      Table: TAB1 (C1 number, C2 number, C3 number, C10 Date)

      Index: IX1 (C1)

      Statement: select C1 from TAB1 Order by C1; Execution plan uses IX1 in Full Index Scan

      In this case a full index scan is the best option. Because there are no filtering predicates, there is no need to access the table blocks and the sort operation is avoided.

      Anchor
      ExtensiveFastFullIndexScanAccess
      ExtensiveFastFullIndexScanAccess
      Extensive Fast Full Index Scan Access

      ...

      Table 12-97 Extensive "Fast Full Index Scan" Access

       

      ...

      Description
      What to do

      ...

      next

      Perform the following:

      ...

      • Examine associated statements in the Statements tab.

      ...

      • Focus on the Fast Full Index Scan access type in the Access Types table.

      ...

      • Examine column usage for each statement in the Columns table.
      Advice

      ...

      Perform one of the following options:

      ...

      • Fast Full index scan can be eliminated by:
        • Identifying common high selectivity columns for the top statements. Create an index matching the statements predicates.
        • Partitioning the table according to the best predicates existing in the statements.

      ...

      • Fast Full Index scan can be improved by:
        • Moving the index to another space with a higher block size.
        • Increasing the DB_FILE_MULTIBLOCK_READ_COUNT init.ora parameter.

      Anchor
      ExtensiveIndexSkipScanAccess
      ExtensiveIndexSkipScanAccess
      Extensive Index Skip Scan Access

      ...