Friday, December 6, 2013

Load Profile

This section gives a glimpse of the database workload activity that occurred within the snapshot interval. For example, the load profile below shows that an average transaction generates about 18K of redo data, and the database produces about 1.8K redo per second.

Load Profile
~~~~~~~~~~~~           Per Second       Per Transaction
                   --------------       ---------------
        Redo size:       1,766.20             18,526.31
    Logical reads:          39.21                411.30
    Block changes:          11.11                116.54
   Physical reads:           0.38                  3.95
  Physical writes:           0.38                  3.96
       User calls:           0.06                  0.64
           Parses:           2.04                 21.37
      Hard parses:           0.14                  1.45
            Sorts:           1.02                 10.72
           Logons:           0.02                  0.21
         Executes:           4.19                 43.91


The above statistics give an idea about the workload the database experienced during the time observed. However, they do not indicate what in the database is not working properly. 

For example, if there are a high number of physical reads per second, this does not mean that the SQLs are poorly tuned.

Perhaps this AWR report was built for a time period when large DSS batch jobs ran on the database. 

This workload information is intended to be used along with information from other sections of the AWR report in order to learn the details about the nature of the applications running on the system.  The goal is to get a correct picture of database performance.

The following list includes detailed descriptions for particular statistics:
Redo size: The amount of redo generated during this report.
Logical Reads: Calculated as (Consistent Gets + DB Block Gets = Logical Reads).
Block changes: The number of blocks modified during the sample interval.
Physical Reads: The number of requests for a block that caused a physical I/O operation.
Physical Writes: Number of physical writes performed.
User Calls: Number of user queries generated.
Parses: The total of all parses; both hard and soft.
Hard Parses: The parses requiring a completely new parse of the SQL statement. These consume both latches and shared pool area.
Soft Parses: Soft parses are not listed but derived by subtracting the hard parses from parses. A soft parse reuses a previous hard parse; hence it consumes far fewer resources.
Sorts, Logons, Executes and Transactions: All self-explanatory.
Parse activity statistics should be checked carefully because they can immediately indicate a problem within the application. For example, a database has been running several days with a fixed set of applications, it should, within a course of time, parse most SQLs issued by the applications, and these statistics should be near zero.

If there are high values of Soft Parses  or especially Hard Parses statistics, such values should be taken as an indication that the applications make little use of bind variables and produce large numbers of unique SQLs. However, if the database serves developmental purposes, high vales of these statistics are not bad.
The following information is also available in the workload section:

  % Blocks changed per Read:    4.85    Recursive Call %:    89.89
 Rollback per transaction %:    8.56       Rows per Sort:    13.39


The % Blocks changed per Read statistic indicates that only 4.85 percent of all blocks are retrieved for update, and in this example, the Recursive Call % statistic is extremely high with about 90 percent. However, this fact does not mean that nearly all SQL statements executed by the database are caused by parsing activity, data dictionary management, space management, and so on.

Remember, Oracle considers all SQL statements executed within PL/SQL programs to be recursive.  If there are applications making use of a large number of stored PL/SQL programs, this is good for performance. However, applications that do not widely use PL/SQL may indicate the need to further investigate the cause of this high recursive activity.

It is also useful to check the value of the Rollback per transaction % statistic. This statistic reports the percent of transactions rolled back. In a production system, this value should be low. If the output indicates a high percentage of transactions rolled back, the database expends a considerable amount of work to roll back changes made.  This should be further investigated in order to see why the applications roll back so often.

No comments:

Post a Comment