Versions Compared

Key

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

...

Table 5-10 General over of an execution plan

ItemDescription
  
  
  
  
  
  

...

In Oracle (Sum.)

...

Total time spent in Oracle by statements using the selected plan.
Execution

...

CountsNumber of executions performed by the statements.
In Oracle (Avg.)

...

Displays the average time spent by the execution plan in the Oracle database.
Duration (Avg.)

...

Displays the average activity time for the execution plan.
Buffer Gets (Avg.)

...

Average number of buffer gets for the execution plan.
Rows Processed (Avg.)

...

Average number of rows processed by the execution plan.

The following table describes the In Oracle (Sum.) table for an execution plan.

Table 5-11    In 11 In Oracle (Sum.) for an execution plan

Column

...

Description
Sub-

...

StateIn Oracle sub-state.
Bar

...

graphGraphical representation of the Time column.

...

TimeAmount of time the entity was in this state.

...

%Percentage of time the entity was in this sub-state.

Additional information on In Oracle sub-states is available in the stacked bar graph of the In Oracle view and on the In
Oracle tab of the table in the Association area.

About In Oracle data for an execution plan

The In Oracle view, in the Activity tab, displays a stacked bar graph on the In Oracle resource consumption for the execution plan, over time, broken down into the In Oracle wait states.
See “In Oracle” on page 36.

About the overall activity view of an execution plan

The Overall Activity view, in the Activity tab, displays a stacked bar graph describing the overall activity resource consumption of the execution plan over time, broken down into overall activity wait states.
See “Overall activity” on page 35.

About the scalability view of an execution plan

The Scalability view, in the Activity tab, displays a stacked bar graph showing how the average In Oracle response time varies with the number of statement executions. This graph indicates whether your application scales as the number of statement executions increase.

When you drill down from an instance or Tier, the In Oracle (Avg.) vs. Statement Executions graph is shown. Otherwise, no graph is displayed.

About the Object entity

Whereas statements and PL/SQL are the fundamental building blocks of an application, the objects are the fundamental building blocks of a database. This view gives a DBA an opportunity to tune the objects in the database and is a far more powerful and less intrusive approach than looking at, for example, the V$SEGMENT_STATISTICS table. It is particularly useful if the application code cannot be changed, which is often the case when application packages have been purchased.

The Activity tab shows resource consumption information for objects that are accessed by SQL statements. These are the objects that can be seen in explain plans, namely tables, indexes, and clusters, plus some special objects representing Control file I/O, Log File I/O, Temporary I/O, and Undo I/O. Wait time on other types of objects is not displayed. For example, the Oracle Optimizer will expand a synonym to its underlying table name during the parse phase before the explain plan is created.

You can also view how many partitions an object has in the Association area.Note:

Info

To look at the selected object in detail, or to understand its performance over time, you can launch the Objects tab by clicking the Object tab button for an object in the Main area or the launch icon for an object in the Association area.

An Object can associate with Instances, other Objects, Oracle Files, Statements, PL/SQLs, Programs, Users, Modules, Actions, Machines (or their ERP equivalents), and Host Users.

For an Object, the following views are available:■    Overview

  • Overview

...

  • In Oracle

...

  • Dictionary

About the overview of an object

The Overview, in the Activity tab, displays a table that lists the I/O Wait sub-states for this object. Precise for Oracle records the following sub-states:■    Sequential

  • Sequential I/O Wait

...

  • Scattered I/O Wait

...

  • Direct I/O Wait

...

  • Other I/O Wait

...

  • Buffer Wait

...

  • Table Lock

...

  • Wait3

...

  • Row Lock Wait

Additional information on In Oracle sub-states is available in the stacked bar graph of the In Oracle view and on the In
Oracle tab of the table in the Association area. See “I/O wait” on page 38.

About In Oracle data for an object

The In Oracle view, in the Activity tab, displays a stacked bar graph on the In Oracle resource consumption over time, for the selected time frame, broken down into the In Oracle wait states. Particularly important for an object is the amount of time spent in I/O wait, Internal Lock wait, and Application Lock wait, that is how well cached the object is.
See “In Oracle” on page 36.

About the dictionary view of an object

The Dictionary view, in the Activity tab, describes the properties of the object. The information displayed is equivalent to information that can be found in the DBA_OBJECTS table.

About the Oracle File entity

Precise for Oracle shows resource consumption information for those Oracle files where the application spends time waiting directly on I/O. These are most likely to be data and temporary files. I/O wait time on other types of files such as redo log files are less likely because Oracle writes to these asynchronously using a background job such as LGWR. This information can be found in the Statistics tab.Note:

Info

To look at the selected Oracle file in detail, or understand its performance over time, you can launch the Objects tab by clicking the Objects tab button for an Oracle file in the Main area or the launch icon for an Oracle file in the Association area.

An Oracle File can associate with Objects, Oracle Files, Statements, PL/SQLs, and Storage Devices (only if Precise for Storage is installed).

For an Oracle File, the following views are available in the Main Area:■    Overview

  • Overview

...

  • In Oracle

...

  • Dictionary

About an overview of an Oracle file

The Overview, in the Activity tab, displays a table listing the I/O Wait sub-states for this Oracle file. Additional information on In Oracle sub-states is available in the stacked bar graph of the In Oracle view and on the In Oracle tab of the table in the Association area.
See “I/O wait” on page 38.

About the In Oracle view of an Oracle file

The In Oracle view, in the Activity tab, displays a stacked overtime bar graph on the I/O waits of the Oracle file.

About the dictionary view of an Oracle file

The Dictionary view, in the Activity tab, describes the properties of the Oracle file. The information displayed is equivalent to information that can be found in the DBA_DATA_FILES table.

About the Extended Collection entity

You can define an Extended Collection when you need to carry out a more intensive investigation into a particular performance problem. It lets you capture trace-level information from Oracle, allowing you to see Oracle wait event information for sessions and statements. You can, for example, find a unique index contention or ITL contentions.

The wait event information is similar to that which you can get from Oracle's SQL_TRACE table or event 10046 (for example, alter session set events 10046 trace name context forever, level 8) but with much less overhead. The Precise for Oracle Collector automatically captures all the wait events when it is sampling, but it does not normally store the full details. Rather it stores a summary to keep down the storage requirements. When an Extended Collection is enabled, the full wait event data, including wait event parameters, is stored in a trace file on the monitored server. It is not loaded into the PMDB. Wait event parameters allow you to precisely identify the wait cause, such as the exact block in the Oracle file that has caused a db file sequential read wait event.

You can create an Extended Collection by using the Define Extended Collection dialog box.

When an Extended Collection is no longer required, it should be deleted using either the icon in the Association area, or the action control button when in the Main area. Similarly, pending and running Extended Collections can be stopped, and subsequently deleted.

Info

...

To see Extended Selections listed in the Association controls, you need to have an Instance selected. When you drill down to an Extended Collection, the time frame in the Time Frame list and all graphs change to the start and end time of the collection.

The information displayed is the same as you would see for the Instance over the same time period filtered by the same criteria. However, in addition to this, an Extended Collection is the container for the Sessions, Statements, and Oracle Events that are captured.

For an Extended Collection, the following views are available in the Main Area:■    Overview

  • Overview

...

  • In Oracle

...

  • Overall Activity

See “Defining extended collections” on page 80 . See and “Filtering data” on page 29.

About the overview of an extended collection

The Overview, in the Activity tab, displays general information about the Extended Collection for the specified time frame and a table that lists the In Oracle sub-states for this entity.
See “In Oracle” on page 36.

The following table describes how the general information for an extended collection is structured.

Table 5-12    Structure 12 Structure of general information for an extended collection
Item    Description
Status    Status

ItemDescription
StatusStatus of the collection, which can be one of the following: Pending, Completed, Running, or Stopped.

...

CriteriaList of programs and other criteria that are included or excluded in the collection.
Current

...

SizeSize of the collection. The size is limited when the collection is created. See “Defining extended collections” on page 80.
Start Collecting

...

atStart date and time of the collection.
Stop Collecting

...

atEnd date and time of the collection.

The following table describes the In Oracle (Sum.) table for an extended collection.

Table 5-13    In 13 In Oracle (Sum.) table for an extended collection

Column

...

Description
Sub-

...

StateIn Oracle sub-state.
Bar

...

graphGraphical representation of the Time column.
Time

...

Amount of time the entity was in this state.

...

%Percentage of time the entity was in this sub-state.

Additional information on In Oracle sub-states is available in the stacked bar graph of the In Oracle view and on the In
Oracle tab of the table in the Association area.

About In Oracle data for an extended collection

The In Oracle view, in the Activity tab, displays a stacked bar graph on the In Oracle resource consumption over time, for the selected time frame, broken down into the In Oracle wait states.
See “In Oracle” on page 36.

About the overall activity view of an extended collection

The Overall Activity view, in the Activity tab, displays a stacked bar graph on the Overall Activity resource consumption over time, for the selected time frame, broken down into the Overall Activity wait states.
See “Overall activity” on page 35.

About Session and Recent Session entities (in Table view only)

Precise for Oracle captures a detailed history of every session but does not load this information into the PMDB because it quickly becomes out of date and because of the storage requirements. Instead, this information is saved on the monitored server for only as long as is required. This is accomplished using two mechanisms: Extended Collections and Recent Sessions.

When an Extended Collection is defined, the session information is captured and saved in the Extended Collection files. You can then drill down from an Extended Collection to a Session.

In addition, Precise for Oracle keeps the last n hours of session information on the server and makes it available using Recent Sessions. By default, information for the last 4 hours is saved. You can specify and change the length of time using Precise Agent Installer (see the Precise Installation Guide for details), but increasing it will obviously require more storage.

Info

...

Because session information is only saved for a limited amount of time (by default, 4 hours), if you drill down to recent sessions, you will only see session information for that period, regardless of the time frame specified in the Time Frame list.

A Recent Session can associate with Statements.

For a Session (in an Extended Collection) or Recent Session, the following views are available in the Main Area:■    Overview

  • Overview

...

  • In Oracle

...

  • Overall Activity

See “About the Extended Collection entity” on page 75.

About the overview of a session or recent session

The Overview, in the Activity tab, displays general information about the Session (in an Extended Collection) or Recent
Session for the specified time frame and a table listing the In Oracle sub-states for this entity (for details on these sub-states, see See “In Oracle” on page 36.).

The following table describes how the general information for a session or recent session is structured.

Table 5-14    Structure 14 Structure of general information for a session or recent sessionItem    Description

ItemDescription
In

...

OracleTotal time the session spent in Oracle
User

...

Oracle user name
Host UserHost

...

user name.
Machine

...

Name of the machine connected to Oracle
Oracle Process

...

IDOS-assigned process ID of the Oracle server process
Client Process IDProcess

...

ID of the client or application process, if it is running on the same server as the instance;

...

otherwise it is zero.
Oracle Process

...

TypeType of Oracle server process: Dedicated, MTS, or Parallel.

The following table describes the In Oracle (Sum.) table for an extended collection.

Table 5-15    In 15 In Oracle (Sum.) table for a session or recent session

Column

...

Description
Sub-

...

StateIn Oracle sub-state.
Bar

...

graphGraphical representation of the Time column.

...

TimeAmount of time the entity was in this state.

...

%Percentage of time the entity was in this sub-state.

Additional information on In Oracle sub-states is available in the stacked bar graph of the In Oracle view and on the In
Oracle tab of the table in the Association area.

About In Oracle data for a session or recent session

The In Oracle view, in the Activity tab, displays a stacked bar graph on the In Oracle resource consumption over time, for the selected time frame, broken down into the In Oracle wait states.
See “In Oracle” on page 36.

About the overall activity of a session or recent session

The Overall Activity view, in the Activity tab, displays a stacked bar graph on the Overall Activity resource consumption over time, for the selected time frame, broken down into the Overall Activity wait states.
See “Overall activity” on page 35.

About the Imported Statement entity

Statements can be imported from external source files into Precise for Oracle and stored in the cabinet and folder hierarchy. To display them in the Activity tab, use the More... option in the Association area and click Imported Statements.Note:

Info

To tune a statement, you can launch the SQL tab by clicking the SQL tab button for a statement in the Main area or the Tune icon for a statement in the Association area.

You cannot drill down from an imported statement to other entities.

For an Imported Statement, the following views are available in the Main Area:■    Text

  • Text

...

  • Workshop

About the text view of an imported statement

The Text view, in the Activity tab, displays the full SQL text of the statement.

About information on the cabinet or folder related to an imported statement

The Workshop view, in the Activity tab, displays details on the cabinet or folder where the statement or PL/SQL is saved, and on how it will be explained.

The following table describes how the information in the Workshop view is structured.

Table 5-16    Structure 16 Structure of information

Item

...

Description
Explained

...

onThe date and time of the last explain.
Parsing

...

UserOracle user name used to explain and parse the statement.
Cabinet

...

Name of the cabinet where the statement is stored.
Folder

...

Name of the folder where the statement is stored.
Origin

...

Source of the statement. In this case, it is always Imported from source file.
Cost

...

The cost of the imported statement.
Saved

...

onInformation on when the imported statement was saved.
Statement

...

The name of the imported statement.
Oracle Hash

...

ValueThe Oracle Hash value of the imported statement.

...

CommentUser-defined comment associated with the statement. This is blank until the statement has been saved.

See “Editing the properties of a statement” on page 31 . See and “About the SQL tab” on page 131.

About storage device entities

In the Activity tab, there are the following Storage device entities:■    EMC

  • EMC storage device

...

  • HP storage device

...

Info

These entities are only available if you have installed Precise for Storage. For more information on the supported platforms, see the Precise Installation Guide.

The Activity tab offers a unique method for identifying I/O problems in EMC and HP storage devices. It reports I/O wait time instead of just I/O counters. This lets you easily identify the resource that is actually being waited for and tune it instead of guessing by rules of thumb. Furthermore, you can associate the storage device with the applications and statements that are waiting on I/O.

See “Precise for Storage, Oracle version - how resource consumption of storage devices is examined” on page 41.Note:

Info

To look at a storage device in detail or to understand its performance over time, you can launch the Object tab by clicking the Object tab button for a storage device in the Main area or the launch icon for a storage device in the Association area.

When an HP Storage Device is selected, the Launch HP PA button appears to the right of the Define Extended Collection button. This option launches the Web-based user interface of the HP Performance Advisor in another Internet Explorer window.

Storage devices can associate with Objects, Oracle Files, Statements, and PL/SQLs. For a storage device, the following views are available in the Main Area:■    Overview

  • Overview

...

  • I/O Wait

...

  • Dictionary

About the overview of a storage device

The Overview, in the Activity tab, displays a table listing the In Oracle sub-states for this storage device. See “In Oracle” on page 36.

The following table describes the In Oracle (Sum.) table for an extended collection.

Table 5-17    In 17 In Oracle (Sum.) table for a storage device

Column

...

Description
Sub-

...

StateIn Oracle sub-state.
Bar

...

graphGraphical representation of the Time column.

...

TimeAmount of time the entity was in this state.

...

%Percentage of time the entity was in this sub-state.

Additional information on In Oracle sub-states is available in the stacked bar graph of the In Oracle view and on the In
Oracle tab of the table in the Association area.

About the I/O wait view of a storage device

The I/O Wait view, in the Activity tab, displays a stacked overtime bar graph on the I/O waits of the storage device.

About the dictionary of a storage device

This view, in the Activity tab, describes the properties of the storage device. Note that despite the name of the view, these are properties not derived from the Oracle data dictionary.

About the Findings area in the Activity tab

...

Info

This is only relevant for the Tree view.

The Findings area in the Activity tab displays performance problems detected in the selected J2EE Caller Service or
Web Transactions. The findings list is displayed according to severity (highest to lowest).

To view the details of a specific finding, hover over the finding name. The area for the selected finding will expand, displaying information and recommended actions. Click on the relevant link to launch the appropriate tab in context, or Learn more to open the help for that finding.

...

The Tuning Action buttons in the Activity tab enable you to perform the following actions:■    Defining

  • Defining extended collections

...

  • Importing statements

...

  • Stopping extended collections

See “Editing the properties of a statement” on page 31.

Defining extended collections

The Define Extended Collection button opens the Define Extended Collection dialog box, allowing you to define a period where more detailed Oracle Performance information is collected.

Using the Define Extended Collection dialog box, you can specify the instance that you want to monitor, the name of your collection, the start and stop time, and the maximum size of the trace. You then use the entity table to define the entities that you want to include or exclude. In the Include and Exclude fields, you can use the Oracle SQL-style wildcards ‘-’ and ‘%’ to match zero or more characters and ‘_’ to match a single character. The AND operator is used to produce the final selection.Note:

Info

Try to only include the entities that you need and do not run too many extended collections simultaneously. Although the overhead is still much less than for SQL_TRACE, there can be a slight performance penalty in having to write a lot of information to the traces file on the monitored server.

See “About the Extended Collection entity” on page 75. To define extended collections1    Click

  1. Click the Define Extended Collection button to open the Define Extended Collection dialog box.

...

  1. In the Instance list, select the appropriate instance name.

...

  1. If appropriate, type in the Collection name.

...

  1. For Start At date and time, select the following data:

    ...

      • day (number)

    ...

      • month (name)

    ...

      • year (number)

    ...

      • hour (number)

    ...

      • minute (number)

    ...

    1. Type the desired maximum number of megabytes for collection information.

    ...

    1. Define the criteria for activities to be gathered in the collection. For each entity listed in the Entity column, define whether to include or exclude the entity to the collection.

    ...

    1. Click OK to accept or Cancel to reject the defined entities.

    Importing statements

    The Import Statement button opens the Import Statements from File dialog box, allowing you to import SQL statements from a file. This dialog box includes three tabs: Source, Catalog, and Options.
    See “Editing the properties of a statement” on page 31. See “About the Imported Statement entity” on page 78.

    Defining information on the Source tab

    On the Source tab, you can specify the name of the instance and user that will own the statement and the full path to the file containing the SQL. Wild cards in the path are not supported.

    If duplicates are detected during the import process, the newer version of a statement will not over-ride the older version.

    To define Source tab details1    In

    1. In the Instance list, select the appropriate instance.

    ...

    1. In the User list, select the appropriate user name.

    ...

    1. In the Path field, you can type in directly the path or click the ... (browser) to locate and select the path.

    ...

    1. Check the box, if appropriate, to view Explain imported statements.

    ...

    1. Click OK to accept or Cancel to reject the Source tab information.

    Defining information on the Catalog tab

    On the Catalog tab, you can specify the destination cabinet and folder. Either specify the name of the cabinet or folder explicitly by selecting Use the cabinet/folder, or specify a naming convention based on either the name or full path of the file by selecting Use an automatically created cabinet/folder. By default, the statement is saved into the predefined cabinet or folder called Default.

    To define Catalog tab details1    Use

    1. Use the upper two lists for a cabinet to select an available parameter.

    ...

    1. Use the lower two lists for a folder to select an available parameter.

    ...

    1. Click OK to accept or Cancel to reject the Source tab information.

    Defining information on the Options tab

    On the Options tab, you can control the import process and the way that statements are found. You can filter statements in the following ways:■    Ignore

    • Ignore strings in either single or double quotes during the import and replace them with bind variables.

    ...

    • Ignore comments as defined in various programming languages.

    ...

    • Convert names in respect of hyphens and periods.

    ...

    • Control the sort of SQL statements imported.

    ...

    • Ignore names that are likely to refer to system objects.

    ...

    • Perform a semantic check on the statement by looking up referenced objects in the data dictionary to ensure that the named objects exist.

    To define Options tab details1    Check

    1. Check the appropriate box(es) if you want to ignore strings enclosed by single or double quotes.

    ...

    1. Check the appropriate box(es) if you want to ignore specific types of comments.

    ...

    1. Check the appropriate box(es) if you want to convert hyphens or periods to underscores.

    ...

    1. Check the appropriate box(es) regarding statement parameters (select, insert, update, or delete).

    ...

    1. Check the appropriate box if you want to ignore specific statements.

    ...

    1. Check the appropriate box if you want to scan the data dictionary for a column name.

    ...

    1. Click OK to accept or Cancel to reject the Source tab information.

    Stopping extended collections

    There are two possible actions you can take to stop extended collections. To stop extended collections1    When

    1. When you have selected an Extended Collection, click Stop to stop this collection if it has already started but has not completed yet.

    ...

    1. As an alternative, when a list of Extended Collections is displayed, you can click the appropriate action icon in the

    ...

    1. Association area.

    Anchor
    HowtheActivitytabcanhelpyouidentifyperformanceproblemsusingtheTableview
    HowtheActivitytabcanhelpyouidentifyperformanceproblemsusingtheTableview
    How the Activity tab can help you identify performance problems using the Table view

    You can identify a performance problem by doing one or more of the following:■    Examining

    • Examining resource consumption of an entire instance

    ...

    • Identifying heavy resource consumers

    ...

    • Examining resource consumption over time

    ...

    • Identifying offending SQL statements

    ...

    • Correlating Oracle data with ERP data

    ...

    • Examining the scalability of your application

    ...

    • Examining EMC Storage devices

    Examining resource consumption of an entire instance

    When performing a tuning audit, it is very important to analyze and understand the performance behavior of your instances. You may have already drilled down to analyze the performance of a single query or program. However, examining the entire instance's behavior can alert you to the health of your system. The instance represents the performance of the average application. This view will help you answer questions such as: This query suffers from lock wait, but does the entire system suffer from lock wait? If, for example, you discover that your system suffers from I/O wait and you tune a query that performs memory operations, you most likely will not improve the entire system's I/O wait problem. So examining the entire instance can provide a quick overview of the dominant resources consumed.

    The following example shows how to examine resource consumption of an instance. To examine resource consumption of an entire instance1    In

    1. In the Instance list, choose the item you want to analyze.

    ...

    1. In the Time Frame list, choose the period of time you want to analyze.

    ...

    1. On the View controls in the Main area, click Overview. Examine the entire instance and determine which are the dominant resources that are consumed by your system. For our example, we have an Activity tab that shows an instance that is fairly busy. In the Main area, the instance shows that it has spent 1 day out of 7 executing. But it has spent 40% of that time on Other Lock Wait. This is an unproductive wait.

    ...

    1. Launch to the Statistics tab to find out more about the underlying Oracle wait events comprising the Other Lock Wait. It is most likely to be an enqueue. In fact, the instance has spent over 50% of its time in unproductive waits (not using CPU or I/O).

      Info

    ...

    1. As a rule of thumb, a healthy system should have a high Using CPU value; a 10-15% I/O Wait, and the remaining non-productive wait states should show values that are as low as possible. For databases that process large data volumes, such as a data warehouse, the I/O Wait percentage may be higher. It is true, however, that applications/statements that experience high Using CPU or I/O Wait times may be performing excessive logical I/Os and should be investigated. To determine this, it is important to look at the actual time spent waiting (in hh:mm:ss) as well as just the percentage.

    Identifying heavy resource consumers

    Precise for Oracle lets you drill down to application components (such as Programs, Users, Host Users, Machines, Statements, and so on) to determine which application component consumes the most resources. To do so, click Programs from the Association controls to show a breakdown of the Oracle activity by program. You can now click any of the programs to see just the activity for that program and the entities that contributed to that activity. This process is iterative and you may continue to drill down until you discover the application component that you want to tune.

    There are several reasons to drill down and focus on different application components:■    During

    • During the tuning process, you drill down to determine which are the top resource-consuming components. Tuning a statement (User, Program, Machine, and so on) that consumes most of the resources will free them for other entities. The tuning process is an iterative process. Continue to list all components, examine their resource consumption, and focus on several of them until you have completed the tuning process.

    ...

    • When you try to analyze user experience, you need to isolate one user's activity from the other users. To achieve this, you can focus on a single User or Machine.

      Info

    ...

    • When trying to determine which application component to drill down to, take into consideration both the total In Oracle time of the application and its number of Sessions or Executions and Duration (Avg.). Otherwise, you can try to tune a program that runs once a year, consuming 20 hours, instead of tuning a program that consumes 2 seconds but runs every time a user logs on to the system.

    You can display the average duration for statements with the format shown as hh:mm:ss.

    The following example shows how to drill down to application components and identify resource consumers. For our example, the Active tab shows a list of programs that you can drill down to in the Tree pane. We want to drill down to the program that spent the most time.

    To identify heavy resource consumers1    In

    1. In the Instance list, choose the item you want to analyze.

    ...

    1. In the Time Frame list, choose the period of time you want to analyze.

    ...

    1. On the Association controls in the Association area, click Programs. This shows a breakdown of the Oracle activity by program.

    ...

    1. You can now click any of the programs to see just the activity for that program and the entities that contributed to that activity.

    ...

    1. Continue to drill down until you discover the application component that you want to tune.

    Examining resource consumption over time

    When you analyze and tune the performance of an application component (such as Program or Statement), it is important to consider its performance over time. Precise for Oracle lets you view the component's performance over a selected time frame.

    ■    There There are several reasons to study a component's performance over time:■    When

    • When analyzing a performance problem, you will want to determine if it is a random problem or has happened before.

    ...

    • To look for a pattern. For example, does the lock problem always happen on Tuesday at around 10 AM?

    ...

    • You will want to determine how your system is behaving throughout an entire day. For example you may observe that during the night, your system experiences much more I/O wait than during the day.

    The following example shows how to examine resource consumption over time. To examine resource consumption over time1    In

    1. In the Instance list, choose the item you want to analyze.

    ...

    1. In the Time Frame list, choose the period of time you want to analyze.

    ...

    1. In the table, click a program to drill down to. The tab now shows the result of clicking a program. The Main area shows the In Oracle (Sum.) overtime graph of the activity for the selected program. For an example, the overtime graph may show the selected program to run only during the working day, but is performing bulk inserts.

    Although this particular example is performing a simple load test, in a production application you may want to consider running such statements outside of working hours.

    Identifying offending SQL statements

    Having identified a major resource consuming entity, you can further drill down to the statements and PL/SQL executed by that entity. These may include long running SQL statements and SQL statements that use few resources but were executed frequently.
    See “Identifying heavy resource consumers” on page 83.

    In many cases, analyzing the queries executed by the entity and tuning them will result in the most performance gain. For each statement, you can do the following:■    View

    • View which entities executed the statement.

    ...

    • View resources consumed by the statement, which lets you determine if the statement is CPU or I/O bound, waiting for a lock, and so on.

    ...

    • View resource consumption patterns, which indicate if the statement execution is affected by excessive use of the same resource by another statement.

    ...

    • View access plan information and display summary information on the operations used in the access plan. This is available only for Statements.

    ...

    • Tune the statement by selecting the SQL tab or the Tune icon.

    The following example shows how to identify offending SQL statements. For our example, we have identified a major resource consuming entity and have drilled down to the statements and PL/SQL executed by that entity.

    To identify offending SQL statements1    In

    1. In the Instance list, choose the item you want to analyze.

    ...

    1. In the Time Frame list, choose the period of time you want to analyze.

    ...

    1. In the Association area, click the General tab so as to view the SQL text, number of executions, average In Oracle time, and the percentage contribution to the overall In Oracle time. In the Main area, the bar graph shows a breakdown of the In Oracle time so that you can easily see if a statement is CPU or I/O bound, or waiting on other things.

    ...

    1. In the Association area, click the Statistics tab to view Oracle statistics for each statement. For example, you can see the number of Logical Reads, which is the total of the Consistent Gets + DB Block Gets. Similarly, you can see the number of Physical Reads, which is the number of reads that involved a physical I/O from disk because the data was not available in the Oracle Buffer Cache.

    ...

    1. The tab shows that the number of logical and physical reads is high and contributing to the I/O wait time. In addition, it indicates the number of Sorts and how many were performed in memory compared to disk. Disk sorts take longer than sorts in memory, so attempts should be made to avoid them where possible by sizing the Oracle sort areas settings appropriately and tuning statements that do unnecessary sorting. For our example, the number of sorts is low and there is little sorting to disk.

    Correlating Oracle data with ERP data

    Installing the Precise for Oracle Interpoint extension lets you correlate Oracle information with ERP information. For example, if you install Interpoint for SAP, you will be able to display the breakdown of your Oracle activity into SAP Work Types.

    The following example shows how to correlate Oracle data with ERP data. To correlate Oracle data with ERP data1    In

    1. In the Instance list, choose the item you want to analyze.

    ...

    1. In the Time Frame list, choose the period of time you want to analyze.

    ...

    1. In the Activity tab, the overtime graph indicates that the major bottleneck is the I/O wait. However, in this 24 hour period, nearly all the I/O wait time arises from batch jobs (SAP Background).

    ...

    1. Check the interactive sessions (SAP Dialog). Interactive sessions (SAP Dialog) are not waiting much on I/O. If the emphasis in this application is on tuning interactive sessions, then despite first appearances, tuning the I/O is not going to make an appreciable difference.

    ...

    1. Drill down to the entity whose data you want to correlate. For our example, drill down to SAP Background to view the transactions and statements, to investigate why batch jobs are taking so long.

    Examining the scalability of your application

    Applications are called upon to support the addition of more and more users, and data, over the years. One of today's tasks is to ensure that our applications and servers are scalable for tomorrow's tasks.

    The following example shows how to examine scalability of your application. In the Activity tab, an application runs a particular statement over 10 million times during a selected time frame.

    To examine scalability of your application1    In

    1. In the Instance list, choose the item you want to analyze.

    ...

    1. In the Time Frame list, choose the period of time you want to analyze.

    ...

    1. On the View controls in the Main area, click Scalability. The Scalability view shows that the number of Executions has remained fairly constant.

    ...

    1. Check the In Oracle time. For our example, the In Oracle time for the statement is now much lower (towards the right-hand side of the graph), after some tuning has taken place. In other words, it should be possible to increase the number of executions and hence the throughput of the application by a factor of 3 for the same resource consumption.

    Examining EMC Storage devices

    Precise for Storage, Oracle version, supports EMC devices and lets you see the resource consumption of the EMC Storage devices from the application’s point of view.
    The following example shows how to examine EMC Storage devices resource consumption. To examine EMC Storage devices
    1    In the Instance list, choose the item you want to analyze.

    2    In the Time Frame list, choose the period of time you want to analyze.

    3    For our example, the Association area in the Activity tab shows the total I/O wait on each of the devices used by instance ora920 in just over one hour, broken down into scattered and sequential I/O types.

    4    Check the I/O wait on the devices. The I/O wait on devices, for our example, 0E1 and 0E0 is significantly higher than for 0DE and 0DF. These are the busy devices as far as this instance is concerned.

    5    Drill down into device 0E1 to see its resource consumption over time. Find out which statements have been waiting on it.

    ...