Statspack interpretation

I have been running statspack regularly and need help in interpretation. I believe the database in question is running ok from user's point of view. However, we will be doubling the users in a few weeks and I am trying to be proactive about preparing for this. I have looked at the statspack reports and have sent them through oraperf.com, but I still have questions. Can anyone help? I can share a couple of statspack reports with specific questions. Thanks in advance, Kim

This is a good reference to interpret Statspack.
Perspective EXPERT ADVICE
Advanced Tuning with Statspack
By Rich Niemiec
But wait, there's more! What waits mean in Statspack reports and how to tune them out.
If you could choose just two Oracle utilities to find and monitor performance problems in your Oracle9i Database system, those two utilities would be Oracle Enterprise Manager (now available in Release 4.0) and Statspack. As of Oracle8i Release 8.1.6, the Statspack utility replaced the UTLBSTAT/UTLESTAT scripts available for performance monitoring with earlier versions of Oracle Database; Statspack offers several significant enhancements to those scripts. This column focuses on solutions to advanced issues regarding wait events—those events for which your system had to wait during processing for a resource to become available, an action to complete, and so on.
Top 5 Wait Events
When you are trying to eliminate bottlenecks on your system, your Statspack report's Top 5 Wait Events section is the first place to look. This section of the report shows the top 5 wait events, the full list of wait events, and the background wait events. If your system's TIMED_STATISTICS initialization parameter is set to true, the events are ordered in time waited, which is preferable, since all events don't show the waits. If TIMED_STATISTICS is false, the events are ordered by the number of waits.
Listing 1 shows a large number of waits related to reading a single block (db file sequential read) as well as waits for latches (latch free). You can see in this listing high waits for some of the writing to datafiles and log files. To identify which of these are major issues, you must narrow down the list by investigating the granular reports within other sections of Statspack.
Resolving Your Wait Events
The following are 10 of the most common causes for wait events, along with explanations and potential solutions:
1. DB File Scattered Read. This generally indicates waits related to full table scans. As full table scans are pulled into memory, they rarely fall into contiguous buffers but instead are scattered throughout the buffer cache. A large number here indicates that your table may have missing or suppressed indexes. Although it may be more efficient in your situation to perform a full table scan than an index scan, check to ensure that full table scans are necessary when you see these waits. Try to cache small tables to avoid reading them in over and over again, since a full table scan is put at the cold end of the LRU (Least Recently Used) list.
2. DB File Sequential Read. This event generally indicates a single block read (an index read, for example). A large number of waits here could indicate poor joining orders of tables, or unselective indexing. It is normal for this number to be large for a high-transaction, well-tuned system, but it can indicate problems in some circumstances. You should correlate this wait statistic with other known issues within the Statspack report, such as inefficient SQL. Check to ensure that index scans are necessary, and check join orders for multiple table joins. The DB_CACHE_SIZE will also be a determining factor in how often these waits show up. Problematic hash-area joins should show up in the PGA memory, but they're also memory hogs that could cause high wait numbers for sequential reads. They can also show up as direct path read/write waits.
3. Free Buffer. This indicates your system is waiting for a buffer in memory, because none is currently available. Waits in this category may indicate that you need to increase the DB_BUFFER_CACHE, if all your SQL is tuned. Free buffer waits could also indicate that unselective SQL is causing data to flood the buffer cache with index blocks, leaving none for this particular statement that is waiting for the system to process. This normally indicates that there is a substantial amount of DML (insert/update/delete) being done and that the Database Writer (DBWR) is not writing quickly enough; the buffer cache could be full of multiple versions of the same buffer, causing great inefficiency. To address this, you may want to consider accelerating incremental checkpointing, using more DBWR processes, or increasing the number of physical disks.
4. Buffer Busy. This is a wait for a buffer that is being used in an unshareable way or is being read into the buffer cache. Buffer busy waits should not be greater than 1 percent. Check the Buffer Wait Statistics section (or V$WAITSTAT) to find out if the wait is on a segment header. If this is the case, increase the freelist groups or increase the pctused to pctfree gap. If the wait is on an undo header, you can address this by adding rollback segments; if it's on an undo block, you need to reduce the data density on the table driving this consistent read or increase the DB_CACHE_SIZE. If the wait is on a data block, you can move data to another block to avoid this hot block, increase the freelists on the table, or use Locally Managed Tablespaces (LMTs). If it's on an index block, you should rebuild the index, partition the index, or use a reverse key index. To prevent buffer busy waits related to data blocks, you can also use a smaller block size: fewer records fall within a single block in this case, so it's not as "hot." When a DML (insert/update/ delete) occurs, Oracle Database writes information into the block, including all users who are "interested" in the state of the block (Interested Transaction List, ITL). To decrease waits in this area, you can increase the initrans, which will create the space in the block to allow multiple ITL slots. You can also increase the pctfree on the table where this block exists (this writes the ITL information up to the number specified by maxtrans, when there are not enough slots built with the initrans that is specified). Next Steps
READ MORE about Statspack
In "Performance Tuning with Statspack" on OTN
/deploy/performance/pdf/
statspack_tuning_otn_new.pdf
In Rich Niemiec's "Oracle Performance Tuning Tips and Techniques," available from Amazon.com
amazon.com/oracle
GET SUPPORT from MetaLink
oracle.com/support/metalink/index.html
GET EDUCATED on Oracle9i
/oramag/oracle/searchou.html
5. Latch Free. Latches are low-level queuing mechanisms (they're accurately referred to as mutual exclusion mechanisms) used to protect shared memory structures in the system global area (SGA). Latches are like locks on memory that are very quickly obtained and released. Latches are used to prevent concurrent access to a shared memory structure. If the latch is not available, a latch free miss is recorded. Most latch problems are related to the failure to use bind variables (library cache latch), redo generation issues (redo allocation latch), buffer cache contention issues (cache buffers LRU chain), and hot blocks in the buffer cache (cache buffers chain). There are also latch waits related to bugs; check MetaLink for bug reports if you suspect this is the case (oracle.com/support). When latch miss ratios are greater than 0.5 percent, you should investigate the issue. I will cover latch waits in detail in my next Oracle Magazine column; the topic requires an article in itself.
6. Enqueue. An enqueue is a lock that protects a shared resource. Locks protect shared resources, such as data in a record, to prevent two people from updating the same data at the same time. An enqueue includes a queuing mechanism, which is FIFO (first in, first out). Note that Oracle's latching mechanism is not FIFO. Enqueue waits usually point to the ST enqueue, the HW enqueue, the TX4 enqueue, and the TM enqueue. The ST enqueue is used for space management and allocation for dictionary-managed tablespaces. Use LMTs, or try to preallocate extents or at least make the next extent larger for problematic dictionary-managed tablespaces. HW enqueues are used with the high-water mark of a segment; manually allocating the extents can circumvent this wait. TX4s are the most common enqueue waits. TX4 enqueue waits are usually the result of one of three issues. The first issue is duplicates in a unique index; you need to commit/rollback to free the enqueue. The second is multiple updates to the same bitmap index fragment. Since a single bitmap fragment may contain multiple rowids, you need to issue a commit or rollback to free the enqueue when multiple users are trying to update the same fragment. The third and most likely issue is when multiple users are updating the same block. If there are no free ITL slots, a block-level lock could occur. You can easily avoid this scenario by increasing the initrans and/or maxtrans to allow multiple ITL slots and/or by increasing the pctfree on the table. Finally, TM enqueues occur during DML to prevent DDL to the affected object. If you have foreign keys, be sure to index them to avoid this general locking issue.
7. Log Buffer Space. This wait occurs because you are writing the log buffer faster than LGWR can write it to the redo logs, or because log switches are too slow. To address this problem, increase the size of the log files, or increase the size of the log buffer, or get faster disks to write to. You might even consider using solid-state disks, for their high speed.
8. Log File Switch. All commit requests are waiting for "logfile switch (archiving needed)" or "logfile switch (chkpt. Incomplete)." Ensure that the archive disk is not full or slow. DBWR may be too slow because of I/O. You may need to add more or larger redo logs, and you may potentially need to add database writers if the DBWR is the problem.
9. Log File Sync. When a user commits or rolls back data, the LGWR flushes the session's redo from the log buffer to the redo logs. The log file sync process must wait for this to successfully complete. To reduce wait events here, try to commit more records (try to commit a batch of 50 instead of one at a time, for example). Put redo logs on a faster disk, or alternate redo logs on different physical disks, to reduce the archiving effect on LGWR. Don't use RAID 5, since it is very slow for applications that write a lot; potentially consider using file system direct I/O or raw devices, which are very fast at writing information.
10. Idle Event. There are several idle wait events listed after the output; you can ignore them. Idle events are generally listed at the bottom of each section and include such things as SQL*Net message to/from client and other background-related timings. Idle events are listed in the stats$idle_event table.
Stay Tuned
In the next issue of Oracle Magazine, I'll investigate latches—another of the top waits you may encounter—looking at the usual latch waits you'll see and how to tune them for maximum performance.
Rich Niemiec is the CEO of TUSC (www.tusc.com) and president of the International Oracle Users Group (www.ioug.org). Thanks to Steve Adams for editing help.
Wait Events Quick Reference Guide
Wait Problem Potential Fix
DB File Scattered Read Indicates many full table scans: tune the code; cache small tables.
DB File Sequential Read Indicates many index reads: tune the code (especially joins).
Free Buffer Increase the DB_CACHE_SIZE; shorten the checkpoint; tune the code.
Buffer Busy Segment header: add freelists or freelist groups.
Buffer Busy Data block: separate "hot" data; use reverse key indexes and/or smaller blocks.
Buffer Busy Data block: increase initrans and/or maxtrans.
Buffer Busy Undo header: add rollback segments or areas.
Buffer Busy Undo block: commit more often; use larger rollback segments or areas.
Latch Free Investigate the latch detail.
Enqueue—ST Use LMTs or preallocate large extents.
Enqueue—HW Preallocate extents above high-water mark.
Enqueue—TX4 Increase initrans and/or maxtrans on the table or index.
Enqueue—TM Index foreign keys; check application locking of tables.
Log Buffer Space Increase the log buffer; use faster disks for the redo logs.
Log File Switch Archive destination slow or full; add more or larger redo logs.
Log File Sync Commit more records at a time; use faster redo log disks or raw devices.
Idle Event Ignore it.
Common Idle Events
Event Idle Event Type
Dispatcher timer Shared server
Lock manager wait for remote message Oracle9i Real Application Clusters
Pipe get User process
pmon timer Background process
PX Idle wait Parallel query
PX Deq Credit: need buffer Parallel query
PX Deq Credit: send blkd Parallel query
rdbms ipc message Background process
smon timer Background process
SQL*Net message from client User process
virtual Circuit status Shared server
http://otn.oracle.com/oramag/oracle/03-jan/o13expert.html
Joel Pérez

Similar Messages

  • Statspack interpreting help - buffer busy waits

    Hi,
    I've got statspack report from 9.2.0.8 DB, cpu_count = 12 , there is 'buffer busy waits' in top 5 .
    Is there a problem ?
    DB Name         DB Id    Instance     Inst Num Release     Cluster Host
    XXXX         138180125   XXXX            1 9.2.0.8.0   NO      X1
                  Snap Id     Snap Time      Sessions Curs/Sess Comment
    Begin Snap:     35980 14-Jul-10 01:00:02       17       8.8
      End Snap:     35984 14-Jul-10 05:00:01       17       8.8
       Elapsed:              239.98 (mins)
    Cache Sizes (end)
    ~~~~~~~~~~~~~~~~~
                   Buffer Cache:     3,072M      Std Block Size:          8K
               Shared Pool Size:       512M          Log Buffer:      4,096K
    Load Profile
    ~~~~~~~~~~~~                            Per Second       Per Transaction
                      Redo size:            317,746.23              4,498.59
                  Logical reads:             11,150.77                157.87
                  Block changes:              2,134.89                 30.23
                 Physical reads:                466.05                  6.60
                Physical writes:                133.62                  1.89
                     User calls:                 82.42                  1.17
                         Parses:                 67.92                  0.96
                    Hard parses:                  0.02                  0.00
                          Sorts:                106.77                  1.51
                         Logons:                  0.03                  0.00
                       Executes:                516.58                  7.31
                   Transactions:                 70.63
      % Blocks changed per Read:   19.15    Recursive Call %:     95.00
    Rollback per transaction %:    0.00       Rows per Sort:      4.34
    Instance Efficiency Percentages (Target 100%)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                Buffer Nowait %:   99.03       Redo NoWait %:    100.00
                Buffer  Hit   %:   95.91    In-memory Sort %:    100.00
                Library Hit   %:  100.00        Soft Parse %:     99.98
             Execute to Parse %:   86.85         Latch Hit %:     99.65
    Parse CPU to Parse Elapsd %:    7.82     % Non-Parse CPU:     99.91
    Shared Pool Statistics        Begin   End
                 Memory Usage %:   43.53   43.92
        % SQL with executions>1:   64.89   70.00
      % Memory for SQL w/exec>1:   55.95   61.64
    Top 5 Timed Events
    ~~~~~~~~~~~~~~~~~~                                                     % Total
    Event                                               Waits    Time (s) Ela Time
    SQL*Net message from dblink                       797,760      44,575    41.69
    PL/SQL lock timer                                   1,207      34,992    32.73
    db file sequential read                         3,297,249      17,047    15.94
    buffer busy waits                               1,558,995       3,987     3.73
    CPU time                                                        3,204     3.00
    Statistic                                      Total     per Second    per Trans
    enqueue timeouts                                 299            0.0          0.0
    enqueue waits                                    425            0.0          0.0
    exchange deadlocks                                41            0.0          0.0
    execute count                              7,438,297          516.6          7.3
    failed probes on index block recl                 13            0.0          0.0
    free buffer inspected                        107,385            7.5          0.1
    free buffer requested                      7,344,870          510.1          7.2
    hot buffers moved to head of LRU           2,332,802          162.0          2.3
    immediate (CR) block cleanout app            356,492           24.8          0.4
    immediate (CURRENT) block cleanou          1,751,731          121.7          1.7
    index crx upgrade (found)                          7            0.0          0.0
    index crx upgrade (positioned)                25,604            1.8          0.0
    index fast full scans (full)                     888            0.1          0.0
    index fetch by key                         6,008,269          417.3          5.9
    index scans kdiixs1                        2,343,163          162.7          2.3
    leaf node 90-10 splits                           330            0.0          0.0
    leaf node splits                              13,681            1.0          0.0
    logons cumulative                                447            0.0          0.0
    messages received                          2,760,503          191.7          2.7
    messages sent                              2,760,503          191.7          2.7
    no buffer to keep pinned count                     0            0.0          0.0
    no work - consistent read gets            89,143,249        6,190.9         87.7
    opened cursors cumulative                    978,462           68.0          1.0
    parse count (failures)                             0            0.0          0.0
    parse count (hard)                               243            0.0          0.0
    parse count (total)                          977,939           67.9          1.0
    parse time cpu                                   276            0.0          0.0
    parse time elapsed                             3,531            0.3          0.0
    physical reads                             6,710,684          466.1          6.6
    physical reads direct                        140,520            9.8          0.1
    physical writes                            1,924,011          133.6          1.9
    physical writes direct                       149,434           10.4          0.2
    physical writes non checkpoint             1,160,293           80.6          1.1
    pinned buffers inspected                      88,165            6.1          0.1
    prefetched blocks                          2,965,135          205.9          2.9
    prefetched blocks aged out before              1,485            0.1          0.0
    process last non-idle time                    14,401            1.0          0.0
    recovery blocks read                               0            0.0          0.0
    recursive calls                           22,566,381        1,567.2         22.2
    recursive cpu usage                          314,662           21.9          0.3
    redo blocks written                        9,712,190          674.5          9.6
    redo buffer allocation retries                   483            0.0          0.0
    redo entries                              17,147,344        1,190.9         16.9
    redo log space requests                          760            0.1          0.0
    redo log space wait time                       1,255            0.1          0.0
    redo ordering marks                               21            0.0          0.0
    redo size                              4,575,228,028      317,746.2      4,498.6
    redo synch time                               73,190            5.1          0.1
    redo synch writes                            333,440           23.2          0.3
    redo wastage                             240,517,096       16,703.7        236.5
    redo write time                              136,628            9.5          0.1
    redo writer latching time                         56            0.0          0.0
    redo writes                                  865,653           60.1          0.9
    rollback changes - undo records a             60,510            4.2          0.1
    rows fetched via callback                  3,948,006          274.2          3.9
    session connect time                               0            0.0          0.0
    Statistic                                      Total     per Second    per Trans
    session logical reads                    160,559,938       11,150.8        157.9
    session pga memory                       223,020,424       15,488.6        219.3
    session pga memory max                   841,058,240       58,410.9        827.0
    session uga memory                   682,912,005,944   47,427,738.5    671,472.1
    session uga memory max                   505,627,192       35,115.4        497.2
    shared hash latch upgrades - no w          1,661,152          115.4          1.6
    shared hash latch upgrades - wait                101            0.0          0.0
    sorts (disk)                                       2            0.0          0.0
    sorts (memory)                             1,537,403          106.8          1.5
    sorts (rows)                               6,669,072          463.2          6.6
    summed dirty queue length                     71,613            5.0          0.1
    switch current to new buffer                  80,971            5.6          0.1
    table fetch by rowid                      79,047,167        5,489.8         77.7
    table fetch continued row                  5,013,545          348.2          4.9
    table scan blocks gotten                  10,328,271          717.3         10.2
    table scan rows gotten                   381,848,913       26,519.1        375.5
    table scans (long tables)                         82            0.0          0.0
    table scans (short tables)                 1,117,114           77.6          1.1
    transaction rollbacks                         32,437            2.3          0.0
    transaction tables consistent rea                 39            0.0          0.0
    transaction tables consistent rea             82,904            5.8          0.1
    user calls                                 1,186,828           82.4          1.2
    user commits                               1,017,037           70.6          1.0
    user rollbacks                                     0            0.0          0.0
    workarea executions - onepass                      7            0.0          0.0
    workarea executions - optimal              2,291,005          159.1          2.3
    write clones created in backgroun                  3            0.0          0.0
    write clones created in foregroun                711            0.1          0.0
    Class                    Waits   Time (s) Time (ms)
    data block           1,549,301      4,015         3
    segment header             253          1         2
    undo block               2,574          0         0
    undo header              2,209          0         0
    extent map                   2          0         5
    Eq     Requests    Succ Gets Failed Gets       Waits   Time (ms)     Time (s)
    TX    1,749,961    1,749,961           0         202          6.47            1
    HW       20,789       20,789           0         223           .40            0
                                               Pct    Avg   Wait                 Pct
                                  Get          Get   Slps   Time       NoWait NoWait
    Latch                       Requests      Miss  /Miss    (s)     Requests   Miss
    Consistent RBA                  866,126    0.0    0.0      0            0
    FIB s.o chain latch                 594    0.0             0            0
    FOB s.o list latch                2,891    0.0    0.0      0            0
    SQL memory manager latch              4    0.0             0        4,793    0.0
    SQL memory manager worka      3,266,221    0.0    0.0      0            0
    active checkpoint queue       1,905,423    0.5    0.0      0            0
    archive control                      28    0.0             0            0
    cache buffer handles             12,070    0.0             0            0
    cache buffers chains        387,508,854    0.6    0.0    134   11,212,815    0.1
    cache buffers lru chain       1,946,036    0.0    0.0      0   14,681,284    0.2
    channel handle pool latc            668    0.0             0            0
    channel operations paren         12,460    0.0    0.0      0            0
    checkpoint queue latch      209,244,852    0.0    0.0      0    1,775,314    0.0
    child cursor hash table           3,240    0.7    0.0      0            0
    commit callback allocati             16    0.0             0            0
    dictionary lookup                    13    0.0             0            0
    dml lock allocation           5,900,238    0.3    0.0      0            0
    dummy allocation                    894    0.2    0.0      0            0
    enqueue hash chains          19,444,854    0.1    0.0      0            0
    enqueues                      9,380,299    0.7    0.0      0            0
    event group latch                   288    0.0             0            0
    event range base latch                3    0.0             0            0
    global tx hash mapping        4,988,645    0.0    0.0      0            0
    hash table column usage              82    0.0             0        1,783    0.0
    job workq parent latch                1  100.0    0.0      0          242   15.3
    job_queue_processes para            287    0.0             0            0
    ktm global data                     265    0.0             0            0
    lgwr LWN SCN                    868,053    0.1    0.0      0            0
    library cache                29,540,874    0.1    0.0      0           37    0.0
    library cache load lock             102    0.0             0            0
    library cache pin            24,145,848    0.0    0.0      0            0
    library cache pin alloca      3,988,997    0.0    0.0      0            0
    list of block allocation        363,684    0.0    0.0      0            0
    loader state object free            912    0.0             0            0
    longop free list parent             479    0.0             0           60    1.7
    message pool operations             100    1.0    0.0      0            0
    messages                      8,036,523    0.3    0.0      0            0
    mostly latch-free SCN           878,016    1.0    0.0      0            0
    multiblock read objects         922,048    0.1    0.0      0            0
    ncodef allocation latch             230    0.0             0            0
    object stats modificatio          2,100    0.0             0            0
    post/wait queue                 709,603    0.0    0.0      0      334,338    0.0
    process allocation                  576    0.0             0          288    0.0
    process group creation              576    0.2    0.0      0            0
    redo allocation              18,881,467    0.7    0.0      0            0
    redo copy                             0                    0   17,155,579    0.1
    redo writing                  4,513,716    0.2    0.0      0            0
    resumable state object               48    0.0             0            0
    row cache enqueue latch       3,556,148    0.1    0.0      0            0
    row cache objects             6,671,783    0.1    0.0      0            0
                                               Pct    Avg   Wait                 Pct
                                  Get          Get   Slps   Time       NoWait NoWait
    Latch                       Requests      Miss  /Miss    (s)     Requests   Miss
    sequence cache                1,533,482    0.0    0.0      0            0
    session allocation           15,194,281    0.1    0.0      0            0
    session idle bit              3,005,477    0.0    0.0      0            0
    session switching                   230    0.0             0            0
    session timer                     4,825    0.0             0            0
    shared pool                   2,114,153    0.0    0.0      0            0
    sim partition latch                   0                    0       10,243    0.6
    simulator hash latch          8,460,492    0.0    0.0      0            0
    simulator lru latch             223,868    0.0    0.3      0      470,589    0.1
    sort extent pool                  1,823    0.5    0.0      0            0
    temporary table state ob             16    0.0             0            0
    transaction allocation          533,964    0.0             0            0
    transaction branch alloc      1,259,723    0.1    0.0      0            0
    undo global data             17,460,173    0.0    0.0      0       14,976    0.0
    user lock                           906    0.1    0.0      0            0
                                          Get                            Spin &
    Latch Name                       Requests      Misses      Sleeps Sleeps 1->4
    cache buffers chains          387,508,854   2,447,832      12,701 2435135/1269
                                                                      3/4/0/0
    redo allocation                18,881,467     131,460         343 131118/341/1
                                                                      /0/0
    enqueues                        9,380,299      62,436         122 62314/122/0/
                                                                      0/0
    library cache                  29,540,874      38,344          80 38264/80/0/0
                                                                      /0
    messages                        8,036,523      25,266          28 25238/28/0/0
                                                                      /0
    dml lock allocation             5,900,238      19,220          25 19195/25/0/0
                                                                      /0
    enqueue hash chains            19,444,854      10,510          27 10483/27/0/0
                                                                      /0
    active checkpoint queue la      1,905,423       9,896          36 9860/36/0/0/
                                                                      0
    library cache pin              24,145,848       8,451          17 8434/17/0/0/
                                                                      0
    mostly latch-free SCN             878,016       8,423          17 8406/17/0/0/
                                                                      0
    session allocation             15,194,281       8,290          33 8257/33/0/0/
                                                                      0
    redo writing                    4,513,716       7,235          13 7222/13/0/0/
                                                                      0
    undo global data               17,460,173       4,113           8 4105/8/0/0/0
    row cache objects               6,671,783       3,680           4 3676/4/0/0/0
    row cache enqueue latch         3,556,148       2,015           1 2014/1/0/0/0
    checkpoint queue latch        209,244,852       1,756           6 1750/6/0/0/0
    transaction branch allocat      1,259,723       1,236           7 1229/7/0/0/0
    shared pool                     2,114,153         808           2 806/2/0/0/0
    library cache pin allocati      3,988,997         649           1 648/1/0/0/0
    cache buffers lru chain         1,946,036         588          13 575/13/0/0/0
    multiblock read objects           922,048         469           8 461/8/0/0/0
    sequence cache                  1,533,482         333           1 332/1/0/0/0
    session idle bit                3,005,477          97           1 96/1/0/0/0
    Consistent RBA                    866,126          55           1 54/1/0/0/0
    simulator lru latch               223,868          33           9 24/9/0/0/0
    post/wait queue                   709,603          27           1 26/1/0/0/0
                                                         NoWait              Waiter
    Latch Name               Where                       Misses     Sleeps   Sleeps
    active checkpoint queue  kcbbacq: scan active check       0         36       36
    cache buffers chains     kcbgtcr: kslbegin excl           0     10,706   10,084
    cache buffers chains     kcbrls: kslbegin                 0        937    1,577
    cache buffers chains     kcbzwb                           0        371      388
    cache buffers chains     kcbgtcr: fast path               0        223      174
    cache buffers chains     kcbgcur: kslbegin                0         86      114
    cache buffers chains     kcbget: pin buffer               0         57       47
    cache buffers chains     kcbzib: finish free bufs         0         54       27
    cache buffers chains     kcbchg: kslbegin: bufs not       0         52       89
    cache buffers chains     kcbnlc                           0         46       37
    cache buffers chains     kcbzgb: scan from tail. no       0         42        0
    cache buffers chains     kcbzib: multi-block read:        0         25        0
    cache buffers chains     kcbget: exchange rls             0         12        3
    cache buffers chains     kcbchg: kslbegin: call CR        0         12       80
    cache buffers chains     kcbget: exchange                 0         10        8
    cache buffers chains     kcbnew                           0          9        0
    cache buffers chains     kcbcge                           0          1        0
    cache buffers chains     kcbgtcr                          0          1        0
    cache buffers chains     kcbbxsv                          0          1       16
    cache buffers chains     kcbkzs                           0          1        3
    cache buffers chains     kcbbic2                          0          1        2
    cache buffers chains     kcbbic1                          0          1        5
    cache buffers lru chain  kcbzgb: multiple sets nowa  10,344         10        0
    cache buffers lru chain  kcbbiop: lru scan              112          3        0
    checkpoint queue latch   kcbklbc: Link buffer into        0          6        0
    dml lock allocation      ktaiam                           0         15       16
    dml lock allocation      ktaidm                           0         10        9
    enqueue hash chains      ksqgtl3                          0         17       11
    enqueue hash chains      ksqrcl                           0          9       15
    enqueue hash chains      ksqcnl                           0          1        1
    enqueues                 ksqdel                           0         60       50
    enqueues                 ksqgel: create enqueue           0         60       56
    enqueues                 ksqies                           0          2       16
    lgwr LWN SCN             kcs023                           0          9        0
    library cache            kglpnc: child                    0         29       29
    library cache            kglupc: child                    0         25       22
    library cache            kgllkdl: child: cleanup          0         11        2
    library cache            kglpndl: child: before pro       0          5        4
    library cache            kglhdgn: child:                  0          3       13
    library cache            kglhdgc: child:                  0          2        1
    library cache            kglpndl: child: after proc       0          2        0
    library cache            kgldte: child 0                  0          1        2
    library cache            kglpin: child: heap proces       0          1        0
    library cache            kglobpn: child:                  0          1        5
    library cache pin        kglpndl                          0          6        1
    library cache pin        kglpnc: child                    0          6        8
    library cache pin        kglupc                           0          5        4
    library cache pin alloca kglpnal                          0          1        1
    messages                 ksarcv                           0         12        5
    messages                 ksarcv: after wait               0          8       19
    messages                 ksaamb: after wakeup             0          8        4
    mostly latch-free SCN    kcslcu3                          0          8       17
    mostly latch-free SCN    kcsnew_scn_rba                   0          1        0
    Latch Name               Where                       Misses     Sleeps   Sleeps
    multiblock read objects  kcbzib: mbr get                  0          4        4
    multiblock read objects  kcbzib: normal mbr free          0          4        4
    post/wait queue          ksliwat:add:nowait               0          1        0
    redo allocation          kcrfwr                           0        322      248
    redo allocation          kcrfwi: more space               0         14       88
    redo allocation          kcrfwi: before write             0          7        7
    redo writing             kcrfwcr                          0          9       12
    redo writing             kcrfwint: rba scn pair           0          2        0
    redo writing             kcrfwint: after write            0          2        6
    row cache enqueue latch  kqreqa                           0          1        1
    row cache objects        kqrpre: find obj                 0          3        1
    row cache objects        kqrpfl: not dirty                0          1        1
    sequence cache           kdnss                            0          1        1
    session allocation       ksuprc                           0         14        5
    session allocation       ksudlc                           0         10        7
    session allocation       ksucri                           0          6       14
    session allocation       ksuxds: not user session         0          3        7
    session idle bit         ksupuc: clear busy               0          1        0
    shared pool              kghalo                           0          1        0
    shared pool              kghupr1                          0          1        2
    simulator lru latch      kcbs_simulate: simulate se       0          8        9
    simulator lru latch      kcbs_lookup_setid                0          1        0
    transaction branch alloc ktcbba                           0          4        2
    transaction branch alloc ktcbod                           0          2        3
    transaction branch alloc ksupuc                           0          1        2
    undo global data         ktudba: KSLBEGIN                 0          8        7
    Top 5 Logical Reads per Segment for DB: XXXXX  Instance: XXXXX  Snaps: 35980
    -> End Segment Logical Reads Threshold:     10000
                                               Subobject  Obj.       Logical
    Owner      Tablespace Object Name          Name       Type         Reads  %Total
    xxxxxxxx    XXXXXDATA      TAB1TABLE                      TABLE   39,838,592   37.65
    Top 5 Physical Reads per Segment for DB: XXXXX  Instance: XXXXX  Snaps: 3598
    -> End Segment Physical Reads Threshold:      1000
                                               Subobject  Obj.      Physical
    Owner      Tablespace Object Name          Name       Type         Reads  %Total
    xxxxxxxx    XXXXXDATA          TAB1TABLE                        TABLE    3,568,038   58.64
    Top 5 Buf. Busy Waits per Segment for DB: XXXXX  Instance: XXXXX  Snaps: 359
    -> End Segment Buffer Busy Waits Threshold:       100
                                                                      Buffer
                                               Subobject  Obj.          Busy
    Owner      Tablespace Object Name          Name       Type         Waits  %Total
    xxxxxxxx    XXXXXDATA                                           TAB1TABLE    1,421,043   91.65
    xxxxxxxx    XXXXXDATA IDX_SOMEIDX               INDEX       62,638    4.04
    xxxxxxxx    XXXXXTABLE                                TABLE       26,914    1.74
    ----------So, for me It looks like :
    TAB1TABLE is buffer busy deliver but there are no inserts reported for that table,
    I've checked that TAB1TABLE tablespace is NO ASSM and extent management is local with uniform size 1M .
    So this is not obvious free list problem . Kind of strange for me .
    Any ideas greatly appreciated :).
    Regards.
    Greg

    user10388717 wrote:
    Hi,
    I've got statspack report from 9.2.0.8 DB, cpu_count = 12 , there is 'buffer busy waits' in top 5 .
    Is there a problem ?
    DB Name         DB Id    Instance     Inst Num Release     Cluster Host
    XXXX         138180125   XXXX            1 9.2.0.8.0   NO      X1
    Snap Id     Snap Time      Sessions Curs/Sess Comment
    Begin Snap:     35980 14-Jul-10 01:00:02       17       8.8
    End Snap:     35984 14-Jul-10 05:00:01       17       8.8
    Elapsed:              239.98 (mins)
    ----------So, for me It looks like :
    TAB1TABLE is buffer busy deliver but there are no inserts reported for that table,
    I've checked that TAB1TABLE tablespace is NO ASSM and extent management is local with uniform size 1M .
    So this is not obvious free list problem . Kind of strange for me .
    Any ideas greatly appreciated :).We can't tell if you have a problem - only you (or your users) can know.
    But you've shown us a statspack snapshot covering 4 hours and in that time you've reported about 30 hours of database time (sum foreground "in-database" waits and CPU), with a fairly small number of sessions which (allowing for background sessions) means most of your foreground sessions seem to be working pretty much non-stop for the entire period. I could take a guess and say that you would like some of the work that they're doing completed sooner.
    The largest fraction of your time goes into waiting for messages from db link, with an average time of 55ms - maybe you have a network problem, maybe you have a query that has a bad choice of execution path that is doing lots of unnecessary trips to the remote db, maybe the queries that get to the remote db could be made much more efficient. (Look for 'sql ordered by executions' in a statspack from the remote db for clues).
    pl/sql lock timer is the next big chunk of time - but this is deliberately coded waits in pl/sql (dbms_lock.sleep) maybe that's supposed to be happening, but you could check the logic to see if some "slow" processes are actually coded to sleep much longer than necessary.
    Your db file sequential reads (single block reads) are, on average taking 5.5 ms - which is reasonable, so you have to ask if the number (and we know which table a lot of them are hitting) is reasonable. This brings us to your buffer busy waits: these can be caused by updates and deletes as well as inserts, but in 9i they are also caused by "read by other session" - so the buffer busy wait may simple be one session waiting for another session to complete a db file sequential read.
    I'd look at your "SQL ordered by Reads" to see if you have some inefficient execution plans (or poorly defined indexes) that result in large amounts of the critical table being constantly re-read. It's possible that you can eliminate redundant visits to this table and reduce your I/O, BBW, and CPU in one shot.
    Regards
    Jonathan Lewis

  • How to interpret the spreport.sql(statpack) output.

    Hi,
    there is the result.
    Top 5 Timed Events
    ~~~~~~~~~~~~~~~~~~ % Total
    Event Waits Time (s) Ela Time
    CPU time 3,407 -17.89
    log buffer space 1,237 445 -2.34
    log file sync 63,132 370 -1.94
    log file parallel write 46,293 182 -.96
    SQL*Net more data to client 2,430 72 -.38
    Any suggestion.
    Thanks.

    Hi,
    Negative value mens the database was shut and restart between snapshots.
    Try http://www.oraperf.com/ to help you in statspack interpretation.
    Nicolas.
    Message was edited by:
    N. Gasparotto

  • How to interprete Statspack report

    Hello all,
    I'm new in using statspack and i've tried to run it and gather the report but i can't interprete the result, i mean what can i do, the decisions after reading the report how to inteprete, what part of the result are the essential.
    Here is an extract of my statspack report. If someone can help me or any documentations online for this.
    STATSPACK report for
    DB Name DB Id Instance Inst Num Release OPS Host
    QLM3 1443332160 orcl 1 8.1.7.0.0 NO SRVUSINE
    Snap Id Snap Time Sessions
    Begin Snap: 1 03-Jan-07 15:48:53 57
    End Snap: 2 03-Jan-07 15:56:30 57
    Elapsed: 7.62 (mins)
    Cache Sizes
    ~~~~~~~~~~~
    db_block_buffers: 19200 log_buffer: 163840
    db_block_size: 8192 shared_pool_size: 128000000
    Load Profile
    ~~~~~~~~~~~~ Per Second Per Transaction
    Redo size: 8,232.78 22,941.34
    Logical reads: 11,853.51 33,030.82
    Block changes: 41.60 115.91
    Physical reads: 145.94 406.67
    Physical writes: 36.83 102.62
    User calls: 139.75 389.42
    Parses: 6.30 17.55
    Hard parses: 0.09 0.25
    Sorts: 2.23 6.23
    Logons: 0.82 2.29
    Executes: 87.97 245.13
    Transactions: 0.36
    % Blocks changed per Read: 0.35 Recursive Call %: 32.96
    Rollback per transaction %: 6.71 Rows per Sort: 104.37
    Instance Efficiency Percentages (Target 100%)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Buffer Nowait %: 100.00 Redo NoWait %: 99.90
    Buffer Hit %: 98.77 In-memory Sort %: 99.22
    Library Hit %: 99.83 Soft Parse %: 98.58
    Execute to Parse %: 92.84 Latch Hit %: 100.00
    Parse CPU to Parse Elapsd %: 57.07 % Non-Parse CPU: 100.00
    Shared Pool Statistics Begin End
    Memory Usage %: 88.80 88.08
    % SQL with executions>1: 35.12 35.45
    % Memory for SQL w/exec>1: 56.60 58.45
    Top 5 Wait Events
    ~~~~~~~~~~~~~~~~~ Wait % Total
    Event Waits Time (cs) Wt Time
    direct path write 13,024 13,301 38.64
    db file sequential read 17,592 8,103 23.54
    direct path read 13,514 7,199 20.91
    db file scattered read 3,231 2,085 6.06
    PX Deq: Txn Recovery Start 8 699 2.03
    Wait Events for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> cs - centisecond - 100th of a second
    -> ms - millisecond - 1000th of a second
    -> ordered by wait time desc, waits desc (idle events last)
    Avg
    Total Wait wait Waits
    Event Waits Timeouts Time (cs) (ms) /txn
    direct path write 13,024 0 13,301 10 79.4
    db file sequential read 17,592 0 8,103 5 107.3
    direct path read 13,514 0 7,199 5 82.4
    db file scattered read 3,231 0 2,085 6 19.7
    PX Deq: Txn Recovery Start 8 3 699 874 0.0
    db file parallel write 82 0 656 80 0.5
    log file parallel write 348 0 471 14 2.1
    control file parallel write 214 0 447 21 1.3
    log file sync 256 0 309 12 1.6
    control file sequential read 229 0 209 9 1.4
    log file switch completion 10 0 205 205 0.1
    Wait for stopper event to be 19 17 200 105 0.1
    SQL*Net break/reset to clien 74 0 191 26 0.5
    file open 1,587 0 122 1 9.7
    log buffer space 16 0 115 72 0.1
    buffer busy waits 11 0 36 33 0.1
    SQL*Net more data to client 3,459 0 35 0 21.1
    latch free 68 52 18 3 0.4
    file identify 8 0 8 10 0.0
    refresh controlfile command 10 0 6 6 0.1
    log file sequential read 4 0 4 10 0.0
    log file single write 8 0 3 4 0.0
    LGWR wait for redo copy 1 0 2 20 0.0
    PX Deq: Signal ACK 3 0 1 3 0.0
    PX Deq: Join ACK 5 0 0 0 0.0
    enqueue 5 0 0 0 0.0
    SQL*Net message from client 62,888 0 1,462,717 233 383.5
    PX Idle Wait 602 600 124,058 2061 3.7
    virtual circuit status 15 15 46,101 30734 0.1
    SQL*Net message to client 62,885 0 10 0 383.4
    SQL*Net more data from clien 12 0 1 1 0.1
    Background Wait Events for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> ordered by wait time desc, waits desc (idle events last)
    Avg
    Total Wait wait Waits
    Event Waits Timeouts Time (cs) (ms) /txn
    db file parallel write 82 0 656 80 0.5
    direct path read 542 0 546 10 3.3
    log file parallel write 348 0 471 14 2.1
    control file parallel write 214 0 447 21 1.3
    Wait for stopper event to be 19 17 200 105 0.1
    control file sequential read 176 0 194 11 1.1
    file open 1,485 0 50 0 9.1
    buffer busy waits 1 0 33 330 0.0
    db file scattered read 7 0 16 23 0.0
    direct path write 297 0 8 0 1.8
    file identify 8 0 8 10 0.0
    log file sequential read 4 0 4 10 0.0
    log file single write 8 0 3 4 0.0
    LGWR wait for redo copy 1 0 2 20 0.0
    PX Deq: Signal ACK 3 0 1 3 0.0
    db file sequential read 1 0 1 10 0.0
    PX Deq: Join ACK 5 0 0 0 0.0
    enqueue 1 0 0 0 0.0
    rdbms ipc message 1,221 427 134,286 1100 7.4
    pmon timer 149 148 45,558 3058 0.9
    smon timer 2 1 43,807 ###### 0.0
    SQL ordered by Gets for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> End Buffer Gets Threshold: 10000
    -> Note that resources reported for PL/SQL includes the resources used by
    all SQL statements called within the PL/SQL code. As individual SQL
    statements are also reported, it is possible and valid for the summed
    total % to exceed 100
    Buffer Gets Executions Gets per Exec % Total Hash Value
    887,405 3,544 250.4 16.4 8985785
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE > 0 AND GISEMENT_T
    YPE IN ( 'L','F' ) AND MVT_SITE_CODE = :b5
    887,405 3,544 250.4 16.4 739720993
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE != 'T' AND MVT_SITE_CODE = :b5
    885,540 3,531 250.8 16.3 203835771
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE < 0 AND GISEMENT_T
    YPE IN ( 'L','F' ) AND MVT_SITE_CODE = :b5
    885,540 3,531 250.8 16.3 3827568942
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE > 0 AND GISEMENT_T
    YPE IN ( 'T' ) AND GISEMENT_SITE_CODE = :b5
    885,410 3,544 249.8 16.3 667813037
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE < 0 AND GISEMENT_T
    YPE IN ( 'T' ) AND GISEMENT_SITE_CODE = :b5
    472,580 1 472,580.0 8.7 1418790643
    SELECT COUNT(*) FROM VAPS_APS_SORTIES WHERE MVT_DATE LIKE '%' AN
    D INVEST_NUMERO IS NULL and (CLE=:1)
    180,137 1 180,137.0 3.3 1562147089
    SELECT COUNT(*) FROM VPRF_PRF_ETAT_STOCKS
    110,321 443 249.0 2.0 2233067473
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4
    72,956 2 36,478.0 1.3 3376831664
    BEGIN statspack.snap; END;
    67,904 1 67,904.0 1.3 625421128
    INSERT INTO STATS$SQLTEXT ( HASH_VALUE,TEXT_SUBSET,PIECE,SQL_TEX
    T,ADDRESS,COMMAND_TYPE,LAST_SNAP_ID ) SELECT ST1.HASH_VALUE,SS.
    TEXT_SUBSET,ST1.PIECE,ST1.SQL_TEXT,ST1.ADDRESS,ST1.COMMAND_TYPE,
    SS.SNAP_ID FROM V$SQLTEXT ST1,STATS$SQL_SUMMARY SS WHERE SS.S
    NAP_ID = :b1 AND SS.DBID = :b2 AND SS.INSTANCE_NUMBER = :b3 A
    SQL ordered by Gets for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> End Buffer Gets Threshold: 10000
    -> Note that resources reported for PL/SQL includes the resources used by
    all SQL statements called within the PL/SQL code. As individual SQL
    statements are also reported, it is possible and valid for the summed
    total % to exceed 100
    Buffer Gets Executions Gets per Exec % Total Hash Value
    49,930 9,986 5.0 0.9 2352601327
    SELECT INSTR(:b1,'/') FROM DUAL
    26,262 1 26,262.0 0.5 2467990648
    SELECT PRF_CB_QUALITES.QUALITE_LIB, PRF_FICHEARTICLES.FSA_
    ARTICLE_CODE, PRF_CB_EMBALLAGES.EMB_LIBELLE, PRF_CB_CALIBR
    ES.CALIBRE_LIBELLE, PRF_CB_VARIETES.VARIETE_LIB, PRF_CF_ST
    OCKS.CF_CODE, PRF_CF_CHAMBREFROIDES.CF_LIBELLE, to_char(PR
    F_CF_STOCKS.MC_DATE_CONGELATION,'ddd') ||PRF_CF_STOCKS.MC_EQUIPE
    25,024 1 25,024.0 0.5 2687416176
    SELECT num_lot_cqi num_lot, date_congelation date_peche, equipe_
    congelation equipe_conditionnement, equipe_emballage FROM VCQI_P
    RF_CB_LOTS WHERE site_code = fcqi_parametre ('SITE_CODE', 0) AND
    quart_code like nvl(:1,'%') order by date_congelation desc
    24,952 1 24,952.0 0.5 2144314401
    SELECT DATE_CONGELATION,EQUIPE_CONGELATION,EQUIPE_EMBALLAGE FR
    OM VCQI_PRF_CB_LOTS WHERE NUM_LOT_CQI = :b1 AND QUART_CODE LIK
    E NVL(:b2,'%')
    21,644 3,542 6.1 0.4 3246828773
    SELECT SUM(NVL(ARTSTATGIS_QTE,0)) FROM APS_MVT_ARTICLE_GISEMEN
    T WHERE ARTICLE_ID = :b1 AND STATUT_CODE = :b2 AND REGIME = :
    b3 AND SITE_CODE = :b4
    6,714 3 2,238.0 0.1 1676564828
    SELECT ROWID,CLE,PBS_DATE,PBS_HEURE,IMPUTATION_CODE,SERVICE_CODE
    ,STATUT_CODE,REGIME,PBS_BONTRAVAIL,INVEST_NUMERO,UTIL_NUMERO_EME
    TTEUR,DDESORTIE_NUM_DDE,PBS_VALEUR,REFACTURER,REFACTURER_CODE,UT
    IL_NUMERO_DESTINATAIRE,OBSERVATION,IMPRIME_UNEFOIS,PBS_VALIDE,DA
    TE_VALIDATION,PBS_ENVOYE_MAGASIN,DATE_ENVOIMAG,PBS_GISEMENT_VALI
    6,714 3 2,238.0 0.1 2431929513
    SELECT COUNT(*) FROM APS_SORTIES_HDR WHERE (PBS_VALIDE='O') AND
    (PBS_ENVOYE_MAGASIN='O' )AND (PBS_GISEMENT_VALIDE='N')
    6,022 60 100.4 0.1 1010618514
    SELECT COUNT(*) FROM QRH_PNT_MOUVEMENTS WHERE STE_CODE = :1 AND
    (ANOMALIE!='0') AND (ANOMALIE!='1') AND (ANOMALIE!='2') AND (ANO
    MALIE!='3') AND (ANOMALIE!='21') AND (VALIDEE='N') AND (JOURNEE=
    TO_CHAR(:2,'dd/mm/yyyy')) AND (MATRICULE=:3) AND (SERVICE_CODE=:
    4) and (MATRICULE=:5) and (STE_CODE=:6)
    6,022 60 100.4 0.1 4067308175
    SELECT ROWID,VALIDEE,MATRICULE,ENTREE,SORTIE,REGUL,ORIGINE_POINT
    AGE,JUSTIFICATION_CODE,JUSTIFIEE,ANOMALIE,JOURNEE,SERVICE_CODE,S
    TE_CODE,UTIL_NUMERO_JUSTIFIER,UTIL_NUMERO_VALIDER,OK_PAIE,DATE_O
    K_PAIE FROM QRH_PNT_MOUVEMENTS WHERE STE_CODE = :1 AND (ANOMALIE
    !='0') AND (ANOMALIE!='1') AND (ANOMALIE!='2') AND (ANOMALIE!='3
    SQL ordered by Gets for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> End Buffer Gets Threshold: 10000
    -> Note that resources reported for PL/SQL includes the resources used by
    all SQL statements called within the PL/SQL code. As individual SQL
    statements are also reported, it is possible and valid for the summed
    total % to exceed 100
    Buffer Gets Executions Gets per Exec % Total Hash Value
    SQL ordered by Reads for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> End Disk Reads Threshold: 1000
    Physical Reads Executions Reads per Exec % Total Hash Value
    16,941 1 16,941.0 25.4 1418790643
    SELECT COUNT(*) FROM VAPS_APS_SORTIES WHERE MVT_DATE LIKE '%' AN
    D INVEST_NUMERO IS NULL and (CLE=:1)
    12,263 443 27.7 18.4 2233067473
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4
    6,699 3 2,233.0 10.0 2431929513
    SELECT COUNT(*) FROM APS_SORTIES_HDR WHERE (PBS_VALIDE='O') AND
    (PBS_ENVOYE_MAGASIN='O' )AND (PBS_GISEMENT_VALIDE='N')
    6,493 3 2,164.3 9.7 1676564828
    SELECT ROWID,CLE,PBS_DATE,PBS_HEURE,IMPUTATION_CODE,SERVICE_CODE
    ,STATUT_CODE,REGIME,PBS_BONTRAVAIL,INVEST_NUMERO,UTIL_NUMERO_EME
    TTEUR,DDESORTIE_NUM_DDE,PBS_VALEUR,REFACTURER,REFACTURER_CODE,UT
    IL_NUMERO_DESTINATAIRE,OBSERVATION,IMPRIME_UNEFOIS,PBS_VALIDE,DA
    TE_VALIDATION,PBS_ENVOYE_MAGASIN,DATE_ENVOIMAG,PBS_GISEMENT_VALI
    4,783 2 2,391.5 7.2 3376831664
    BEGIN statspack.snap; END;
    4,075 1 4,075.0 6.1 1762397322
    SELECT ROWID,MC_CODE,CB_QUALITE,CB_EMBALLAGE,CB_CALIBRE,CB_VARIE
    TE,TYPECH_CODE,TYPECH_LIBELLE,CF_CODE,CF_LIBELLE,MC_EQUIPE_CONDI
    TIONNEMENT,MC_DATE_CONGELATION,MC_EQUIPE_EMBALLAGE,MC_DATE_EMBAL
    LAGE,INC_CODE,INC_LIBELLE,PALETTE_CODE,TP_CODE,CB_ORIGINE_CODE,U
    SINE_CODE,LIEU_CODE,MC_ETAT,TP_LIBELLE,ORIGINE_LIBELLE,QUALITE_L
    3,455 1 3,455.0 5.2 2467990648
    SELECT PRF_CB_QUALITES.QUALITE_LIB, PRF_FICHEARTICLES.FSA_
    ARTICLE_CODE, PRF_CB_EMBALLAGES.EMB_LIBELLE, PRF_CB_CALIBR
    ES.CALIBRE_LIBELLE, PRF_CB_VARIETES.VARIETE_LIB, PRF_CF_ST
    OCKS.CF_CODE, PRF_CF_CHAMBREFROIDES.CF_LIBELLE, to_char(PR
    F_CF_STOCKS.MC_DATE_CONGELATION,'ddd') ||PRF_CF_STOCKS.MC_EQUIPE
    2,308 1 2,308.0 3.5 3874720143
    INSERT INTO STATS$SQL_SUMMARY ( SNAP_ID,DBID,INSTANCE_NUMBER,TEX
    T_SUBSET,SHARABLE_MEM,SORTS,MODULE,LOADED_VERSIONS,EXECUTIONS,LO
    ADS,INVALIDATIONS,PARSE_CALLS,DISK_READS,BUFFER_GETS,ROWS_PROCES
    SED,ADDRESS,HASH_VALUE,VERSION_COUNT ) SELECT :b1,:b2,:b3,SUBST
    R(SQL_TEXT,1,31),SHARABLE_MEM,SORTS,MODULE,LOADED_VERSIONS,EXECU
    2,295 1 2,295.0 3.4 3337740287
    INSERT INTO STATS$SQL_STATISTICS ( SNAP_ID,DBID,INSTANCE_NUMBER,
    TOTAL_SQL,TOTAL_SQL_MEM,SINGLE_USE_SQL,SINGLE_USE_SQL_MEM ) SEL
    ECT :b1,:b2,:b3,COUNT(1),SUM(SHARABLE_MEM),SUM(DECODE(EXECUTIONS
    ,1,1,0)),SUM(DECODE(EXECUTIONS,1,SHARABLE_MEM,0)) FROM V$SQLXS
    2,232 14 159.4 3.3 2819681083
    SELECT COUNT(*) FROM APS_SORTIES_HDR WHERE PBS_GISEMENT_VALIDE =
    'N' and (SERVICE_CODE=:1) and (PBS_VALIDE=:2)
    SQL ordered by Reads for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> End Disk Reads Threshold: 1000
    Physical Reads Executions Reads per Exec % Total Hash Value
    2,232 14 159.4 3.3 2856670560
    SELECT ROWID,CLE,IMPUTATION_CODE,SERVICE_CODE,STATUT_CODE,REGIME
    ,INVEST_NUMERO,PBS_BONTRAVAIL,REFACTURER,REFACTURER_CODE,ENTREE_
    NUMERO,PBS_DATE,PBS_HEURE,UTIL_NUMERO_EMETTEUR,UTIL_NUMERO_DESTI
    NATAIRE,OBSERVATION,PBS_VALIDE,DATE_VALIDATION,PBS_ENVOYE_MAGASI
    N,DATE_ENVOIMAG,DDESORTIE_NUM_DDE,PBS_VALEUR,IMPRIME_UNEFOIS,PBS
    1,168 1 1,168.0 1.8 1352033258
    SELECT PRF_CB_QUALITES.QUALITE_LIB, PRF_FICHEARTICLES.FSA_
    ARTICLE_CODE, PRF_CB_EMBALLAGES.EMB_LIBELLE, PRF_CB_CALIBR
    ES.CALIBRE_LIBELLE, PRF_CB_VARIETES.VARIETE_LIB, PRF_CF_ST
    OCKS.CF_CODE, PRF_CF_CHAMBREFROIDES.CF_LIBELLE, to_char(PR
    F_CF_STOCKS.MC_DATE_CONGELATION,'ddd') ||PRF_CF_STOCKS.MC_EQUIPE
    723 3 241.0 1.1 165227727
    SELECT ROWID,CLE,UTIL_NUMERO_VALIDE,VALIDPBS_DATE,VALIDPBS_HEURE
    FROM APS_SORTIES_VALIDATION WHERE (CLE=:1)
    685 3 228.3 1.0 3538988510
    SELECT COUNT(*) FROM APS_SORTIES_VALIDATION WHERE (CLE=:1)
    602 1 602.0 0.9 1562147089
    SELECT COUNT(*) FROM VPRF_PRF_ETAT_STOCKS
    390 15 26.0 0.6 3423685253
    INSERT INTO PRF_CF_ENTREES ( MC_CODE,CF_CODE,PALETTE_CODE,MC_ETA
    T,SYS_DATE_LECTEUR,TYPE_ENTREE ) VALUES ( :b1,:b2,:b3,SUBSTR(:b
    4,1,2),SYSDATE,'E' )
    372 6 62.0 0.6 2944582360
    SELECT COUNT(*) FROM QRH_FIP_AGENTS WHERE (QRH_FIP_AGENTS.AGE
    NT_MATRICULE = :b1 ) AND (QRH_FIP_AGENTS.SERVICE_CODE LIKE :b2
    ) AND (QRH_FIP_AGENTS.SERVICE_CODE IN (SELECT SERVICE_CODE FRO
    M SEC_QRH_ACCES_SERVICES WHERE STE_CODE = :b3 AND (ACCES_FICHE
    PERSONNEL = 'O'  AND POINTAGECONSULTATION = 'O' AND POINTAGE_
    352 15 23.5 0.5 836774746
    INSERT INTO PRF_CF_STOCKS ( MC_CODE,TP_CODE,CB_ORIGINE_CODE,USIN
    E_CODE,LIEU_CODE,CB_QUALITE,CB_EMBALLAGE,MARQUE_LIBELLE,CB_CALIB
    RE,CB_VARIETE,TYPECH_CODE,MC_DATE_CONGELATION,MC_EQUIPE_CONDITIO
    NNEMENT,MC_DATE_EMBALLAGE,MC_EQUIPE_EMBALLAGE,PALETTE_CODE,CF_CO
    DE,FSA_ARTICLE_CODE,MC_POIDS_KG,MC_ETAT,INC_CODE,BASSIN_CODE,MAR
    271 15 18.1 0.4 1991901539
    SELECT COUNT('X') FROM DUAL WHERE EXISTS (SELECT 'X' FROM
    PRF_LOTS_ENTREES WHERE NUMERO_LOT = :b1 AND TP_CODE = :b2 AND
    SQL ordered by Executions for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> End Executions Threshold: 100
    Executions Rows Processed Rows per Exec Hash Value
    9,986 9,986 1.0 2352601327
    SELECT INSTR(:b1,'/') FROM DUAL
    3,544 3,544 1.0 8985785
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE > 0 AND GISEMENT_T
    YPE IN ( 'L','F' ) AND MVT_SITE_CODE = :b5
    3,544 3,544 1.0 667813037
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE < 0 AND GISEMENT_T
    YPE IN ( 'T' ) AND GISEMENT_SITE_CODE = :b5
    3,544 3,544 1.0 739720993
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE != 'T' AND MVT_SITE_CODE = :b5
    3,542 3,542 1.0 3246828773
    SELECT SUM(NVL(ARTSTATGIS_QTE,0)) FROM APS_MVT_ARTICLE_GISEMEN
    T WHERE ARTICLE_ID = :b1 AND STATUT_CODE = :b2 AND REGIME = :
    b3 AND SITE_CODE = :b4
    3,531 3,531 1.0 203835771
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE < 0 AND GISEMENT_T
    YPE IN ( 'L','F' ) AND MVT_SITE_CODE = :b5
    3,531 3,531 1.0 3827568942
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4 AND MVT_TYPE = 'T' AND MVT_QUANTITE > 0 AND GISEMENT_T
    YPE IN ( 'T' ) AND GISEMENT_SITE_CODE = :b5
    629 629 1.0 3347504826
    SELECT COUNT('x') FROM DUAL WHERE EXISTS (SELECT 'x' FROM
    PRF_TB_AI WHERE CODE_AI = :b1 )
    586 586 1.0 830918687
    SELECT SYSDATE FROM DUAL
    494 494 1.0 2353080377
    INSERT INTO APS_ARCHIVE_STOCKS_DTL VALUES ( :b1,:b2,:b3,:b4,:b5,
    :b6 )
    444 444 1.0 431034241
    UPDATE APS_ARCHIVE_STOCKS SET ART_STAT_QTE_STOCK_SITE=:b1 WHERE
    PERIODE = :b2 AND ARTICLE_ID = :b3 AND STATUT_CODE = :b4 AND
    REGIME = :b5
    443 443 1.0 2233067473
    SELECT SUM(MVT_QUANTITE) FROM APS_MVT_MOUVEMENTS WHERE PERIOD
    SQL ordered by Executions for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> End Executions Threshold: 100
    Executions Rows Processed Rows per Exec Hash Value
    E > :b1 AND ARTICLE_ID = :b2 AND STATUT_CODE = :b3 AND REGIME
    = :b4
    442 442 1.0 4030231140
    INSERT INTO APS_ARCHIVE_STOCKS ( PERIODE,ARTICLE_ID,STATUT_CODE,
    REGIME,ART_STAT_QTE_STOCK,ART_STAT_QTE_STOCK_SITE,ART_STAT_PUMP,
    ART_STAT_PUMP_EURO,ART_STAT_PUMP_1 ) VALUES ( :b1,:b2,:b3,:b4,:
    b5,:b6,:b7,:b8, NULL )
    441 3,520 8.0 2193642303
    SELECT SITE_CODE FROM APS_LOC_SITES
    416 167 0.4 3549129673
    SELECT DISTINCT LIBELLE_PRODUIT FROM VCQI_PRF_CB_QC_PRODUITS
    WHERE TYPE_PRODUIT = :b1
    415 415 1.0 3105143149
    SELECT UTIL_NOM || DECODE(UTIL_PRENOM, NULL , NULL ,' ' || UTIL_
    PRENOM ) UTIL_NOM_PRENOM FROM COM_UTILISATEURS WHERE UTIL_NU
    MERO = :b1
    270 270 1.0 1045955060
    SELECT COUNT('X') FROM DUAL WHERE EXISTS (SELECT 'X' FROM
    PRF_GFR_BASSINS WHERE BASSIN_CODE = :b1 )
    235 235 1.0 2123798088
    SELECT COUNT('X') FROM DUAL WHERE EXISTS (SELECT 'X' FROM
    PRF_FICHEARTICLES WHERE FSA_ARTICLE_CODE = :b1 )
    218 217 1.0 2987457698
    SELECT NOM FROM SYS_CQI_SITE WHERE CODE = :b1
    213 213 1.0 1425443843
    update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,
    order$=:6,cache=:7,highwater=:8,audit$=:9 where obj#=:1
    183 183 1.0 3529593353
    SELECT COUNT('X') FROM DUAL WHERE EXISTS (SELECT 'X' FROM
    PRF_GFR_BASSINS WHERE BASSIN_CODE = SUBSTR(:b1,2,3) )
    178 0 0.0 313510536
    select job from sys.job$ where next_date < sysdate and (field1
    = :1 or (field1 = 0 and 'Y' = :2)) order by next_date, job
    167 167 1.0 2542007726
    SELECT PRF_PARAM_VALEUR FROM PRF_MAHAVOKATRA_PARAMETRES WHERE
    PRF_PARAM_NOM = :b1
    144 144 1.0 1202015936
    SELECT CODE_AI,DESCRIPTION_AI,TYPE_AI,LONGUEUR_MAX FROM PRF_TB
    AI  WHERE CODEAI = :b1
    138 138 1.0 2840696239
    SELECT SEQ_PRF_MC_SERIE.Nextval FROM Dual
    SQL ordered by Executions for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> End Executions Threshold: 100
    Executions Rows Processed Rows per Exec Hash Value
    101 7 0.1 148923490
    SELECT COUNT(*) FROM APS_SORTIES_HDR WHERE (PBS_VALIDE='O') AND
    (PBS_ENVOYE_MAGASIN='O' )AND (PBS_GISEMENT_VALIDE='N') and (CLE=
    :1)
    101 7 0.1 2329028825
    SELECT ROWID,CLE,PBS_DATE,PBS_HEURE,IMPUTATION_CODE,SERVICE_CODE
    Instance Activity Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    Statistic Total per Second per Trans
    background checkpoints completed 4 0.0 0.0
    background checkpoints started 4 0.0 0.0
    background timeouts 620 1.4 3.8
    branch node splits 0 0.0 0.0
    buffer is not pinned count 4,838,419 10,587.4 29,502.6
    buffer is pinned count 15,660,264 34,267.5 95,489.4
    bytes received via SQL*Net from c 7,127,276 15,595.8 43,459.0
    bytes sent via SQL*Net to client 13,724,270 30,031.2 83,684.6
    calls to get snapshot scn: kcmgss 41,025 89.8 250.2
    calls to kcmgas 383 0.8 2.3
    calls to kcmgcs 145 0.3 0.9
    change write time 134 0.3 0.8
    cleanouts and rollbacks - consist 0 0.0 0.0
    cleanouts only - consistent read 3 0.0 0.0
    cluster key scan block gets 132 0.3 0.8
    cluster key scans 64 0.1 0.4
    commit cleanout failures: block l 2 0.0 0.0
    commit cleanout failures: buffer 0 0.0 0.0
    commit cleanout failures: callbac 3 0.0 0.0
    commit cleanout failures: cannot 0 0.0 0.0
    commit cleanouts 1,238 2.7 7.6
    commit cleanouts successfully com 1,233 2.7 7.5
    consistent changes 37 0.1 0.2
    consistent gets 5,342,340 11,690.0 32,575.2
    CPU used by this session 563,606,920 1,233,275.5 3,436,627.6
    CPU used when call started 16,475 36.1 100.5
    CR blocks created 32 0.1 0.2
    current blocks converted for CR
    cursor authentications 0 0.0 0.0
    data blocks consistent reads - un 37 0.1 0.2
    db block changes 19,010 41.6 115.9
    db block gets 74,714 163.5 455.6
    DBWR buffers scanned 11,292 24.7 68.9
    DBWR checkpoint buffers written 604 1.3 3.7
    DBWR checkpoints 4 0.0 0.0
    DBWR free buffers found 10,956 24.0 66.8
    DBWR lru scans 48 0.1 0.3
    DBWR make free requests 48 0.1 0.3
    DBWR summed scan depth 11,292 24.7 68.9
    DBWR transaction table writes 31 0.1 0.2
    DBWR undo block writes 223 0.5 1.4
    deferred (CURRENT) block cleanout 796 1.7 4.9
    DFO trees parallelized 0 0.0 0.0
    dirty buffers inspected 41 0.1 0.3
    enqueue conversions 59 0.1 0.4
    enqueue releases 1,608 3.5 9.8
    enqueue requests 1,627 3.6 9.9
    enqueue timeouts 21 0.1 0.1
    enqueue waits 0 0.0 0.0
    execute count 40,202 88.0 245.1
    free buffer inspected 43 0.1 0.3
    free buffer requested 50,071 109.6 305.3
    hot buffers moved to head of LRU 32,358 70.8 197.3
    immediate (CR) block cleanout app 3 0.0 0.0
    immediate (CURRENT) block cleanou 216 0.5 1.3
    index fast full scans (full) 197 0.4 1.2
    Instance Activity Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    Statistic Total per Second per Trans
    leaf node splits 43 0.1 0.3
    logons cumulative 376 0.8 2.3
    messages received 566 1.2 3.5
    messages sent 566 1.2 3.5
    no buffer to keep pinned count 361,161 790.3 2,202.2
    no work - consistent read gets 4,584,108 10,030.9 27,951.9
    opened cursors cumulative 2,903 6.4 17.7
    Parallel operations not downgrade 0 0.0 0.0
    parse count (hard) 41 0.1 0.3
    parse count (total) 2,879 6.3 17.6
    parse time cpu 109 0.2 0.7
    parse time elapsed 191 0.4 1.2
    physical reads 66,694 145.9 406.7
    physical reads direct 17,008 37.2 103.7
    physical writes 16,830 36.8 102.6
    physical writes direct 15,849 34.7 96.6
    physical writes non checkpoint 16,523 36.2 100.8
    pinned buffers inspected 0 0.0 0.0
    prefetched blocks 28,860 63.2 176.0
    prefetched blocks aged out before 104 0.2 0.6
    process last non-idle time 395,024,325 864,385.8 2,408,684.9
    PX local messages recv'd 3 0.0 0.0
    PX local messages sent 2 0.0 0.0
    queries parallelized 0 0.0 0.0
    recovery array reads 0 0.0 0.0
    recovery blocks read 0 0.0 0.0
    recursive calls 31,404 68.7 191.5
    recursive cpu usage 973 2.1 5.9
    redo blocks written 7,766 17.0 47.4
    redo buffer allocation retries 24 0.1 0.2
    redo entries 9,689 21.2 59.1
    redo log space requests 10 0.0 0.1
    redo log space wait time 205 0.5 1.3
    redo ordering marks 0 0.0 0.0
    redo size 3,762,380 8,232.8 22,941.3
    redo synch time 310 0.7 1.9
    redo synch writes 252 0.6 1.5
    redo wastage 83,944 183.7 511.9
    redo write time 798 1.8 4.9
    redo writer latching time 2 0.0 0.0
    redo writes 348 0.8 2.1
    rollback changes - undo records a 100 0.2 0.6
    rollbacks only - consistent read 32 0.1 0.2
    rows fetched via callback 152,467 333.6 929.7
    session connect time 395,024,325 864,385.8 2,408,684.9
    session logical reads 5,417,054 11,853.5 33,030.8
    session pga memory 1,198,867,080 2,623,341.5 7,310,165.1
    session pga memory max 1,252,931,128 2,741,643.6 7,639,824.0
    session uga memory 2,021,828 4,424.1 12,328.2
    session uga memory max 11,504,160 25,173.2 70,147.3
    sorts (disk) 8 0.0 0.1
    sorts (memory) 1,013 2.2 6.2
    sorts (rows) 106,560 233.2 649.8
    SQL*Net roundtrips to/from client 62,770 137.4 382.7
    summed dirty queue length 2 0.0 0.0
    switch current to new buffer
    Instance Activity Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    Statistic Total per Second per Trans
    table fetch by rowid 10,162,108 22,236.6 61,964.1
    table fetch continued row 5,568 12.2 34.0
    table scan blocks gotten 73,722 161.3 449.5
    table scan rows gotten 3,805,522 8,327.2 23,204.4
    table scans (direct read) 0 0.0 0.0
    table scans (long tables) 50 0.1 0.3
    table scans (rowid ranges) 0 0.0 0.0
    table scans (short tables) 12,550 27.5 76.5
    total file opens 1,587 3.5 9.7
    transaction rollbacks 0 0.0 0.0
    user calls 63,865 139.8 389.4
    user commits 153 0.3 0.9
    user rollbacks 11 0.0 0.1
    write clones created in backgroun 0 0.0 0.0
    write clones created in foregroun 27 0.1 0.2
    Tablespace IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->ordered by IOs (Reads + Writes) desc
    Tablespace
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    TEMP
    9,953 22 0.0 1.2 11,991 26 0 0.0
    APS_DATA_DYNA
    18,803 41 4.4 2.3 67 0 7 2.9
    TEMP1
    4,163 9 0.0 1.1 3,367 7 0 0.0
    APS_INDEX
    1,169 3 6.3 1.6 113 0 0 0.0
    PRF_DATA_DYNA
    290 1 13.7 10.2 105 0 2 5.0
    APS_DATA_STAT
    324 1 4.4 4.6 41 0 0 0.0
    TOOLS
    53 0 10.2 1.0 287 1 0 0.0
    PRF_INDEX
    133 0 6.7 1.0 88 0 1 0.0
    SYSTEM
    128 0 12.9 1.7 58 0 0 0.0
    RBS1
    17 0 10.6 1.0 158 0 1 330.0
    GRH_DATA_DYNA
    72 0 7.1 1.0 78 0 0 0.0
    RBS
    30 0 44.7 1.0 111 0 0 0.0
    GRH_INDEX
    38 0 8.2 1.0 46 0 0 0.0
    PRF_DATA_STAT
    53 0 11.5 2.2 3 0 0 0.0
    CQI_DATA_DYNA
    25 0 5.2 4.2 12 0 0 0.0
    CQI_INDEX
    28 0 5.0 1.0 9 0 0 0.0
    GRH_DATA_STAT
    23 0 5.2 8.0 3 0 0 0.0
    GTMAO_DATA_DYNA
    20 0 0.0 1.0 6 0 0 0.0
    COM_DATA_DYNA
    19 0 20.5 1.0 3 0 0 0.0
    COM_INDEX
    18 0 6.1 1.0 3 0 0 0.0
    RFG_INDEX
    9 0 0.0 1.0 9 0 0 0.0
    CQI_DATA_STAT
    13 0 3.8 1.0 3 0 0 0.0
    GFRP_DATA_DYNA
    9 0 0.0 1.0 6 0 0 0.0
    USERS
    9 0 0.0 1.0 6 0 0 0.0
    RFG_DATA_DYNA
    6 0 0.0 1.0 6 0 0 0.0
    GFRP_DATA_STAT
    6 0 0.0 1.0 3 0 0 0.0
    Tablespace IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->ordered by IOs (Reads + Writes) desc
    Tablespace
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    GFRP_INDEX
    6 0 0.0 1.0 3 0 0 0.0
    PRF_DATA_DYNA_ARCHIVE
    6 0 0.0 1.0 3 0 0 0.0
    PRF_INDEX_ARCHIVE
    6 0 0.0 1.0 3 0 0 0.0
    COM_DATA_STAT
    4 0 2.5 1.0 3 0 0 0.0
    BO_DATA
    3 0 0.0 1.0 3 0 0 0.0
    DRSYS
    3 0 0.0 1.0 3 0 0 0.0
    FSQ_DATA_DYNA
    3 0 0.0 1.0 3 0 0 0.0
    FSQ_DATA_STAT
    3 0 0.0 1.0 3 0 0 0.0
    FSQ_INDEX
    3 0 0.0 1.0 3 0 0 0.0
    GNS_DATA_DYNA
    3 0 0.0 1.0 3 0 0 0.0
    GTMAO_DATA_STAT
    3 0 0.0 1.0 3 0 0 0.0
    GTMAO_INDEX
    3 0 0.0 1.0 3 0 0 0.0
    INDX
    3 0 0.0 1.0 3 0 0 0.0
    RFG_DATA_STAT
    3 0 0.0 1.0 3 0 0 0.0
    SMQ_DATA_DYNA
    3 0 0.0 1.0 3 0 0 0.0
    SMQ_DATA_STAT
    3 0 0.0 1.0 3 0 0 0.0
    SMQ_INDEX
    3 0 0.0 1.0 3 0 0 0.0
    File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->ordered by Tablespace, File
    Tablespace Filename
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    APS_DATA_DYNA F:\ORADATA\APS_DYNA_DF
    279 1 7.0 3.4 3 0 0
    F:\ORADATA\APS_DYNA_01.DF
    477 1 4.9 2.2 4 0 0
    F:\ORADATA\APS_DYNA_02.DF
    412 1 4.5 1.5 4 0 0
    F:\ORADATA\APS_DYNA_03.DF
    420 1 5.1 1.3 3 0 0
    F:\ORADATA\APS_DYNA_04.DF
    9 0 0.0 1.0 3 0 0
    F:\ORADATA\APS_DYNA_05.DF
    17 0 4.1 3.0 3 0 0
    F:\ORADATA\APS_DYNA_06.DF
    6,158 13 4.1 1.4 11 0 6 0.0
    F:\ORADATA\APS_DYNA_07.DF
    8,331 18 3.4 1.4 9 0 1 20.0
    F:\ORADATA\APS_DYNA_08.DF
    10 0 2.0 1.0 3 0 0
    G:\ORADATA\APS_DYNA_09.DF
    2,172 5 7.8 8.5 7 0 0
    G:\ORADATA\APS_DYNA_10.DF
    518 1 6.4 2.7 17 0 0
    APS_DATA_STAT F:\ORADATA\APS_STAT_DF
    324 1 4.4 4.6 41 0 0
    APS_INDEX F:\ORADATA\APS_IDX_003.DF
    10 0 0.0 1.0 13 0 0
    F:\ORADATA\APS_INDEX_DF
    117 0 8.2 1.0 18 0 0
    F:\ORADATA\APS_INDEX_DF02
    12 0 1.7 1.0 20 0 0
    F:\ORADATA\APS_INDEX_04.DF
    14 0 2.9 1.0 33 0 0
    F:\ORADATA\APS_INDEX_05.DF
    1,016 2 6.2 1.7 29 0 0
    BO_DATA F:\ORADATA\BO_DATA.DF
    3 0 0.0 1.0 3 0 0
    COM_DATA_DYNA E:\ORACLE\ORADATA\QLM3\COM_DATA_DYNA.ORA
    19 0 20.5 1.0 3 0 0
    COM_DATA_STAT E:\ORACLE\ORADATA\QLM3\COM_DATA_STAT.ORA
    4 0 2.5 1.0 3 0 0
    COM_INDEX F:\ORADATA\COM_INDEX.DF
    18 0 6.1 1.0 3 0 0
    CQI_DATA_DYNA G:\ORADATA\CQI_DATA_DYNA_01.DF
    25 0 5.2 4.2 12 0 0
    File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->ordered by Tablespace, File
    Tablespace Filename
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    CQI_DATA_STAT G:\ORADATA\CQI_DATA_STAT_01.DF
    13 0 3.8 1.0 3 0 0
    CQI_INDEX G:\ORADATA\CQI_INDEX_01.DF
    28 0 5.0 1.0 9 0 0
    DRSYS E:\ORACLE\ORADATA\QLM3\DR01.DBF
    3 0 0.0 1.0 3 0 0
    FSQ_DATA_DYNA F:\ORADATA\FSQ_DYNA_DF
    3 0 0.0 1.0 3 0 0
    FSQ_DATA_STAT F:\ORADATA\FSQ_STAT_DF
    3 0 0.0 1.0 3 0 0
    FSQ_INDEX F:\ORADATA\FSQ_INDEX_DF
    3 0 0.0 1.0 3 0 0
    GFRP_DATA_DYNA G:\ORADATA\GFRP_DYNA_01.DF
    6 0 0.0 1.0 3 0 0
    H:\ORADATA\GFRP_DATA_DYNA
    3 0 0.0 1.0 3 0 0
    GFRP_DATA_STAT G:\ORADATA\GFRP_STAT_01.DF
    6 0 0.0 1.0 3 0 0
    GFRP_INDEX G:\ORADATA\GFRP_INDEX_01.DF
    6 0 0.0 1.0 3 0 0
    GNS_DATA_DYNA F:\ORADATA\GNS_DATA_DYNA_01.ORA
    3 0 0.0 1.0 3 0 0
    GRH_DATA_DYNA F:\ORADATA\GRH_DY_1.DF
    38 0 11.3 1.0 37 0 0
    F:\ORADATA\GRH_DY_2.DF
    3 0 0.0 1.0 5 0 0
    F:\ORADATA\GRH_DY_3.DF
    3 0 0.0 1.0 3 0 0
    F:\ORADATA\GRH_DY_4.DF
    13 0 6.2 1.0 18 0 0
    F:\ORADATA\GRH_DY_5.DF
    3 0 0.0 1.0 3 0 0
    F:\ORADATA\GRH_DY_6.DF
    3 0 0.0 1.0 3 0 0
    F:\ORADATA\GRH_DY_7.DF
    3 0 0.0 1.0 3 0 0
    H:\ORADATA\GRH_DY_8.DF
    3 0 0.0 1.0 3 0 0
    H:\ORADATA\GRH_DY_9.DF
    3 0 0.0 1.0 3 0 0
    GRH_DATA_STAT F:\ORADATA\GRH_ST_1.DF
    File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->ordered by Tablespace, File
    Tablespace Filename
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    23 0 5.2 8.0 3 0 0
    GRH_INDEX F:\ORADATA\GRH_IDX.DF
    38 0 8.2 1.0 46 0 0
    GTMAO_DATA_DYNA F:\ORADATA\GTMAO_DATA_DYNA_01.DF
    10 0 0.0 1.0 3 0 0
    F:\ORADATA\GTM_DY_2.DF
    10 0 0.0 1.0 3 0 0
    GTMAO_DATA_STAT F:\ORADATA\GTMAO_DATA_STAT_01.DF
    3 0 0.0 1.0 3 0 0
    GTMAO_INDEX F:\ORADATA\GTMAO_INDEX_01.DF
    3 0 0.0 1.0 3 0 0
    INDX E:\ORACLE\ORADATA\QLM3\INDX01.DBF
    3 0 0.0 1.0 3 0 0
    PRF_DATA_DYNA E:\ORADATA\PRF_D14.DF
    29 0 10.3 1.0 12 0 0
    E:\ORADATA\PRF_D15.DF
    28 0 10.4 1.0 19 0 0
    E:\ORADATA\PRF_D16.DF
    89 0 31.9 26.9 9 0 0
    F:\ORADATA\PRF_D1.DF
    9 0 5.6 1.0 4 0 0
    F:\ORADATA\PRF_D10.DF
    6 0 0.0 1.0 3 0 0
    F:\ORADATA\PRF_D11.DF
    6 0 0.0 1.0 3 0 0
    F:\ORADATA\PRF_D12.DF
    6 0 0.0 1.0 3 0 0
    F:\ORADATA\PRF_D13.DF
    26 0 7.7 7.2 3 0 2 5.0
    F:\ORADATA\PRF_D2.DF
    6 0 0.0 1.0 3 0 0
    F:\ORADATA\PRF_D3.DF
    6 0 0.0 1.0 5 0 0
    F:\ORADATA\PRF_D4.DF
    15 0 4.0 1.0 10 0 0
    F:\ORADATA\PRF_D5.DF
    15 0 4.0 1.0 10 0 0
    F:\ORADATA\PRF_D6.DF
    6 0 0.0 1.0 3 0 0
    F:\ORADATA\PRF_D7.DF
    6 0 0.0 1.0 3 0 0
    F:\ORADATA\PRF_D8.DF
    6 0 0.0 1.0 3 0 0
    F:\ORADATA\PRF_D9.DF
    6 0 0.0 1.0 3 0 0
    G:\ORADATA\PRF_D17.DF
    File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->ordered by Tablespace, File
    Tablespace Filename
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    16 0 7.5 13.3 3 0 0
    PRF_DATA_DYNA G:\ORADATA\PRF_D18.DF
    9 0 6.7 1.0 6 0 0
    PRF_DATA_DYNA_ARCHIVE H:\ORADATA\PRF_DATA_DYNA_ARCHIVE01.DF
    6 0 0.0 1.0 3 0 0
    PRF_DATA_STAT F:\ORADATA\PRF_ST1.DF
    53 0 11.5 2.2 3 0 0
    PRF_INDEX E:\ORADATA\PRF_IDX4.DF
    14 0 7.1 1.0 10 0 0
    E:\ORADATA\PRF_IDX5.DF
    13 0 3.8 1.0 10 0 0
    E:\ORADATA\PRF_IDX6.DF
    18 0 8.3 1.0 12 0 0
    E:\ORADATA\PRF_IDX7.DF
    10 0 2.0 1.0 3 0 0
    F:\ORADATA\PRF_IDX1.DF
    8 0 2.5 1.0 4 0 0
    F:\ORADATA\PRF_IDX2.DF
    11 0 3.6 1.0 11 0 0
    F:\ORADATA\PRF_IDX3.DF
    43 0 7.9 1.0 28 0 1 0.0
    H:\ORADATA\PRF_IDX8.DF
    16 0 10.6 1.0 10 0 0
    PRF_INDEX_ARCHIVE H:\ORADATA\PRF_INDEX_ARCHIVE_01.DF
    6 0 0.0 1.0 3 0 0
    RBS E:\ORACLE\ORADATA\QLM3\RBS01.DBF
    22 0 59.1 1.0 92 0 0
    E:\ORACLE\ORADATA\QLM3\RBS02.DBF
    8 0 5.0 1.0 19 0 0
    RBS1 E:\ORACLE\ORADATA\QLM3\RBS11.ORA
    3 0 0.0 1.0 18 0 1 330.0
    E:\ORACLE\ORADATA\QLM3\RBS12.ORA
    5 0 24.0 1.0 12 0 0
    E:\ORACLE\ORADATA\QLM3\RBS13.ORA
    9 0 6.7 1.0 128 0 0
    RFG_DATA_DYNA G:\ORADATA\RFG_DATA_DYNA_01.DF
    3 0 0.0 1.0 3 0 0
    G:\ORADATA\RFG_DATA_DYNA_02.DF
    3 0 0.0 1.0 3 0 0
    RFG_DATA_STAT G:\ORADATA\RFG_DATA_STAT_01.DF
    3 0 0.0 1.0 3 0 0
    RFG_INDEX G:\ORADATA\RFG_INDEX_01.DF
    3 0 0.0 1.0 3 0 0
    File IO Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->ordered by Tablespace, File
    Tablespace Filename
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    RFG_INDEX G:\ORADATA\RFG_INDEX_02.DF
    3 0 0.0 1.0 3 0 0
    G:\ORADATA\RFG_INDEX_03.DF
    3 0 0.0 1.0 3 0 0
    SMQ_DATA_DYNA F:\ORADATA\SMQ_DYNA_DF
    3 0 0.0 1.0 3 0 0
    SMQ_DATA_STAT F:\ORADATA\SMQ_STAT_DF
    3 0 0.0 1.0 3 0 0
    SMQ_INDEX F:\ORADATA\SMQ_INDEX_DF
    3 0 0.0 1.0 3 0 0
    SYSTEM E:\ORACLE\ORADATA\QLM3\SYSTEM01.DBF
    119 0 12.8 1.6 53 0 0
    E:\ORACLE\ORADATA\QLM3\SYSTEM02.DBF
    9 0 14.4 3.6 5 0 0
    TEMP E:\ORACLE\ORADATA\QLM3\TEMP01.DBF
    9,953 22 0.0 1.2 11,991 26 0
    TEMP1 H:\ORADATA\TEMP101.ORA
    4,163 9 0.0 1.1 3,367 7 0
    TOOLS E:\ORACLE\ORADATA\QLM3\TOOLS01.DBF
    3 0 0.0 1.0 27 0 0
    E:\ORACLE\ORADATA\QLM3\TOOLS02.DBF
    50 0 10.8 1.0 260 1 0
    USERS E:\ORACLE\ORADATA\QLM3\USERS01.DBF
    3 0 0.0 1.0 3 0 0
    E:\ORACLE\ORADATA\QLM3\USERS02.DBF
    6 0 0.0 1.0 3 0 0
    Buffer Pool Statistics for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> Pools D: default pool, K: keep pool, R: recycle pool
    Free Write Buffer
    Buffer Consistent Physical Physical Buffer Complete Busy
    P Gets Gets Reads Writes Waits Waits Waits
    D 50,061 0 49,675 981 0 0 11
    Buffer wait Statistics for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> ordered by wait time desc, waits desc
    Tot Wait Avg
    Class Waits Time (cs) Time (cs)
    undo header 1 33 33
    data block 10 3 0
    Rollback Segment Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->A high value for "Pct Waits" suggests more rollback segments may be required
    Trans Table Pct Undo Bytes
    RBS No Gets Waits Written Wraps Shrinks Extends
    0 24.0 0.00 0 0 0 0
    1 78.0 0.00 16,834 0 0 0
    2 84.0 0.00 29,374 0 0 0
    3 65.0 0.00 9,950 0 0 0
    4 67.0 0.00 14,278 0 0 0
    5 66.0 0.00 16,364 0 0 0
    6 64.0 0.00 6,144 0 0 0
    7 176.0 0.00 58,588 0 0 0
    8 69.0 0.00 23,158 0 0 0
    9 90.0 0.00 15,068 0 0 0
    10 64.0 0.00 9,776 0 0 0
    11 69.0 0.00 11,076 0 0 0
    12 298.0 0.34 647,830 2 0 0
    13 101.0 0.00 233,506 0 0 0
    Rollback Segment Storage for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->Optimal Size should be larger than Avg Active
    RBS No Segment Size Avg Active Optimal Size Maximum Size
    0 401,408 0 401,408
    1 4,186,112 540,690 4,194,304 4,186,112
    2 4,186,112 663,298 4,194,304 4,186,112
    3 4,186,112 536,369 4,194,304 4,186,112
    4 4,186,112 552,957 4,194,304 4,186,112
    5 4,186,112 566,795 4,194,304 4,186,112
    6 4,186,112 565,140 4,194,304 4,186,112
    7 4,186,112 524,103 4,194,304 4,186,112
    8 251,854,848 534,027 251,854,848
    9 48,447,488 630,996 48,447,488
    10 29,810,688 609,701 29,810,688
    11 21,823,488 531,386 21,823,488
    12 30,875,648 1,398,641 30,875,648
    13 15,720,448 4,922,485 20,963,328
    Latch Activity for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
    willing-to-wait latch get requests
    ->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
    ->"Pct Misses" for both should be very close to 0.0
    Pct Avg Pct
    Get Get Slps NoWait NoWait
    Latch Name Requests Miss /Miss Requests Miss
    active checkpoint queue latch 395 0.0 0
    cache buffer handles 118 0.0 0
    cache buffers chains 10,212,613 0.0 0.0 83,659 0.0
    cache buffers lru chain 88,174 0.0 0.4 0
    channel handle pool latch 18 0.0 23 0.0
    channel operations parent lat 36 0.0 23 0.0
    checkpoint queue latch 4,264 0.0 0
    dml lock allocation 1,219 0.0 0
    enqueue hash chains 3,289 0.0 0.0 0
    enqueues 5,614 0.0 0
    error message lists 9 0.0 0
    event group latch 18 0.0 0
    file number translation table 10 0.0 0
    job_queue_processes parameter 8 0.0 0
    ktm global data 3 0.0 0
    latch wait list 36 0.0 36 0.0
    library cache 287,494 0.1 0.2 92 0.0
    library cache load lock 46 0.0 0
    list of block allocation 774 0.0 0
    loader state object freelist 72 0.0 0
    longop free list 535 0.0 0
    messages 3,858 0.0 0.0 0
    multiblock read objects 11,104 0.0 0
    ncodef allocation latch 8 0.0 0
    parallel query alloc buffer 32 3.1 0.0 0
    parallel query stats 6 0.0 0
    parallel txn reco latch 3,083 0.0 0
    process allocation 18 0.0 18 0.0
    process group creation 41 0.0 0
    process queue 18 0.0 0
    process queue reference 2,886 0.0 14 0.0
    query server freelists 27 0.0 0
    query server process 4 0.0 4 0.0
    redo allocation 10,454 0.0 0.0 0
    redo writing 2,223 0.0 0
    row cache objects 38,374 0.0 0.0 12 0.0
    sequence cache 383 0.0 0
    session allocation 3,315 0.1 1.3 0
    session idle bit 128,781 0.0 0.0 0
    session switching 8 0.0 0
    session timer 149 0.0 0
    shared pool 19,330 0.0 0.2 0
    sort extent pool 172 0.0 0
    Token Manager 904 0.0 12 0.0
    transaction allocation 1,143 0.0 0
    transaction branch allocation 8 0.0 0
    undo global data 1,833 0.0 0
    user lock 66 0.0 0
    virtual circuit queues 22 0.0 0
    Latch Activity for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
    willing-to-wait latch get requests
    ->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
    ->"Pct Misses" for both should be very close to 0.0
    Pct Avg Pct
    Get Get Slps NoWait NoWait
    Latch Name Requests Miss /Miss Requests Miss
    Latch Sleep breakdown for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> ordered by misses desc
    Get Spin &
    Latch Name Requests Misses Sleeps Sleeps 1->4
    cache buffers chains 10,212,613 224 9 217/5/2/0/0
    library cache 287,494 211 44 176/29/3/3/0
    cache buffers lru chain 88,174 20 8 16/0/4/0/0
    shared pool 19,330 9 2 8/0/1/0/0
    session allocation 3,315 3 4 1/1/0/1/0
    Latch Miss Sources for DB: QLM3 Instance: orcl Snaps: 1 -2
    -> only latches with sleeps are shown
    -> ordered by name, sleeps desc
    NoWait Waiter
    Latch Name Where Misses Sleeps Sleeps
    cache buffers chains kcbgtcr: kslbegin 0 7 9
    cache buffers chains kcbgtcr 0 2 0
    cache buffers lru chain kcbbiop: lru scan 0 8 0
    library cache kglic 0 24 2
    library cache kglhdgn: child: 0 18 8
    library cache kglget: child: KGLDSBYD 0 1 1
    library cache kglpnal: child: alloc spac 0 1 1
    session allocation ksuxds: KSUSFCLC not set 0 4 0
    shared pool kghfrunp: alloc: clatch no 0 2 0
    Dictionary Cache Stats for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->"Pct Misses" should be very low (< 2% in most cases)
    ->"Cache Usage" is the number of cache entries being used
    ->"Pct SGA" is the ratio of usage to allocated size for that cache
    Get Pct Scan Pct Mod Final Pct
    Cache Requests Miss Requests Miss Req Usage SGA
    dc_constraints 0 0 0 188 99
    dc_database_links 0 0 0 0 0
    dc_files 0 0 0 16 94
    dc_free_extents 26 23.1 9 0.0 19 2,072 99
    dc_global_oids 0 0 0 28 62
    dc_histogram_data 0 0 0 0 0
    dc_histogram_data_valu 0 0 0 0 0
    dc_histogram_defs 597 0.0 0 0 ###### 100
    dc_object_ids 3,481 0.0 0 0 4,068 100
    dc_objects 606 1.5 0 0 8,596 100
    dc_outlines 0 0 0 0 0
    dc_profiles 14 0.0 0 0 1 9
    dc_rollback_segments 394 0.0 0 0 15 54
    dc_segments 260 0.0 0 9 4,752 100
    dc_sequence_grants 104 0.0 0 0 169 92
    dc_sequences 183 0.0 0 169 36 86
    dc_synonyms 280 5.7 0 0 4,343 100
    dc_tablespace_quotas 33 0.0 0 9 18 23
    dc_tablespaces 2,965 0.0 0 0 45 78
    dc_used_extents 9 100.0 0 9 2,086 53
    dc_user_grants 2,213 0.0 0 0 109 93
    dc_usernames 289 0.0 0 0 131 99
    dc_users 2,790 0.0 0 0 209 95
    ifs_acl_cache_entries 0 0 0 0 0
    Library Cache Activity for DB: QLM3 Instance: orcl Snaps: 1 -2
    ->"Pct Misses" should be very low
    Get Pct Pin Pct Invali-
    Namespace Requests Miss Requests Miss Reloads dations
    BODY 22 0.0 21 0.0 0 0
    CLUSTER 0 0 0 0
    INDEX 0 0 0 0
    OBJECT 0 0 0 0
    PIPE 0 0 0 0
    SQL AREA 2,846 0.2 48,618 0.2 25 0
    TABLE/PROCEDURE 7,107 0.2 29,746 0.2 3 0
    TRIGGER 22 0.0 22 0.0 0 0
    SGA Memory Summary for DB: QLM3 Instance: orcl Snaps: 1 -2
    SGA regions Size in Bytes
    Database Buffers 157,286,400
    Fixed Size 75,804
    Redo Buffers 172,032
    Variable Size 185,597,952
    sum 343,132,188
    SGA breakdown difference for DB: QLM3 Instance: orcl Snaps: 1 -2
    Pool Name Begin value End value Difference
    java pool free memory 45,973,504 45,973,504 0
    java pool memory in use 4,030,464 4,030,464 0
    large pool free memory 614,400 614,400 0
    shared pool db_block_buffers 2,611,200 2,611,200 0
    shared pool db_block_hash_buckets 438,520 438,520 0
    shared pool db_files 370,988 370,988 0
    shared pool dictionary cache 21,129,860 21,141,516 11,656
    shared pool event statistics per ses 774,000 774,000 0
    shared pool fixed allocation callbac 640 640 0
    shared pool free memory 15,115,180 16,081,664 966,484
    shared pool joxlod: in ehe 91,888 91,888 0
    shared pool joxlod: in phe 37,284 37,284 0
    shared pool joxlod: init P 812 812 0
    shared pool joxs heap init 4,248 4,248 0
    shared pool KGFF heap 69,160 69,160 0
    shared pool KGK heap 19,236 19,236 0
    shared pool KQLS heap 8,262,784 8,225,444 -37,340
    shared pool library cache 29,124,008 29,099,824 -24,184
    shared pool miscellaneous 5,152,512 5,135,872 -16,640
    shared pool partitioning d 203,808 185,716 -18,092
    shared pool PLS non-lib hp 2,096 2,096 0
    shared pool PL/SQL DIANA 3,668,952 3,659,000 -9,952
    shared pool PL/SQL MPCODE 1,560,124 1,563,104 2,980
    shared pool PL/SQL PPCODE 19,460 19,460 0
    shared pool PX msg pool 46,572 46,572 0
    shared pool PX subheap 11,612 11,612 0
    shared pool sessions 485,100 485,100 0
    shared pool sql area 45,274,860 44,405,220 -869,640
    shared pool table columns 53,228 53,564 336
    shared pool table definiti 16,748 15,428 -1,320
    shared pool transaction_branches 368,000 368,000 0
    shared pool trigger defini 41,236 36,948 -4,288
    shared pool trigger inform 3,380 3,380 0
    shared pool trigger source 572 572 0
    shared pool type object de 1,600 1,600 0
    shared pool view columns d 1,072 1,072 0
    db_block_buffers 157,286,400 157,286,400 0
    fixed_sga 75,804 75,804 0
    log_buffer 163,840 163,840 0
    init.ora Parameters for DB: QLM3 Instance: orcl Snaps: 1 -2
    End value
    Parameter Name Begin value (if different)
    audit_trail TRUE
    background_dump_dest E:\oracle\admin\QLM3\bdump
    compatible 8.1.7.0
    control_files E:\oracle\oradata\QLM3\control01.
    cursor_sharing EXACT
    db_block_buffers 19200
    db_block_size 8192
    db_file_multiblock_read_count 32
    db_files 1024
    db_name QLM3
    distributed_transactions 500
    global_names FALSE
    instance_name ORCL
    java_pool_size 50000000
    job_queue_interval 10
    job_queue_processes 4
    large_pool_size 614400
    log_buffer 163840
    log_checkpoint_interval 5000
    log_checkpoint_timeout 0
    max_dump_file_size 10240
    max_enabled_roles 30
    mts_dispatchers (PROTOCOL=TCP)(PRE=oracle.aurora.
    open_cursors 1000
    open_links 4
    oracle_trace_collection_name
    os_authent_prefix
    parallel_max_servers 8
    processes 200
    query_rewrite_enabled TRUE
    query_rewrite_integrity TRUSTED
    remote_login_passwordfile EXCLUSIVE
    rollback_segments RBS10, RBS11, RBS12, RBS13, RBS14
    service_names QLM3
    shared_pool_size 128000000
    sort_area_retained_size 128000
    sort_area_size 128000
    timed_statistics TRUE
    user_dump_dest E:\oracle\admin\QLM3\udump
    utl_file_dir c:\utl_file
    End of Report.
    Thanks for your help.
    regards raitsarevo

    Hi
    I'm experienced any problem when our application run one transaction it becomes very slow, before it was speed and from yesterday it takes a lot of time to accomplish the transaction. That's why i analyze the problem with statspack and i've done also a trace. It's for my problem and for academic purpose too.
    Many thanks for your help.

  • How to interpret statspack report

    Is there any Oracle document describing how to interpret a statspack report ?

    You can take a look at some "real world" examples:
    http://jonathanlewis.wordpress.com/statspack-examples/
    http://oracledoug.com/serendipity/index.php?/archives/1155-A-More-Complex-Statspack-Example-Part-1.html

  • Interpreting statspack report

    Hi,
    To tune the database i generated statspack report please share me the tips regarding tuning. part of the statspack is given below
    STATSPACK report for
    DB Name         DB Id    Instance     Inst Num Release     OPS Host
    PINDB         3730403337 pindb               1 8.1.7.0.0   NO  suportal01
                    Snap Id     Snap Time      Sessions
    Begin Snap:         21 21-Jul-08 13:08:31      210
       End Snap:         22 21-Jul-08 13:22:24      210
        Elapsed:                  13.88 (mins)
    Cache Sizes
    ~~~~~~~~~~~
               db_block_buffers:     409600          log_buffer:     163840
                  db_block_size:       4096    shared_pool_size: 1310720000
    Load Profile
    ~~~~~~~~~~~~                            Per Second       Per Transaction
                      Redo size:             42,186.94              5,846.24
                  Logical reads:             38,625.42              5,352.68
                  Block changes:                174.36                 24.16
                 Physical reads:             17,187.35              2,381.81
                Physical writes:                173.19                 24.00
                     User calls:                163.64                 22.68
                         Parses:                 26.36                  3.65
                    Hard parses:                  1.23                  0.17
                          Sorts:                 13.91                  1.93
                         Logons:                  0.27                  0.04
                       Executes:                708.32                 98.16
                   Transactions:                  7.22
      % Blocks changed per Read:    0.45    Recursive Call %:   80.91
    Rollback per transaction %:    0.67       Rows per Sort: #######
    Instance Efficiency Percentages (Target 100%)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                Buffer Nowait %:   98.10       Redo NoWait %:   99.97
                Buffer  Hit   %:   55.50    In-memory Sort %:   99.69
                Library Hit   %:   99.62        Soft Parse %:   95.35
             Execute to Parse %:   96.28         Latch Hit %:   99.73
    Parse CPU to Parse Elapsd %:   30.23     % Non-Parse CPU:   99.99
    Shared Pool Statistics        Begin   End
                 Memory Usage %:   83.58   83.11
        % SQL with executions>1:   62.74   63.24
      % Memory for SQL w/exec>1:   37.31   38.34
    STATSPACK report for
    DB Name         DB Id    Instance     Inst Num Release     OPS Host
    PINDB         3730403337 pindb               1 8.1.7.0.0   NO  suportal01
                    Snap Id     Snap Time      Sessions
    Begin Snap:         21 21-Jul-08 13:08:31      210
       End Snap:         22 21-Jul-08 13:22:24      210
        Elapsed:                  13.88 (mins)
    Cache Sizes
    ~~~~~~~~~~~
               db_block_buffers:     409600          log_buffer:     163840
                  db_block_size:       4096    shared_pool_size: 1310720000
    Load Profile
    ~~~~~~~~~~~~                            Per Second       Per Transaction
                      Redo size:             42,186.94              5,846.24
                  Logical reads:             38,625.42              5,352.68
                  Block changes:                174.36                 24.16
                 Physical reads:             17,187.35              2,381.81
                Physical writes:                173.19                 24.00
                     User calls:                163.64                 22.68
                         Parses:                 26.36                  3.65
                    Hard parses:                  1.23                  0.17
                          Sorts:                 13.91                  1.93
                         Logons:                  0.27                  0.04
                       Executes:                708.32                 98.16
                   Transactions:                  7.22
      % Blocks changed per Read:    0.45    Recursive Call %:   80.91
    Rollback per transaction %:    0.67       Rows per Sort: #######
    Instance Efficiency Percentages (Target 100%)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                Buffer Nowait %:   98.10       Redo NoWait %:   99.97
                Buffer  Hit   %:   55.50    In-memory Sort %:   99.69
                Library Hit   %:   99.62        Soft Parse %:   95.35
             Execute to Parse %:   96.28         Latch Hit %:   99.73
    Parse CPU to Parse Elapsd %:   30.23     % Non-Parse CPU:   99.99
    Shared Pool Statistics        Begin   End
                 Memory Usage %:   83.58   83.11
        % SQL with executions>1:   62.74   63.24
      % Memory for SQL w/exec>1:   37.31   38.34
    Buffer Pool Statistics for DB: PINDB  Instance: pindb  Snaps: 21 -22
    -> Pools   D: default pool,  K: keep pool,  R: recycle pool
                                                          Free    Write     Buffer
           Buffer    Consistent    Physical   Physical  Buffer Complete       Busy
    P        Gets          Gets       Reads     Writes   Waits    Waits      Waits
    D  14,233,242             0  14,216,020     39,539       0        0    612,534
    Buffer wait Statistics for DB: PINDB  Instance: pindb  Snaps: 21 -22
    -> ordered by wait time desc, waits desc
                                     Tot Wait    Avg
    Class                    Waits  Time (cs) Time (cs)
    data block             611,175          0         0
    undo header                  2          0         0
    Enqueue activity for DB: PINDB  Instance: pindb  Snaps: 21 -22
    -> ordered by waits desc, gets desc
    Enqueue            Gets      Waits
    TX                7,173          4Thanks
    Prakash
    Message was edited by:
    user612485

    Hi,
    Your Buffer it ratio at that time is 55.50%, close to 85% should be good.>>>can i increase db_block_buffers for this
    Parse CPU to Parse Elapsd %: 30.23, only 30% of your sql statements are shared, you need to change the cursor_sharing to ( force or similar) and the application code as well to potentatially use less literal variables>>>>since it is oracle 8.1.7.0.0. cursor_sharing=force is not available and i discuss with the developers regarding that.suppose if i make cursor_sharing=exact(default) to similar is it impact on execution plan of the queries.
    shared pool Memory Usage %: 83.58 >>>>>>>>>>>>>>shall i increase shared_pool_size
    Regards
    Prakash
    Message was edited by:
    user612485

  • Statspack repot interpretation

    Dear all,
    I have a customer who is using 9i and I am studying the performance issue from the statspack report. There are several points I would like to ask for your help:
    1. There are two events (CPU time; db file sequential read) usually shown in the "Top 5 Timed Events" in the reports (as below). Can I conclude that there is the CPU bound first then come with I/O bound?
    Top 5 Timed Events
    ~~~~~~~~~~~~~~~~~~ % Total
    Event Waits Time (s) Ela Time
    CPU time 17,695 57.70
    db file sequential read 2,683,595 6,802 22.18
    db file scattered read 296,996 2,515 8.20
    log file sync 436,937 890 2.90
    log file parallel write 438,634 840 2.74
    2. When I study the Top SQL statements, it is found that the Elapsed time is much larger than CPU time (e.g. Elapsed time = 1500s ; CPU time = 60s). Does it mean that it implies I/O wait which cause long elapsed time? If not, how can I dig out the root cause?
    3. I usually find that there is either "Index range scan" or "Index full scan" in the big SQL queries. Are these big queries benefit if use Exadata (e.g. smart scan technology)?
    Thanks for your help.
    M.T.

    903714 wrote:
    Dear Nikolay and experts,
    Thanks for your information and it is very useful.
    My finally question, how could I determine if there is any I/O issue/bottleneck from the report?
    Thanks and Regards,
    M.T.M.T.,
    Nikolay has made several very good suggestions.
    Did you post the full Statspack report? Typically, you should make the Statspack duration as short as possible (10 minutes for instance) to limit the effects of the averages being watered down due to short-term problems appearing in long duration snapshots. The exception, of course, is if the problem period really was 105 minutes long. The following is the formatted version of the Statspack section that you posted, with a couple of notes embedded:
    STATSPACK report for
    DB Name         DB Id    Instance     Inst Num Release     Cluster Host
    XXX           4199214960 XXX                 1 9.2.0.8.0   NO      srv02
                  Snap Id     Snap Time      Sessions Curs/Sess Comment
    Begin Snap:      2221 29-3? -12 06:15:01      87       7.0
      End Snap:      2228 29-3? -12 08:00:02     124      12.9
       Elapsed:              105.02 (mins)
    Cache Sizes (end)
    ~~~~~~~~~~~~~~~~~
                   Buffer Cache:     2,048M      Std Block Size:         32K
               Shared Pool Size:     6,144M          Log Buffer:      1,536K
    Load Profile
    ~~~~~~~~~~~~                            Per Second       Per Transaction
                      Redo size:            939,465.75              7,479.54
                  Logical reads:             78,270.14                623.15
                  Block changes:              4,029.28                 32.08
                 Physical reads:              1,538.06                 12.25
                Physical writes:                136.75                  1.09
                     User calls:             11,274.33                 89.76
                         Parses:              4,131.71                 32.89
                    Hard parses:              1,014.76                  8.08
                          Sorts:                 81.98                  0.65
                         Logons:                  0.42                  0.00
                       Executes:              4,616.99                 36.76
                   Transactions:                125.60
      % Blocks changed per Read:    5.15    Recursive Call %:      4.98
    Rollback per transaction %:    0.01       Rows per Sort:    834.71
    Instance Efficiency Percentages (Target 100%)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                Buffer Nowait %:  100.00       Redo NoWait %:    100.00
                Buffer  Hit   %:   98.76    In-memory Sort %:     99.99
                Library Hit   %:   86.15        Soft Parse %:     75.44
             Execute to Parse %:   10.51         Latch Hit %:    104.78
    Parse CPU to Parse Elapsd %:   46.82     % Non-Parse CPU:     43.30
    Shared Pool Statistics        Begin   End
                 Memory Usage %:   93.61   94.02
        % SQL with executions>1:   56.24   43.61
      % Memory for SQL w/exec>1:   44.36   38.42
    Top 5 Timed Events
    ~~~~~~~~~~~~~~~~~~                                                     % Total
    Event                                               Waits    Time (s) Ela Time
    CPU time                                                       36,501    46.28    - 6301.2 elapsed seconds = 5.79 CPUs at 100% utilization, 96.5% util for 6 CPUs
    db file sequential read                         3,547,961      18,115    22.97
    latch free                                     14,075,780      13,671    17.33    - Average of 2.17 sessions waiting per second
    log file sync                                     793,985       2,820     3.58
    db file scattered read                            181,766       2,782     3.53
    Wait Events for DB: XXX  Instance: XXX  Snaps: 2221 -2228
    -s  - second
    -cs - centisecond -     100th of a second
    -ms - millisecond -    1000th of a second
    -us - microsecond - 1000000th of a second
    -ordered by wait time desc, waits desc (idle events last)
                                                                       Avg
                                                         Total Wait   wait    Waits
    Event                               Waits   Timeouts   Time (s)   (ms)     /txn
    db file sequential read         3,547,961          0     18,115      5      4.5
    latch free                     14,075,780     32,003     13,671      1     17.8   - 32,000 timeouts
    log file sync                     793,985          9      2,820      4      1.0   - nearly 1,000 seconds longer than log file parallel write
                                                                                          with roughly the same number of waits, 126 commits/rollbacks per second
    db file scattered read            181,766          0      2,782     15      0.2
    log file parallel write           760,565          0      1,862      2      1.0
    SQL*Net more data to client    39,796,526          0      1,625      0     50.3
    log buffer space                   10,992          9        566     51      0.0
    wait list latch free               19,679          0        400     20      0.0
    log file sequential read            7,042          0        359     51      0.0
    buffer busy waits                   8,119          0         55      7      0.0
    process startup                     1,263          0         55     43      0.0
    db file parallel read                 828          0         16     19      0.0
    enqueue                                80          0         10    125      0.0
    control file parallel write         2,507          0          7      3      0.0
    direct path read (lob)          3,236,838          0          4      0      4.1
    LGWR wait for redo copy             9,622         10          3      0      0.0
    log file switch completion             70          0          3     42      0.0
    control file sequential read      120,614          0          3      0      0.2
    SQL*Net break/reset to clien       12,342          0          1      0      0.0
    local write wait                       10          0          1     80      0.0
    library cache pin                      31          0          0     10      0.0
    library cache lock                      3          0          0     48      0.0
    direct path read                   41,470          0          0      0      0.1
    log file single write                  28          0          0      3      0.0
    direct path write                   3,386          0          0      0      0.0
    async disk IO                       1,750          0          0      0      0.0
    direct path write (lob)               167          0          0      0      0.0
    buffer deadlock                         1          1          0      0      0.0
    SQL*Net message from client    70,366,763          0    148,518      2     88.9
    jobq slave wait                    29,280     29,082     86,016   2938      0.0
    virtual circuit status                210        210      6,116  29124      0.0
    wakeup time manager                   203        203      5,926  29190      0.0
    SQL*Net message to client      70,366,954          0         33      0     88.9
    SQL*Net more data from clien       16,177          0          1      0      0.0
    Background Wait Events for DB: XXX  Instance: XXX  Snaps: 2221 -2228
    -ordered by wait time desc, waits desc (idle events last)
                                                                       Avg
                                                         Total Wait   wait    Waits
    Event                               Waits   Timeouts   Time (s)   (ms)     /txn
    log file parallel write           760,561          0      1,862      2      1.0
    log file sequential read            7,042          0        359     51      0.0
    log buffer space                      839          1         21     25      0.0
    control file parallel write         2,507          0          7      3      0.0
    LGWR wait for redo copy             9,622         10          3      0      0.0
    latch free                          2,194         34          2      1      0.0
    db file sequential read               344          0          2      5      0.0
    control file sequential read        3,234          0          0      0      0.0
    log file single write                  28          0          0      3      0.0
    buffer busy waits                       3          0          0     11      0.0
    db file scattered read                 17          0          0      1      0.0
    rdbms ipc reply                        72          0          0      0      0.0
    direct path read                    9,336          0          0      0      0.0
    async disk IO                       1,750          0          0      0      0.0
    direct path write                   2,042          0          0      0      0.0
    rdbms ipc message               2,232,580      4,930     37,812     17      2.8
    pmon timer                          2,171      2,167      6,146   2831      0.0
    smon timer                             94          2      6,040  64250      0.0
    SQL ordered by Gets for DB: XXX  Instance: XXX  Snaps: 2221 -2228
    -End Buffer Gets Threshold:     10000
    -Note that resources reported for PL/SQL includes the resources used by
       all SQL statements called within the PL/SQL code.  As individual SQL
       statements are also reported, it is possible and valid for the summed
       total % to exceed 100
       Buffer Pool Advisory for DB: LP1  Instance: LP1  End Snap: 2228
    -Only rows with estimated physical reads >0 are displayed
    -ordered by Block Size, Buffers For Estimate (default block size first)
            Size for  Size      Buffers for  Est Physical          Estimated
    P   Estimate (M) Factr         Estimate   Read Factor     Physical Reads
    D            208    .1            6,604          2.83      6,378,112,238
    D            416    .2           13,208          1.93      4,342,866,205
    D            624    .3           19,812          1.62      3,640,273,665
    D            832    .4           26,416          1.44      3,240,092,326
    D          1,040    .5           33,020          1.31      2,954,994,072
    D          1,248    .6           39,624          1.22      2,742,984,290
    D          1,456    .7           46,228          1.15      2,578,034,468
    D          1,664    .8           52,832          1.09      2,443,373,792
    D          1,872    .9           59,436          1.04      2,331,217,161
    D          2,048   1.0           65,024          1.00      2,250,083,589
    D          2,080   1.0           66,040          0.99      2,236,664,227
    D          2,288   1.1           72,644          0.96      2,155,416,041
    D          2,496   1.2           79,248          0.93      2,084,062,812
    D          2,704   1.3           85,852          0.90      2,022,719,526
    D          2,912   1.4           92,456          0.88      1,969,024,200
    D          3,120   1.5           99,060          0.85      1,921,525,625
    D          3,328   1.6          105,664          0.83      1,878,684,408
    D          3,536   1.7          112,268          0.82      1,838,867,003
    D          3,744   1.8          118,872          0.80      1,802,366,744
    D          3,952   1.9          125,476          0.79      1,769,514,453
    D          4,160   2.0          132,080          0.77      1,739,527,547
    Shared Pool Advisory for DB: LP1  Instance: LP1  End Snap: 2228
    -Note there is often a 1:Many correlation between a single logical object
       in the Library Cache, and the physical number of memory objects associated
       with it.  Therefore comparing the number of Lib Cache objects (e.g. in
       v$librarycache), with the number of Lib Cache Memory Objects is invalid
                                                               Estd
    Shared Pool    SP       Estd         Estd     Estd Lib LC Time
       Size for  Size  Lib Cache    Lib Cache   Cache Time   Saved  Estd Lib Cache
      Estim (M) Factr   Size (M)      Mem Obj    Saved (s)   Factr    Mem Obj Hits
          3,648    .6      3,159      155,827   21,111,272     1.0   3,852,304,826
          4,272    .7      3,777      207,077   21,136,378     1.0   3,857,271,509
          4,896    .8      4,399      258,583   21,156,197     1.0   3,861,231,174
          5,520    .9      5,021      324,236   21,174,386     1.0   3,865,018,959
          6,144   1.0      5,641      382,883   21,191,536     1.0   3,869,209,460   - shared pool is 6,144M while buffer cache is 2048M
          6,768   1.1      6,262      443,397   21,207,442     1.0   3,873,169,990
          7,392   1.2      6,884      495,777   21,221,756     1.0   3,876,918,334
          8,016   1.3      7,504      542,182   21,235,558     1.0   3,880,783,872
          8,640   1.4      8,131      612,514   21,248,568     1.0   3,884,378,295
          9,264   1.5      8,745      669,742   21,267,628     1.0   3,889,347,478
          9,888   1.6      9,367      720,911   21,284,661     1.0   3,893,383,366
         10,512   1.7      9,990      783,636   21,301,199     1.0   3,896,844,168
         11,136   1.8     10,613      831,251   21,328,444     1.0   3,902,917,583
         11,760   1.9     11,241      911,015   21,354,677     1.0   3,908,578,239
         12,384   2.0     11,769      989,458   21,364,410     1.0   3,910,718,760
    SGA Memory Summary for DB: LP1  Instance: LP1  Snaps: 2221 -2228
    SGA regions                       Size in Bytes
    Database Buffers                  2,147,483,648
    Fixed Size                              739,728
    Redo Buffers                          1,847,296
    Variable Size                     8,589,934,592
    sum                              10,740,005,264
    PGA Memory Advisory for DB: LP1  Instance: LP1  End Snap: 2228
    -When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value
       where Estd PGA Overalloc Count is 0
                                           Estd Extra    Estd PGA   Estd PGA
    PGA Target    Size           W/A MB   W/A MB Read/      Cache  Overalloc
      Est (MB)   Factr        Processed Written to Disk     Hit %      Count
           384     0.1     15,537,685.0      5,537,057.3     74.0          2
           768     0.3     15,537,685.0      5,141,850.4     75.0          0
         1,536     0.5     15,537,685.0      3,996,029.6     80.0          0
         2,304     0.8     15,537,685.0      2,993,976.3     84.0          0
         3,072     1.0     15,537,685.0      2,411,515.4     87.0          0
         3,686     1.2     15,537,685.0      1,472,254.8     91.0          0
         4,301     1.4     15,537,685.0      1,472,254.8     91.0          0
         4,915     1.6     15,537,685.0      1,472,254.8     91.0          0
         5,530     1.8     15,537,685.0      1,472,254.8     91.0          0
         6,144     2.0     15,537,685.0      1,472,254.8     91.0          0
         9,216     3.0     15,537,685.0      1,472,254.8     91.0          0
        12,288     4.0     15,537,685.0      1,472,254.8     91.0          0
        18,432     6.0     15,537,685.0      1,472,254.8     91.0          0
        24,576     8.0     15,537,685.0      1,472,254.8     91.0          0
              -------------------------------------------------------------How many CPUs are in the server, and what else is running on the server? If the server has 6 CPUs (CPU cores), the database instance is CPU bound. If the server has 12 CPUs (CPU cores) and nothing else was running on the server, the database instance could still have been CPU bound, if the majority of the activity happened in just 50 of the 105 minutes (of course individual sessions could still be CPU bound if those sessions only used a single CPU at a time). One of the clues here is that at 2,820 seconds, the log file sync wait event is roughly 1,000 seconds longer than the log file parallel write wait event, but that time difference might have been a side effect of the 126 commits/rollbacks per second - even in a non-CPU constrained server, it could take a little while for the session to come back on the CPU (your system seems to require an average of 0.0012 seconds, which might be an operating system specific limitation).
    Notice that the shared pool is roughly 3 times as large as the buffer cache. As Nikolay mentioned, roughly 25% of the parses are in fact hard parses. If those SQL statements are parsed and executed a single time, then it makes sense to significantly reduce the size of the shared pool so that the length of time that the shared pool related latches are held is minimized while scanning to determine if the SQL statement was previously parsed. Use caution with the suggestion to modify the CURSOR_CHARING parameter - check with MOS (My Oracle Support) for known bugs with your specific version of Oracle Database, and test with caution.
    There were on average 2.17 sessions waiting on the latch free wait event for the duration of the Statspack snapshot - did the Statspack report include a breakdown of the various latch counters?
    Were any SQL statements included in the report?
    What parameters have been modified? Was the SPINCOUNT parameter adjusted?
    Are you able to narrow the problem down to the activity of one or two sessions? If so, use a 10046 trace at level 8 or 12 for those sessions.
    Charles Hooper
    http://hoopercharles.wordpress.com/
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.

  • Interpretation Statspack

    Hi Friends,
    Top 5 Timed Events Avg %Total
    ~~~~~~~~~~~~~~~~~~ wait Call
    Event Waits Time (s) (ms) Time
    db file sequential read 324,488 1,169 4 48.4
    db file scattered read 283,960 722 3 29.9
    CPU time 285 11.8
    SQL*Net break/reset to client 2,480 150 61 6.2
    control file sequential read 7,676 24 3 1.0
    There is very wait hope because the dbfile * read, what this?
    how to proceed now?
    tks

    Without some context your extract doesn't mean much.
    Is it a one hour snapshot or 5 minutes.
    Is it an OLTP system or data warehouse, or mixed ?
    Are any users complaining about performance.
    The only comments possible are: your average file I/O times seem to be pretty quick, so the hardware does not seem to be under stress (you can check the section on event histograms to get more detail on this, though). If it is an OLTP system (small, high precision activities) then the volume of db file scattered reads is high, and you might want to check the SQL ordered by reads and SQL ordered by elapsed time (assuming 10g) to see if there are any statements doing much more work than seems reasonable.
    Regards
    Jonathan Lewis

  • Statspack

    How do I interpret it ...And can anyone please suggest measures to improve my database performance from the available report.
    STATSPACK report for
    Database DB Id Instance Inst Num Startup Time Release RAC
    ~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
    1184214567 orcl 1 03-Jun-08 16:02 10.2.0.1.0 NO
    Host Name: KRISHNAF39E Num CPUs: 1 Phys Memory (MB): 512
    ~~~~
    Snapshot Snap Id Snap Time Sessions Curs/Sess Comment
    ~~~~~~~~ ---------- ------------------ -------- --------- -------------------
    Begin Snap: 1 03-Jun-08 16:07:21 17 5.8
    End Snap: 32 03-Jun-08 21:35:08 22 9.0
    Elapsed: 327.78 (mins)
    Cache Sizes Begin End
    ~~~~~~~~~~~ ---------- ----------
    Buffer Cache: 76M 72M Std Block Size: 8K
    Shared Pool Size: 72M 76M Log Buffer: 2,832K
    Load Profile Per Second Per Transaction
    ~~~~~~~~~~~~ --------------- ---------------
    Redo size: 626.65 10,085.31
    Logical reads: 18.57 298.82
    Block changes: 2.72 43.79
    Physical reads: 0.13 2.07
    Physical writes: 0.34 5.40
    User calls: 1.31 21.14
    Parses: 1.56 25.10
    Hard parses: 0.20 3.14
    Sorts: 0.95 15.27
    Logons: 0.01 0.17
    Executes: 4.16 67.02
    Transactions: 0.06
    % Blocks changed per Read: 14.66 Recursive Call %: 95.81
    Rollback per transaction %: 5.32 Rows per Sort: 9.86
    Instance Efficiency Percentages
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Buffer Nowait %: 100.00 Redo NoWait %: 99.99
    Buffer Hit %: 99.31 In-memory Sort %: 100.00
    Library Hit %: 92.48 Soft Parse %: 87.47
    Execute to Parse %: 62.55 Latch Hit %: 99.99
    Parse CPU to Parse Elapsd %: 76.73 % Non-Parse CPU: 86.05
    Shared Pool Statistics Begin End
    Memory Usage %: 75.34 93.45
    % SQL with executions>1: 64.78 93.71
    % Memory for SQL w/exec>1: 85.34 95.57
    Top 5 Timed Events Avg %Total
    ~~~~~~~~~~~~~~~~~~ wait Call
    Event Waits Time (s) (ms) Time
    control file parallel write 5,371 147 27 28.2
    CPU time 108 20.7
    db file parallel write 3,730 86 23 16.5
    log file parallel write 2,080 45 22 8.7
    control file sequential read 5,651 42 7 8.0
    Host CPU (CPUs: 1)
    ~~~~~~~~ Load Average
    Begin End User System Idle WIO WCPU
    0.89 3.04 96.07
    Note: There is a 18% discrepancy between the OS Stat total CPU time and
    the total CPU time estimated by Statspack
    OS Stat CPU time: 16115(s) (BUSY_TIME + IDLE_TIME)
    Statspack CPU time: 19667(s) (Elapsed time * num CPUs in end snap)
    Instance CPU
    ~~~~~~~~~~~~
    % of total CPU for Instance: 0.92
    % of busy CPU for Instance: 23.31
    %DB time waiting for CPU - Resource Mgr:
    Memory Statistics Begin End
    ~~~~~~~~~~~~~~~~~ ------------ ------------
    Host Mem (MB): 511.6 511.6
    SGA use (MB): 160.0 160.0
    PGA use (MB): 24.5 29.5
    % Host Mem used for SGA+PGA: 36.1 37.1
    Time Model System Stats DB/Inst: ORCL/orcl Snaps: 1-32
    -> Ordered by % of DB time desc, Statistic name
    Statistic Time (s) % of DB time
    sql execute elapsed time 162.4 76.3
    DB CPU 103.7 48.7
    PL/SQL execution elapsed time 50.2 23.6
    parse time elapsed 36.3 17.1
    hard parse elapsed time 34.0 16.0
    PL/SQL compilation elapsed time 5.5 2.6
    hard parse (sharing criteria) elaps 0.8 .4
    connection management call elapsed 0.6 .3
    repeated bind elapsed time 0.2 .1
    hard parse (bind mismatch) elapsed 0.0 .0
    sequence load elapsed time 0.0 .0
    failed parse elapsed time 0.0 .0
    DB time 212.8
    background elapsed time 366.6
    background cpu time 43.9
    Wait Events DB/Inst: ORCL/orcl Snaps: 1-32
    -> s - second, cs - centisecond, ms - millisecond, us - microsecond
    -> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
    -> Only events with Total Wait Time (s) >= .001 are shown
    -> ordered by Total Wait Time desc, Waits desc (idle events last)
    Avg
    %Time Total Wait wait Waits
    Event Waits -outs Time (s) (ms) /txn
    control file parallel write 5,371 0 147 27 4.4
    db file parallel write 3,730 0 86 23 3.1
    log file parallel write 2,080 0 45 22 1.7
    control file sequential read 5,651 0 42 7 4.6
    db file sequential read 2,009 0 37 19 1.6
    log file sync 910 1 35 38 0.7
    Streams AQ: qmn coordinator waiti 2 100 10 5004 0.0
    db file scattered read 111 0 4 35 0.1
    os thread startup 71 0 3 41 0.1
    Data file init write 16 0 1 72 0.0
    library cache load lock 3 0 1 337 0.0
    SQL*Net break/reset to client 1,232 0 1 1 1.0
    log file switch completion 3 0 1 192 0.0
    SGA: MMAN sleep for component shr 64 67 0 7 0.1
    latch free 416 0 0 0 0.3
    read by other session 6 0 0 20 0.0
    rdbms ipc reply 62 0 0 2 0.1
    library cache pin 4 0 0 16 0.0
    log file sequential read 2 0 0 14 0.0
    latch: library cache 6 0 0 3 0.0
    LGWR wait for redo copy 24 0 0 1 0.0
    log file single write 2 0 0 5 0.0
    buffer busy waits 9 0 0 1 0.0
    latch: shared pool 5 0 0 0 0.0
    direct path write 21 0 0 0 0.0
    SQL*Net message from client 23,572 0 49,054 2081 19.3
    Streams AQ: qmn slave idle wait 705 16 18,942 26868 0.6
    Streams AQ: qmn coordinator idle 1,015 76 16,085 15848 0.8
    Streams AQ: waiting for messages 3,226 99 16,080 4985 2.6
    virtual circuit status 538 100 16,071 29872 0.4
    wait for unread message on broadc 15,873 100 15,891 1001 13.0
    Streams AQ: waiting for time mana 87 47 10,271 ###### 0.1
    jobq slave wait 1,263 99 3,780 2993 1.0
    class slave wait 3 100 15 5004 0.0
    SQL*Net message to client 23,577 0 0 0 19.3
    SQL*Net more data from client 139 0 0 0 0.1
    Background Wait Events DB/Inst: ORCL/orcl Snaps: 1-32
    -> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
    -> Only events with Total Wait Time (s) >= .001 are shown
    -> ordered by Total Wait Time desc, Waits desc (idle events last)
    Avg
    %Time Total Wait wait Waits
    Event Waits -outs Time (s) (ms) /txn
    control file parallel write 5,368 0 147 27 4.4
    db file parallel write 3,730 0 86 23 3.1
    log file parallel write 2,080 0 45 22 1.7
    events in waitclass Other 369 1 10 28 0.3
    control file sequential read 783 0 8 10 0.6
    os thread startup 71 0 3 41 0.1
    db file sequential read 112 0 2 17 0.1
    db file scattered read 70 0 1 20 0.1
    log file switch completion 3 0 1 192 0.0
    SGA: MMAN sleep for component shr 64 67 0 7 0.1
    log file sequential read 2 0 0 14 0.0
    log file single write 2 0 0 5 0.0
    buffer busy waits 9 0 0 1 0.0
    rdbms ipc message 53,282 96 139,790 2624 43.6
    pmon timer 5,447 100 16,111 2958 4.5
    Streams AQ: qmn coordinator idle 1,015 76 16,085 15848 0.8
    smon timer 67 73 15,427 ###### 0.1
    Streams AQ: qmn slave idle wait 456 11 12,775 28016 0.4
    Streams AQ: waiting for time mana 87 47 10,271 ###### 0.1
    Wait Event Histogram DB/Inst: ORCL/orcl Snaps: 1-32
    -> Total Waits - units: K is 1000, M is 1000000, G is 1000000000
    -> % of Waits - column heading: <=1s is truly <1024ms, >1s is truly >=1024ms
    -> % of Waits - value: .0 indicates value was <.05%, null is truly 0
    -> Ordered by Event (idle events last)
    Total ----------------- % of Waits ------------------
    Event Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s
    Data file init write 16 37.5 18.8 31.3 12.5
    LGWR wait for redo copy 24 95.8 4.2
    SGA: MMAN sleep for compon 64 14.1 4.7 6.3 29.7 43.8 1.6
    SQL*Net break/reset to cli 1232 91.2 6.9 .8 .6 .2 .2
    SQL*Net more data to clien 12 100.0
    Streams AQ: qmn coordinato 2 100.0
    buffer busy waits 9 88.9 11.1
    control file parallel writ 5371 .4 39.6 54.2 .8 .4 .8 3.3 .5
    control file sequential re 5651 86.9 2.9 1.3 .9 1.7 3.1 3.0 .1
    db file parallel write 3730 28.7 6.1 10.0 9.7 15.4 20.1 9.8 .2
    db file scattered read 111 10.8 9.0 18.9 11.7 10.8 17.1 21.6
    db file sequential read 2010 28.6 14.3 4.3 4.7 13.5 20.4 14.2
    db file single write 1 100.0
    direct path read 6 100.0
    direct path write 21 100.0
    latch free 413 96.9 1.7 .7 .7
    latch: enqueue hash chains 1 100.0
    latch: library cache 4 75.0 25.0
    latch: library cache pin 1 100.0
    latch: shared pool 5 80.0 20.0
    library cache load lock 3 100.0
    library cache pin 4 50.0 25.0 25.0
    log file parallel write 2080 69.3 4.7 1.9 .9 2.9 10.2 9.8 .2
    log file sequential read 2 50.0 50.0
    log file single write 2 50.0 50.0
    log file switch completion 3 33.3 33.3 33.3
    log file sync 910 41.0 17.7 2.1 3.0 5.4 13.2 17.7
    os thread startup 71 1.4 1.4 35.2 31.0 12.7 18.3
    rdbms ipc reply 62 83.9 3.2 1.6 4.8 6.5
    read by other session 6 33.3 50.0 16.7
    undo segment extension 1 100.0
    SQL*Net message from clien 23K 84.4 2.2 1.1 .7 .6 .5 .6 9.9
    SQL*Net message to client 23K 99.9 .1
    SQL*Net more data from cli 139 100.0
    Streams AQ: qmn coordinato 1015 22.9 .9 .1 .2 .1 75.9
    Streams AQ: qmn slave idle 705 4.1 .1 .1 .6 1.0 94.0
    Streams AQ: waiting for me 3226 .0 .3 99.7
    Streams AQ: waiting for ti 87 23.0 10.3 66.7
    class slave wait 3 100.0
    dispatcher timer 269 100.0
    jobq slave wait 1263 .4 99.6
    pmon timer 5447 1.4 .1 .1 98.4
    rdbms ipc message 53K 1.0 .2 .2 .2 .3 .2 31.2 66.7
    smon timer 67 9.0 1.5 89.6
    virtual circuit status 538 100.0
    wait for unread message on 15K .0 .0 99.9 .1
    SQL ordered by CPU DB/Inst: ORCL/orcl Snaps: 1-32
    -> Resources reported for PL/SQL code includes the resources used by all SQL
    statements called by the code.
    -> Total DB CPU (s): 104
    -> Captured SQL accounts for 61.1% of Total DB CPU
    -> SQL reported below exceeded 1.0% of Total DB CPU
    CPU CPU per Elapsd Old
    Time (s) Executions Exec (s) %Total Time (s) Buffer Gets Hash Value
    44.02 576 0.08 42.5 46.47 12,780 1206412919
    Module: OEM.SystemPool
    BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
    5.77 6,381 0.00 5.6 5.98 40,624 1396250429
    Module: OEM.SystemPool
    begin MGMT_JOB_ENGINE.get_scheduled_steps(:1, :2, :3, :4); end;
    1.81 1 1.81 1.7 2.08 13,786 2522684317
    Module: SQL*Plus
    BEGIN statspack.snap; END;
    SQL ordered by Elapsed DB/Inst: ORCL/orcl Snaps: 1-32
    -> Resources reported for PL/SQL code includes the resources used by all SQL
    statements called by the code.
    -> Total DB Time (s): 213
    -> Captured SQL accounts for 39.2% of Total DB Time
    -> SQL reported below exceeded 1.0% of Total DB Time
    Elapsed Elap per CPU Old
    Time (s) Executions Exec (s) %Total Time (s) Physical Reads Hash Value
    46.47 576 0.08 21.8 44.02 76 1206412919
    Module: OEM.SystemPool
    BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
    6.18 478 0.01 2.9 0.27 288 986338823
    select /*+ index(idl_ub1$ i_idl_ub11) +*/ piece#,length,piece fr
    om idl_ub1$ where obj#=:1 and part=:2 and version=:3 order by pi
    ece#
    5.98 6,381 0.00 2.8 5.77 6 1396250429
    Module: OEM.SystemPool
    begin MGMT_JOB_ENGINE.get_scheduled_steps(:1, :2, :3, :4); end;
    SQL ordered by Gets DB/Inst: ORCL/orcl Snaps: 1-32
    -> Resources reported for PL/SQL code includes the resources used by all SQL
    statements called by the code.
    -> End Buffer Gets Threshold: 10000 Total Buffer Gets: 365,154
    -> Captured SQL accounts for 54.0% of Total Buffer Gets
    -> SQL reported below exceeded 1.0% of Total Buffer Gets
    CPU Elapsd Old
    Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
    40,624 6,381 6.4 11.1 5.77 5.98 1396250429
    Module: OEM.SystemPool
    begin MGMT_JOB_ENGINE.get_scheduled_steps(:1, :2, :3, :4); end;
    20,280 4,090 5.0 5.6 0.38 0.38 2482976222
    select intcol#,nvl(pos#,0),col#,nvl(spare1,0) from ccol$ where c
    on#=:1
    19,221 6,381 3.0 5.3 0.74 0.74 2360644236
    Module: OEM.SystemPool
    SELECT JOB_ID, EXECUTION_ID, STEP_ID, STEP_NAME, STEP_TYPE, ITER
    ATE_PARAM, ITERATE_PARAM_INDEX, COMMAND_TYPE, TIMEZONE_REGION FR
    OM MGMT_JOB_EXECUTION J WHERE STEP_TYPE IN (:B7 , :B6 , :B5 ) AN
    D STEP_STATUS = :B4 AND COMMAND_TYPE = :B3 AND STEP_NAME LIKE :B
    2 AND START_TIME <= SYS_EXTRACT_UTC(SYSTIMESTAMP) AND ROWNUM <=
    13,786 1 13,786.0 3.8 1.81 2.08 2522684317
    Module: SQL*Plus
    BEGIN statspack.snap; END;
    12,780 576 22.2 3.5 44.02 46.47 1206412919
    Module: OEM.SystemPool
    BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
    12,293 3,871 3.2 3.4 0.55 1.24 3665763022
    update sys.col_usage$ set equality_preds = equality_preds
    + decode(bitand(:flag,1),0,0,1), equijoin_preds = equijoi
    n_preds + decode(bitand(:flag,2),0,0,1), nonequijoin_preds
    = nonequijoin_preds + decode(bitand(:flag,4),0,0,1), range_pre
    ds = range_preds + decode(bitand(:flag,8),0,0,1),
    11,781 860 13.7 3.2 0.28 1.33 2062595902
    select owner#,name,namespace,remoteowner,linkname,p_timestamp,p_
    obj#, nvl(property,0),subname,d_attrs from dependency$ d, obj$ o
    where d_obj#=:1 and p_obj#=obj#(+) order by order#
    10,106 152 66.5 2.8 0.57 0.99 1405417040
    Module: OEM.SystemPool
    INSERT INTO MGMT_METRICS_RAW(COLLECTION_TIMESTAMP, KEY_VALUE, ME
    TRIC_GUID, STRING_VALUE, TARGET_GUID, VALUE) VALUES ( :1, NVL(:2
    , ' '), :3, :4, :5, :6)
    9,538 1,313 7.3 2.6 0.20 0.21 2889900621
    select pos#,intcol#,col#,spare1,bo#,spare2 from icol$ where obj#
    =:1
    9,414 860 10.9 2.6 0.22 1.05 1198893840
    select order#,columns,types from access$ where d_obj#=:1
    8,535 1,002 8.5 2.3 0.48 0.88 3694268570
    SQL ordered by Gets DB/Inst: ORCL/orcl Snaps: 1-32
    -> Resources reported for PL/SQL code includes the resources used by all SQL
    statements called by the code.
    -> End Buffer Gets Threshold: 10000 Total Buffer Gets: 365,154
    -> Captured SQL accounts for 54.0% of Total Buffer Gets
    -> SQL reported below exceeded 1.0% of Total Buffer Gets
    CPU Elapsd Old
    Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
    select i.obj#,i.ts#,i.file#,i.block#,i.intcols,i.type#,i.flags,i
    .property,i.pctfree$,i.initrans,i.maxtrans,i.blevel,i.leafcnt,i.
    distkey,i.lblkkey,i.dblkkey,i.clufac,i.cols,i.analyzetime,i.samp
    lesize,i.dataobj#,nvl(i.degree,1),nvl(i.instances,1),i.rowcnt,mo
    d(i.pctthres$,256),i.indmethod#,i.trunccnt,nvl(c.unicols,0),nvl(
    8,516 3,330 2.6 2.3 0.23 1.51 4274598960
    select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt, tim
    estamp#, sample_size, minimum, maximum, distcnt, lowval, hival,
    density, col#, spare1, spare2, avgcln from hist_head$ where obj#
    =:1 and intcol#=:2
    7,836 194 40.4 2.1 0.06 0.06 1129615673
    select u.name,o.name, t.update$, t.insert$, t.delete$, t.enabled
    from obj$ o,user$ u,trigger$ t where t.baseobject=:1 and t.ob
    j#=o.obj# and o.owner#=u.user# and bitand(property,16)=0 and bi
    tand(property,8)=0 order by o.obj#
    6,647 3,269 2.0 1.8 0.99 0.99 1316169839
    select job, nvl2(last_date, 1, 0) from sys.job$ where (((:1 <= n
    ext_date) and (next_date < :2)) or ((last_date is null) and
    (next_date < :3))) and (field1 = :4 or (field1 = 0 and 'Y' = :5)
    ) and (this_date is null) order by next_date, job
    6,643 860 7.7 1.8 0.18 0.20 1937775682
    select con#,type#,condlength,intcols,robj#,rcon#,match#,refact,n
    vl(enabled,0),rowid,cols,nvl(defer,0),mtime,nvl(spare1,0) from c
    def$ where obj#=:1
    6,152 112 54.9 1.7 0.62 1.05 1666200974
    Module: OEM.SystemPool
    BEGIN EM_PING.RECORD_BATCH_HEARTBEAT(:1, :2, :3); END;
    5,398 173 31.2 1.5 0.36 0.47 2384968239
    Module: OEM.SystemPool
    BEGIN :1 := MGMT_BLACKOUT_ENGINE.get_blackout_windows(:2,:3); EN
    D;
    5,037 1,247 4.0 1.4 0.52 0.54 839312984
    select name,intcol#,segcol#,type#,length,nvl(precision#,0),decod
    e(type#,2,nvl(scale,-127/*MAXSB1MINAL*/),178,scale,179,scale,180
    ,scale,181,scale,182,scale,183,scale,231,scale,0),null$,fixedsto
    rage,nvl(deflength,0),default$,rowid,col#,property, nvl(charseti
    d,0),nvl(charsetform,0),spare1,spare2,nvl(spare3,0) from col$ wh
    SQL ordered by Reads DB/Inst: ORCL/orcl Snaps: 1-32
    -> End Disk Reads Threshold: 1000 Total Disk Reads: 2,530
    -> Captured SQL accounts for 28.4% of Total Disk Reads
    -> SQL reported below exceeded 1.0% of Total Disk Reads
    CPU Elapsd Old
    Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value
    288 478 0.6 11.4 0.27 6.18 986338823
    select /*+ index(idl_ub1$ i_idl_ub11) +*/ piece#,length,piece fr
    om idl_ub1$ where obj#=:1 and part=:2 and version=:3 order by pi
    ece#
    76 576 0.1 3.0 44.02 46.47 1206412919
    Module: OEM.SystemPool
    BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
    69 478 0.1 2.7 0.12 1.25 386388955
    select /*+ index(idl_ub2$ i_idl_ub21) +*/ piece#,length,piece fr
    om idl_ub2$ where obj#=:1 and part=:2 and version=:3 order by pi
    ece#
    47 3,330 0.0 1.9 0.23 1.51 4274598960
    select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt, tim
    estamp#, sample_size, minimum, maximum, distcnt, lowval, hival,
    density, col#, spare1, spare2, avgcln from hist_head$ where obj#
    =:1 and intcol#=:2
    43 860 0.1 1.7 0.28 1.33 2062595902
    select owner#,name,namespace,remoteowner,linkname,p_timestamp,p_
    obj#, nvl(property,0),subname,d_attrs from dependency$ d, obj$ o
    where d_obj#=:1 and p_obj#=obj#(+) order by order#
    36 478 0.1 1.4 0.11 1.58 2954231783
    select /*+ index(idl_sb4$ i_idl_sb41) +*/ piece#,length,piece fr
    om idl_sb4$ where obj#=:1 and part=:2 and version=:3 order by pi
    ece#
    35 860 0.0 1.4 0.22 1.05 1198893840
    select order#,columns,types from access$ where d_obj#=:1
    26 173 0.2 1.0 0.36 0.47 2384968239
    Module: OEM.SystemPool
    BEGIN :1 := MGMT_BLACKOUT_ENGINE.get_blackout_windows(:2,:3); EN
    D;
    SQL ordered by Executions DB/Inst: ORCL/orcl Snaps: 1-32
    -> End Executions Threshold: 100 Total Executions: 81,903
    -> Captured SQL accounts for 76.9% of Total Executions
    -> SQL reported below exceeded 1.0% of Total Executions
    CPU per Elap per Old
    Executions Rows Processed Rows per Exec Exec (s) Exec (s) Hash Value
    6,435 6,435 1.0 0.00 0.00 1667689875
    Module: EM_PING
    SELECT SYS_EXTRACT_UTC(SYSTIMESTAMP) FROM DUAL
    6,381 6,381 1.0 0.00 0.00 1396250429
    Module: OEM.SystemPool
    begin MGMT_JOB_ENGINE.get_scheduled_steps(:1, :2, :3, :4); end;
    6,381 0 0.0 0.00 0.00 2360644236
    Module: OEM.SystemPool
    SELECT JOB_ID, EXECUTION_ID, STEP_ID, STEP_NAME, STEP_TYPE, ITER
    ATE_PARAM, ITERATE_PARAM_INDEX, COMMAND_TYPE, TIMEZONE_REGION FR
    OM MGMT_JOB_EXECUTION J WHERE STEP_TYPE IN (:B7 , :B6 , :B5 ) AN
    D STEP_STATUS = :B4 AND COMMAND_TYPE = :B3 AND STEP_NAME LIKE :B
    2 AND START_TIME <= SYS_EXTRACT_UTC(SYSTIMESTAMP) AND ROWNUM <=
    4,090 6,051 1.5 0.00 0.00 2482976222
    select intcol#,nvl(pos#,0),col#,nvl(spare1,0) from ccol$ where c
    on#=:1
    3,871 3,255 0.8 0.00 0.00 3665763022
    update sys.col_usage$ set equality_preds = equality_preds
    + decode(bitand(:flag,1),0,0,1), equijoin_preds = equijoi
    n_preds + decode(bitand(:flag,2),0,0,1), nonequijoin_preds
    = nonequijoin_preds + decode(bitand(:flag,4),0,0,1), range_pre
    ds = range_preds + decode(bitand(:flag,8),0,0,1),
    3,330 1,856 0.6 0.00 0.00 4274598960
    select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt, tim
    estamp#, sample_size, minimum, maximum, distcnt, lowval, hival,
    density, col#, spare1, spare2, avgcln from hist_head$ where obj#
    =:1 and intcol#=:2
    3,269 52 0.0 0.00 0.00 1316169839
    select job, nvl2(last_date, 1, 0) from sys.job$ where (((:1 <= n
    ext_date) and (next_date < :2)) or ((last_date is null) and
    (next_date < :3))) and (field1 = :4 or (field1 = 0 and 'Y' = :5)
    ) and (this_date is null) order by next_date, job
    3,218 3,218 1.0 0.00 0.00 1693927332
    select count(*) from sys.job$ where (next_date > sysdate) and (n
    ext_date < (sysdate+5/86400))
    1,313 3,457 2.6 0.00 0.00 2889900621
    select pos#,intcol#,col#,spare1,bo#,spare2 from icol$ where obj#
    =:1
    1,247 15,878 12.7 0.00 0.00 839312984
    select name,intcol#,segcol#,type#,length,nvl(precision#,0),decod
    e(type#,2,nvl(scale,-127/*MAXSB1MINAL*/),178,scale,179,scale,180
    ,scale,181,scale,182,scale,183,scale,231,scale,0),null$,fixedsto
    rage,nvl(deflength,0),default$,rowid,col#,property, nvl(charseti
    SQL ordered by Executions DB/Inst: ORCL/orcl Snaps: 1-32
    -> End Executions Threshold: 100 Total Executions: 81,903
    -> Captured SQL accounts for 76.9% of Total Executions
    -> SQL reported below exceeded 1.0% of Total Executions
    CPU per Elap per Old
    Executions Rows Processed Rows per Exec Exec (s) Exec (s) Hash Value
    d,0),nvl(charsetform,0),spare1,spare2,nvl(spare3,0) from col$ wh
    1,003 474 0.5 0.00 0.00 1980305124
    select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option$,0),2)
    )from objauth$ where obj#=:1 group by grantee#,privilege#,nvl(co
    l#,0) order by grantee#
    1,002 1,313 1.3 0.00 0.00 3694268570
    select i.obj#,i.ts#,i.file#,i.block#,i.intcols,i.type#,i.flags,i
    .property,i.pctfree$,i.initrans,i.maxtrans,i.blevel,i.leafcnt,i.
    distkey,i.lblkkey,i.dblkkey,i.clufac,i.cols,i.analyzetime,i.samp
    lesize,i.dataobj#,nvl(i.degree,1),nvl(i.instances,1),i.rowcnt,mo
    d(i.pctthres$,256),i.indmethod#,i.trunccnt,nvl(c.unicols,0),nvl(
    999 0 0.0 0.00 0.00 204386021
    select col#, grantee#, privilege#,max(mod(nvl(option$,0),2)) fro
    m objauth$ where obj#=:1 and col# is not null group by privilege
    #, col#, grantee# order by col#, grantee#
    927 856 0.9 0.00 0.00 2703824309
    select obj#,type#,ctime,mtime,stime,status,dataobj#,flags,oid$,
    spare1, spare2 from obj$ where owner#=:1 and name=:2 and namespa
    ce=:3 and remoteowner is null and linkname is null and subname i
    s null
    901 365 0.4 0.00 0.00 2018736380
    select timestamp, flags from fixed_obj$ where obj#=:1
    860 3,847 4.5 0.00 0.00 1198893840
    select order#,columns,types from access$ where d_obj#=:1
    860 4,090 4.8 0.00 0.00 1937775682
    select con#,type#,condlength,intcols,robj#,rcon#,match#,refact,n
    vl(enabled,0),rowid,cols,nvl(defer,0),mtime,nvl(spare1,0) from c
    def$ where obj#=:1
    860 4,216 4.9 0.00 0.00 2062595902
    select owner#,name,namespace,remoteowner,linkname,p_timestamp,p_
    obj#, nvl(property,0),subname,d_attrs from dependency$ d, obj$ o
    where d_obj#=:1 and p_obj#=obj#(+) order by order#
    860 216 0.3 0.00 0.00 2065408759
    select con#,obj#,rcon#,enabled,nvl(defer,0) from cdef$ where rob
    j#=:1
    857 857 1.0 0.00 0.00 3047156589
    select t.ts#,t.file#,t.block#,nvl(t.bobj#,0),nvl(t.tab#,0),t.int
    cols,nvl(t.clucols,0),t.audit$,t.flags,t.pctfree$,t.pctused$,t.i
    nitrans,t.maxtrans,t.rowcnt,t.blkcnt,t.empcnt,t.avgspc,t.chncnt,
    t.avgrln,t.analyzetime,t.samplesize,t.cols,t.property,nvl(t.degr
    ee,1),nvl(t.instances,1),t.avgspc_flb,t.flbcnt,t.kernelcols,nvl(
    SQL ordered by Executions DB/Inst: ORCL/orcl Snaps: 1-32
    -> End Executions Threshold: 100 Total Executions: 81,903
    -> Captured SQL accounts for 76.9% of Total Executions
    -> SQL reported below exceeded 1.0% of Total Executions
    CPU per Elap per Old
    Executions Rows Processed Rows per Exec Exec (s) Exec (s) Hash Value
    SQL ordered by Parse Calls DB/Inst: ORCL/orcl Snaps: 1-32
    -> End Parse Calls Threshold: 1000 Total Parse Calls: 30,669
    -> Captured SQL accounts for 57.7% of Total Parse Calls
    -> SQL reported below exceeded 1.0% of Total Parse Calls
    % Total Old
    Parse Calls Executions Parses Hash Value
    1,388 616 4.53 260339297
    insert into sys.col_usage$ values ( :objn, :coln, decode(bit
    and(:flag,1),0,0,1), decode(bitand(:flag,2),0,0,1), decode(b
    itand(:flag,4),0,0,1), decode(bitand(:flag,8),0,0,1), decode
    (bitand(:flag,16),0,0,1), decode(bitand(:flag,32),0,0,1), :t
    ime)
    1,388 3,871 4.53 3665763022
    update sys.col_usage$ set equality_preds = equality_preds
    + decode(bitand(:flag,1),0,0,1), equijoin_preds = equijoi
    n_preds + decode(bitand(:flag,2),0,0,1), nonequijoin_preds
    = nonequijoin_preds + decode(bitand(:flag,4),0,0,1), range_pre
    ds = range_preds + decode(bitand(:flag,8),0,0,1),
    901 901 2.94 2018736380
    select timestamp, flags from fixed_obj$ where obj#=:1
    860 860 2.80 1198893840
    select order#,columns,types from access$ where d_obj#=:1
    860 860 2.80 2062595902
    select owner#,name,namespace,remoteowner,linkname,p_timestamp,p_
    obj#, nvl(property,0),subname,d_attrs from dependency$ d, obj$ o
    where d_obj#=:1 and p_obj#=obj#(+) order by order#
    595 595 1.94 1348827743
    select type#,blocks,extents,minexts,maxexts,extsize,extpct,user#
    ,iniexts,NVL(lists,65535),NVL(groups,65535),cachehint,hwmincr, N
    VL(spare1,0),NVL(scanhint,0) from seg$ where ts#=:1 and file#=:2
    and block#=:3
    515 514 1.68 2803285
    update sys.mon_mods$ set inserts = inserts + :ins, updates = upd
    ates + :upd, deletes = deletes + :del, flags = (decode(bitand(fl
    ags, :flag), :flag, flags, flags + :flag)), drop_segments = drop
    _segments + :dropseg, timestamp = :time where obj# = :objn
    478 478 1.56 336764478
    select /*+ index(idl_char$ i_idl_char1) +*/ piece#,length,piece
    from idl_char$ where obj#=:1 and part=:2 and version=:3 order by
    piece#
    478 478 1.56 386388955
    select /*+ index(idl_ub2$ i_idl_ub21) +*/ piece#,length,piece fr
    om idl_ub2$ where obj#=:1 and part=:2 and version=:3 order by pi
    ece#
    478 478 1.56 986338823
    select /*+ index(idl_ub1$ i_idl_ub11) +*/ piece#,length,piece fr
    om idl_ub1$ where obj#=:1 and part=:2 and version=:3 order by pi
    ece#
    SQL ordered by Parse Calls DB/Inst: ORCL/orcl Snaps: 1-32
    -> End Parse Calls Threshold: 1000 Total Parse Calls: 30,669
    -> Captured SQL accounts for 57.7% of Total Parse Calls
    -> SQL reported below exceeded 1.0% of Total Parse Calls
    % Total Old
    Parse Calls Executions Parses Hash Value
    478 478 1.56 2954231783
    select /*+ index(idl_sb4$ i_idl_sb41) +*/ piece#,length,piece fr
    om idl_sb4$ where obj#=:1 and part=:2 and version=:3 order by pi
    ece#
    469 576 1.53 1206412919
    Module: OEM.SystemPool
    BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
    463 463 1.51 3468666020
    select text from view$ where rowid=:1
    442 442 1.44 4143084494
    select privilege#,level from sysauth$ connect by grantee#=prior
    privilege# and privilege#>0 start with grantee#=:1 and privilege
    #>0
    437 1,003 1.42 1980305124
    select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option$,0),2)
    )from objauth$ where obj#=:1 group by grantee#,privilege#,nvl(co
    l#,0) order by grantee#
    433 999 1.41 204386021
    select col#, grantee#, privilege#,max(mod(nvl(option$,0),2)) fro
    m objauth$ where obj#=:1 and col# is not null group by privilege
    #, col#, grantee# order by col#, grantee#
    429 1,247 1.40 839312984
    select name,intcol#,segcol#,type#,length,nvl(precision#,0),decod
    e(type#,2,nvl(scale,-127/*MAXSB1MINAL*/),178,scale,179,scale,180
    ,scale,181,scale,182,scale,183,scale,231,scale,0),null$,fixedsto
    rage,nvl(deflength,0),default$,rowid,col#,property, nvl(charseti
    d,0),nvl(charsetform,0),spare1,spare2,nvl(spare3,0) from col$ wh
    383 383 1.25 794436051
    Module: OEM.SystemPool
    SELECT INSTANTIABLE, supertype_owner, supertype_name, LOCAL_ATTR
    IBUTES FROM all_types WHERE type_name = :1 AND owner = :2
    320 860 1.04 2065408759
    select con#,obj#,rcon#,enabled,nvl(defer,0) from cdef$ where rob
    j#=:1
    316 860 1.03 1937775682
    select con#,type#,condlength,intcols,robj#,rcon#,match#,refact,n
    vl(enabled,0),rowid,cols,nvl(defer,0),mtime,nvl(spare1,0) from c
    def$ where obj#=:1
    Instance Activity Stats DB/Inst: ORCL/orcl Snaps: 1-32
    Statistic Total per Second per Trans
    CPU used by this session 10,750 0.6 8.8
    CPU used when call started 8,740 0.4 7.2
    CR blocks created 325 0.0 0.3
    DB time 3,594,299 182.8 2,941.3
    DBWR checkpoint buffers written 6,467 0.3 5.3
    DBWR checkpoints 1 0.0 0.0
    DBWR revisited being-written buff 0 0.0 0.0
    DBWR transaction table writes 341 0.0 0.3
    DBWR undo block writes 1,453 0.1 1.2
    IMU CR rollbacks 114 0.0 0.1
    IMU Flushes 5,074 0.3 4.2
    IMU Redo allocation size 654,720 33.3 535.8
    IMU commits 712 0.0 0.6
    IMU contention 1 0.0 0.0
    IMU pool not allocated 3,388 0.2 2.8
    IMU recursive-transaction flush 5 0.0 0.0
    IMU undo allocation size 3,035,144 154.3 2,483.8
    IMU- failed to get a private stra 3,388 0.2 2.8
    SMON posted for undo segment shri 12 0.0 0.0
    SQL*Net roundtrips to/from client 23,321 1.2 19.1
    active txn count during cleanout 322 0.0 0.3
    application wait time 79 0.0 0.1
    background checkpoints completed 1 0.0 0.0
    background checkpoints started 1 0.0 0.0
    background timeouts 51,421 2.6 42.1
    buffer is not pinned count 174,337 8.9 142.7
    buffer is pinned count 50,933 2.6 41.7
    bytes received via SQL*Net from c 2,725,918 138.6 2,230.7
    bytes sent via SQL*Net to client 2,576,029 131.0 2,108.0
    calls to get snapshot scn: kcmgss 116,448 5.9 95.3
    calls to kcmgas 4,353 0.2 3.6
    calls to kcmgcs 358 0.0 0.3
    change write time 22 0.0 0.0
    cleanout - number of ktugct calls 419 0.0 0.3
    cleanouts only - consistent read 66 0.0 0.1
    cluster key scan block gets 16,867 0.9 13.8
    cluster key scans 9,001 0.5 7.4
    commit batch performed 0 0.0 0.0
    commit batch requested 0 0.0 0.0
    commit batch/immediate performed 63 0.0 0.1
    commit batch/immediate requested 63 0.0 0.1
    commit cleanout failures: callbac 42 0.0 0.0
    commit cleanouts 7,347 0.4 6.0
    commit cleanouts successfully com 7,305 0.4 6.0
    commit immediate performed 63 0.0 0.1
    commit immediate requested 63 0.0 0.1
    commit txn count during cleanout 224 0.0 0.2
    concurrency wait time 399 0.0 0.3
    consistent changes 334 0.0 0.3
    consistent gets 319,228 16.2 261.2
    consistent gets - examination 120,857 6.2 98.9
    consistent gets from cache 319,228 16.2 261.2
    cursor authentications 928 0.1 0.8
    data blocks consistent reads - un 334 0.0 0.3
    db block changes 53,514 2.7 43.8
    db block gets 45,926 2.3 37.6
    Instance Activity Stats DB/Inst: ORCL/orcl Snaps: 1-32
    Statistic Total per Second per Trans
    db block gets direct 6 0.0 0.0
    db block gets from cache 45,920 2.3 37.6
    deferred (CURRENT) block cleanout 4,343 0.2 3.6
    dirty buffers inspected 3 0.0 0.0
    enqueue conversions 3,469 0.2 2.8
    enqueue releases 171,287 8.7 140.2
    enqueue requests 171,286 8.7 140.2
    execute count 81,903 4.2 67.0
    free buffer inspected 2,042 0.1 1.7
    free buffer requested 4,152 0.2 3.4
    heap block compress 26 0.0 0.0
    hot buffers moved to head of LRU 2,424 0.1 2.0
    immediate (CR) block cleanout app 66 0.0 0.1
    immediate (CURRENT) block cleanou 1,169 0.1 1.0
    index fast full scans (full) 24 0.0 0.0
    index fetch by key 53,607 2.7 43.9
    index scans kdiixs1 76,910 3.9 62.9
    leaf node 90-10 splits 25 0.0 0.0
    leaf node splits 127 0.0 0.1
    lob reads 299 0.0 0.2
    lob writes 265 0.0 0.2
    lob writes unaligned 265 0.0 0.2
    logons cumulative 208 0.0 0.2
    messages received 5,731 0.3 4.7
    messages sent 5,731 0.3 4.7
    no buffer to keep pinned count 0 0.0 0.0
    no work - consistent read gets 124,209 6.3 101.6
    opened cursors cumulative 42,875 2.2 35.1
    parse count (failures) 1 0.0 0.0
    parse count (hard) 3,843 0.2 3.1
    parse count (total) 30,669 1.6 25.1
    parse time cpu 1,500 0.1 1.2
    parse time elapsed 1,955 0.1 1.6
    physical read IO requests 2,043 0.1 1.7
    physical read bytes 20,725,760 1,053.8 16,960.5
    physical read total IO requests 7,860 0.4 6.4
    physical read total bytes 114,110,464 5,802.1 93,380.1
    physical read total multi block r 163 0.0 0.1
    physical reads 2,530 0.1 2.1
    physical reads cache 2,524 0.1 2.1
    physical reads cache prefetch 487 0.0 0.4
    physical reads direct 6 0.0 0.0
    physical reads direct temporary t 0 0.0 0.0
    physical write IO requests 3,745 0.2 3.1
    physical write bytes 54,067,200 2,749.1 44,244.8
    physical write total IO requests 22,112 1.1 18.1
    physical write total bytes 341,971,968 17,388.1 279,846.1
    physical write total multi block 2,744 0.1 2.3
    physical writes 6,600 0.3 5.4
    physical writes direct 12 0.0 0.0
    physical writes direct (lob) 6 0.0 0.0
    physical writes from cache 6,588 0.3 5.4
    physical writes non checkpoint 3,981 0.2 3.3
    process last non-idle time 17,544 0.9 14.4
    recursive calls 591,275 30.1 483.9
    recursive cpu usage 7,791 0.4 6.4
    Instance Activity Stats DB/Inst: ORCL/orcl Snaps: 1-32
    Statistic Total per Second per Trans
    redo blocks written 25,836 1.3 21.1
    redo buffer allocation retries 1 0.0 0.0
    redo entries 27,110 1.4 22.2
    redo log space requests 3 0.0 0.0
    redo log space wait time 57 0.0 0.1
    redo size 12,324,244 626.7 10,085.3
    redo synch time 3,512 0.2 2.9
    redo synch writes 8,475 0.4 6.9
    redo wastage 589,132 30.0 482.1
    redo write time 4,543 0.2 3.7
    redo writer latching time 2 0.0 0.0
    redo writes 2,080 0.1 1.7
    rollback changes - undo records a 106 0.0 0.1
    rollbacks only - consistent read 325 0.0 0.3
    rows fetched via callback 27,348 1.4 22.4
    session connect time 6 0.0 0.0
    session cursor cache hits 29,153 1.5 23.9
    session logical reads 365,154 18.6 298.8
    session pga memory 78,268,312 3,979.7 64,049.4
    session pga memory max 96,324,768 4,897.8 78,825.5
    session uga memory 262,001,112,732 13,321,864.7 ############
    session uga memory max 116,009,500 5,898.7 94,934.1
    shared hash latch upgrades - no w 65,452 3.3 53.6
    sorts (memory) 18,654 1.0 15.3
    sorts (rows) 183,882 9.4 150.5
    sql area purged 41 0.0 0.0
    summed dirty queue length 49 0.0 0.0
    switch current to new buffer 246 0.0 0.2
    table fetch by rowid 76,818 3.9 62.9
    table fetch continued row 684 0.0 0.6
    table scan blocks gotten 34,161 1.7 28.0
    table scan rows gotten 2,017,936 102.6 1,651.3
    table scans (long tables) 1 0.0 0.0
    table scans (short tables) 3,180 0.2 2.6
    total number of times SMON posted 18 0.0 0.0
    transaction rollbacks 63 0.0 0.1
    undo change vector size 3,993,928 203.1 3,268.4
    user I/O wait time 4,256 0.2 3.5
    user calls 25,832 1.3 21.1
    user commits 1,157 0.1 1.0
    user rollbacks 65 0.0 0.1
    workarea executions - optimal 9,385 0.5 7.7
    write clones created in backgroun 0 0.0 0.0
    write clones created in foregroun 1 0.0 0.0
    Instance Activity Stats DB/Inst: ORCL/orcl Snaps: 1-32
    -> Statistics with absolute values (should not be diffed)
    Statistic Begin Value End Value
    logons current 17 22
    opened cursors current 98 199
    session cursor cache count 168 2,568
    Instance Activity Stats DB/Inst: ORCL/orcl Snaps: 1-32
    -> Statistics identified by '(derived)' come from sources other than SYSSTAT
    Statistic Total per Hour
    log switches (derived) 1 .18
    OS Statistics DB/Inst: ORCL/orcl Snaps: 1-32
    -> ordered by statistic type (CPU use, Virtual Memory, Hardware Config), Name
    Statistic Total
    BUSY_TIME 63,332
    IDLE_TIME 1,548,195
    SYS_TIME 48,954
    USER_TIME 14,378
    VM_IN_BYTES 78,569,472
    VM_OUT_BYTES 22,740,992
    PHYSICAL_MEMORY_BYTES 536,399,872
    NUM_CPUS 1
    Tablespace IO Stats DB/Inst: ORCL/orcl Snaps: 1-32
    ->ordered by IOs (Reads + Writes) desc
    Tablespace
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    SYSTEM
    5,659 0 12.7 1.2 452 0 10 24.0
    SYSAUX
    1,057 0 16.6 1.1 1,217 0 0 0.0
    PERFSTAT
    22 0 30.0 1.0 1,381 0 0 0.0
    UNDOTBS1
    34 0 23.5 1.0 768 0 9 0.0
    EXAMPLE
    8 0 75.0 1.0 2 0 0 0.0
    USERS
    6 0 50.0 1.0 2 0 0 0.0
    File IO Stats DB/Inst: ORCL/orcl Snaps: 1-32
    ->Mx Rd Bkt: Max bucket time for single block read
    ->ordered by Tablespace, File
    Tablespace Filename
    Av Mx Av
    Av Rd Rd Av Av Buffer BufWt
    Reads Reads/s (ms) Bkt Blks/Rd Writes Writes/s Waits (ms)
    EXAMPLE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
    8 0 75.0 32 1.0 2 0 0
    PERFSTAT C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\PERFSTAT.DBF
    22 0 30.0 64 1.0 1,381 0 0
    SYSAUX C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
    1,057 0 16.6 ### 1.1 1,217 0 0
    SYSTEM C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
    5,659 0 12.7 ### 1.2 452 0 10 24.0
    UNDOTBS1 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
    34 0 23.5 32 1.0 768 0 9 0.0
    USERS C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
    6 0 50.0 32 1.0 2 0 0
    File Read Histogram Stats DB/Inst: ORCL/orcl Snaps: 1-32
    ->Number of single block reads in each time range
    ->ordered by Tablespace, File
    Tablespace Filename
    0 - 2 ms 2 - 4 ms 4 - 8 ms 8 - 16 ms 16 - 32 ms 32+ ms
    SYSTEM C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
    326 37 57 155 196 167
    SYSAUX C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
    497 48 35 100 177 98
    USERS C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
    0 0 0 0 1 0
    UNDOTBS1 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
    2 1 0 0 4 0
    EXAMPLE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
    0 0 0 0 1 0
    PERFSTAT C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\PERFSTAT.DBF
    13 1 1 4 1 1
    Buffer Pool Statistics DB/Inst: ORCL/orcl Snaps: 1-32
    -> Standard block size Pools D: default, K: keep, R: recycle
    -> Default Pools for other block sizes: 2k, 4k, 8k, 16k, 32k
    -> Buffers: the number of buffers. Units of K, M, G are divided by 1000
    Free Writ Buffer
    Pool Buffer Physical Physical Buffer Comp Busy
    P Buffers Hit% Gets Reads Writes Waits Wait Waits
    D 8982 99 366,134 2,521 6,588 0 0 15
    Instance Recovery Stats DB/Inst: ORCL/orcl Snaps: 1-32
    -> B: Begin snapshot, E: End snapshot
    Targt Estd Log File Log Ckpt Log Ckpt
    MTTR MTTR Recovery Actual Target Size Timeout Interval
    (s) (s) Estd IOs Redo Blks Redo Blks Redo Blks Redo Blks Redo Blks
    B 0 17 2499 23208 184320 184320
    E 0 14 215 23 2153 184320 2153
    Buffer Pool Advisory DB/Inst: ORCL/orcl End Snap: 32
    -> Only rows with estimated physical reads >0 are displayed
    -> ordered by Pool, Block Size, Buffers For Estimate
    Est
    Phys Estimated Est
    Size for Size Buffers Read Phys Reads Est Phys % dbtime
    P Est (M) Factr (thousands) Factr (thousands) Read Time for Rds
    D 4 .1 0 3.4 28 345 121.1
    D 8 .1 1 2.7 22 265 93.0
    D 12 .2 1 2.5 20 245 86.0
    D 16 .2 2 2.3 19 230 80.7
    D 20 .3 2 2.2 18 212 74.4
    D 24 .3 3 1.8 15 177 62.1
    D 28 .4 3 1.7 14 158 55.4
    D 32 .4 4 1.4 12 131 46.0
    D 36 .5 4 1.3 10 118 41.4
    D 40 .6 5 1.2 10 107 37.5
    D 44 .6 5 1.1 9 104 36.5
    D 48 .7 6 1.1 9 101 35.4
    D 52 .7 6 1.1 9 100 35.1
    D 56 .8 7 1.1 9 98 34.4
    D 60 .8 7 1.1 9 95 33.3
    D 64 .9 8 1.0 9 94 33.0
    D 68 .9 8 1.0 9 94 33.0
    D 72 1.0 9 1.0 8 89 31.2
    D 76 1.1 9 1.0 8 88 30.9
    D 80 1.1 10 1.0 8 87 30.5
    Buffer wait Statistics DB/Inst: ORCL/orcl Snaps: 1-32
    -> ordered by wait time desc, waits desc
    Class Waits Total Wait Time (s) Avg Time (ms)
    data block 6 0 20
    undo header 9 0 0
    PGA Aggr Target Stats DB/Inst: ORCL/orcl Snaps: 1-32
    -> B: Begin snap E: End snap (rows identified with B or E contain data
    which is absolute i.e. not diffed over the interval)
    -> PGA cache hit % - percentage of W/A (WorkArea) data processed only in-memory
    -> Auto PGA Target - actual workarea memory target
    -> W/A PGA Used - amount of memory used for all Workareas (manual + auto)
    -> %PGA W/A Mem - percentage of PGA memory allocated to workareas
    -> %Auto W/A Mem - percentage of workarea memory controlled by Auto Mem Mgmt
    -> %Man W/A Mem - percentage of workarea memory under manual control
    PGA Cache Hit % W/A MB Processed Extra W/A MB Read/Written
    100.0 193 0
    Warning: pga_aggregate_target was set too low for current workload, as this
    value was exceeded during this interval. Use the PGA Advisory view
    to help identify a different value for pga_aggregate_target.
    %PGA %Auto %Man
    PGA Aggr Auto PGA PGA Mem W/A PGA W/A W/A W/A Global Mem
    Target(M) Target(M) Alloc(M) Used(M) Mem Mem Mem Bound(K)
    B 16 4 24.5 0.0 .0 .0 .0 3,276
    E 16 4 29.5 0.0 .0 .0 .0 3,276
    PGA Aggr Target Histogram DB/Inst: ORCL/orcl Snaps: 1-32
    -> Optimal Executions are purely in-memory operations
    Low High
    Optimal Optimal Total Execs Optimal Execs 1-Pass Execs M-Pass Execs
    2K 4K 9,075 9,075 0 0
    64K 128K 27 27 0 0
    512K 1024K 232 232 0 0
    PGA Memory Advisory DB/Inst: ORCL/orcl End Snap: 32
    -> When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value
    where Estd PGA Overalloc Count is 0
    Estd Extra Estd PGA Estd PGA
    PGA Target Size W/A MB W/A MB Read/ Cache Overalloc
    Est (MB) Factr Processed Written to Disk Hit % Count
    12 0.8 211.0 0.0 100.0 1
    16 1.0 211.0 0.0 100.0 1
    19 1.2 211.0 0.0 100.0 1
    22 1.4 211.0 0.0 100.0 0
    26 1.6 211.0 0.0 100.0 0
    29 1.8 211.0 0.0 100.0 0
    32 2.0 211.0 0.0 100.0 0
    48 3.0 211.0 0.0 100.0 0
    64 4.0 211.0 0.0 100.0 0
    96 6.0 211.0 0.0 100.0 0
    128 8.0 211.0 0.0 100.0 0
    Process Memory Summary Stats DB/Inst: ORCL/orcl Snaps: 1-32
    -> B: Begin snap E: End snap
    -> All rows below contain absolute values (i.e. not diffed over the interval)
    -> Max Alloc is Maximum PGA Allocation size at snapshot time
    Hist Max Alloc is the Historical Max Allocation for still-connected processes
    -> Num Procs or Allocs: For Begin/End snapshot lines, it is the number of
    processes. For Category lines, it is the number of allocations
    -> ordered by Begin/End snapshot, Alloc (MB) desc
    Hist Num
    Avg Std Dev Max Max Procs
    Alloc Used Freeabl Alloc Alloc Alloc Alloc or
    Category (MB) (MB) (MB) (MB) (MB) (MB) (MB) Allocs
    B -------- 24.8 12.4 .0 1.3 2.0 9 14 19
    Other 24.1 1.3 2.0 9 10 19
    SQL .6 .3 .1 .0 0 2 9
    PL/SQL .2 .1 .0 .0 0 6 17
    E -------- 29.7 16.1 .0 1.2 1.7 9 14 24
    Other 28.6
    null
    Message was edited by:
    user73673567
    null

    Hi,
    How do I interpret it ...That's a mighty big question. The STATSPACK report is very complex. I have my notes here, on how I do it:
    http://www.dba-oracle.com/t_reading_statspack_report.htm
    And can anyone please suggest measures The way your report is posted, it's very difficult to read!
    I wrote a free tool that will accept your STATYSPACK report and make rudimentary suggestions, you might want to give it a try:
    http://www.statspackanalyzer.com
    Hope this helps. . .
    Donald K. Burleson
    Oracle Press author
    Author of "Oracle Tuning: The Definitive Reference":

  • STATSPACK Performance Question / Discrepancy

    I'm trying to troubleshoot a performance issue and I'm having trouble interpreting the STATSPACK report. It seems like the STATSPACK report is missing information that I expect to be there. I'll explain below.
    Header
    STATSPACK report for
    Database    DB Id    Instance     Inst Num  Startup Time   Release     RAC
    ~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
              2636235846 testdb              1 30-Jan-11 16:10 11.2.0.2.0  NO
    Host Name             Platform                CPUs Cores Sockets   Memory (G)
    ~~~~ ---------------- ---------------------- ----- ----- ------- ------------
         TEST             Microsoft Windows IA (     4     2       0          3.4
    Snapshot       Snap Id     Snap Time      Sessions Curs/Sess Comment
    ~~~~~~~~    ---------- ------------------ -------- --------- ------------------
    Begin Snap:       3427 01-Feb-11 06:40:00       65       4.4
      End Snap:       3428 01-Feb-11 07:00:00       66       4.1
       Elapsed:      20.00 (mins) Av Act Sess:       7.3
       DB time:     146.39 (mins)      DB CPU:       8.27 (mins)
    Cache Sizes            Begin        End
    ~~~~~~~~~~~       ---------- ----------
        Buffer Cache:       192M       176M   Std Block Size:         8K
         Shared Pool:       396M       412M       Log Buffer:    10,848K
    Load Profile              Per Second    Per Transaction    Per Exec    Per Call
    ~~~~~~~~~~~~      ------------------  ----------------- ----------- -----------
          DB time(s):                7.3                2.0        0.06        0.04
           DB CPU(s):                0.4                0.1        0.00        0.00
           Redo size:            6,366.0            1,722.1
       Logical reads:            1,114.6              301.5
       Block changes:               35.8                9.7
      Physical reads:               44.9               12.1
    Physical writes:                1.5                0.4
          User calls:              192.2               52.0
              Parses:              101.5               27.5
         Hard parses:                3.6                1.0
    W/A MB processed:                0.1                0.0
              Logons:                0.1                0.0
            Executes:              115.1               31.1
           Rollbacks:                0.0                0.0
        Transactions:                3.7As you can see a significant amount of time was spent in database calls (DB Time) with relatively little time on CPU (DB CPU). Initially that made me think there were some significant wait events.
    Top 5 Timed Events                                                    Avg %Total
    ~~~~~~~~~~~~~~~~~~                                                   wait   Call
    Event                                            Waits    Time (s)   (ms)   Time
    log file sequential read                        48,166         681     14    7.9
    CPU time                                                       484           5.6
    db file sequential read                         35,357         205      6    2.4
    control file sequential read                    50,747          23      0     .3
    Disk file operations I/O                        16,518          18      1     .2
              -------------------------------------------------------------However, looking at the Top 5 Timed Events I don't see anything out of the ordinary given my normal operations. the log file sequential read may be a little slow but it doesn't make up a significant portion of the execution time.
    Based on an Excel/VB spreadsheet I wrote, which converts STATSPACK data to graphical form, I suspected that there was a wait event not listed here. So I decided to query the data directly. Here is the query and result.
    SQL> SELECT wait_class
      2       , event
      3       , delta/POWER(10,6) AS delta_sec
      4  FROM
      5  (
      6          SELECT syev.snap_id
      7               , evna.wait_class
      8               , syev.event
      9               , syev.time_waited_micro
    10               , syev.time_waited_micro - LAG(syev.time_waited_micro) OVER (PARTITION BY syev.event ORDER BY syev.snap_id) AS delta
    11          FROM   perfstat.stats$system_event syev
    12          JOIN   v$event_name                evna  ON  evna.name     = syev.event
    13          WHERE  syev.snap_id IN (3427,3428)
    14  )
    15  WHERE delta > 0
    16  ORDER BY delta DESC
    17  ;
    ?WAIT_CLASS               EVENT                                                                        DELTA_SEC
    Idle                      SQL*Net message from client                                                  21169.742
    Idle                      rdbms ipc message                                                            19708.390
    Application               enq: TM - contention                                                       7199.819
    Idle                      Space Manager: slave idle wait                                             3001.719
    Idle                      DIAG idle wait                                                             2382.943
    Idle                      jobq slave wait                                                            1258.829
    Idle                      smon timer                                                                 1220.902
    Idle                      Streams AQ: qmn coordinator idle wait                                      1204.648
    Idle                      Streams AQ: qmn slave idle wait                                            1204.637
    Idle                      pmon timer                                                                 1197.898
    Idle                      Streams AQ: waiting for messages in the queue                              1197.484
    Idle                      Streams AQ: waiting for time management or cleanup tasks                    791.803
    System I/O                log file sequential read                                                    681.444
    User I/O                  db file sequential read                                                     204.721
    System I/O                control file sequential read                                                 23.168
    User I/O                  Disk file operations I/O                                                     17.737
    User I/O                  db file parallel read                                                        14.536
    System I/O                log file parallel write                                                       7.618
    Commit                    log file sync                                                                 7.150
    User I/O                  db file scattered read                                                        3.488
    Idle                      SGA: MMAN sleep for component shrink                                          2.461
    User I/O                  direct path read                                                              1.621
    Other                     process diagnostic dump                                                       1.418
    ... snip ...So based on the above it looks like there was a significant amount of time spent in enq: TM - contention
    Question 1
    Why does this wait event not show up in the Top 5 Timed Events section? Note that this wait event is also not listed in any of the other wait events sections either.
    Moving on, I decided to look at the Time Model Statistics
    Time Model System Stats  DB/Inst: testdb  /testdb    Snaps: 3427-3428
    -> Ordered by % of DB time desc, Statistic name
    Statistic                                       Time (s) % DB time
    sql execute elapsed time                         8,731.0      99.4
    PL/SQL execution elapsed time                    1,201.1      13.7
    DB CPU                                             496.3       5.7
    parse time elapsed                                  26.4        .3
    hard parse elapsed time                             21.1        .2
    PL/SQL compilation elapsed time                      2.8        .0
    connection management call elapsed                   0.6        .0
    hard parse (bind mismatch) elapsed                   0.5        .0
    hard parse (sharing criteria) elaps                  0.5        .0
    failed parse elapsed time                            0.0        .0
    repeated bind elapsed time                           0.0        .0
    sequence load elapsed time                           0.0        .0
    DB time                                          8,783.2
    background elapsed time                             87.1
    background cpu time                                  2.4Great, so it looks like I spent >99% of DB Time in SQL calls. I decided to scroll to the SQL ordered by Elapsed time section. The header information surprised me.
    SQL ordered by Elapsed time for DB: testdb    Instance: testdb    Snaps: 3427 -3
    -> Total DB Time (s):           8,783
    -> Captured SQL accounts for    4.1% of Total DB Time
    -> SQL reported below exceeded  1.0% of Total DB TimeIf I'm spending > 99% of my time in SQL, I would have expected the captured % to be higher.
    Question 2
    Am I correct in assuming that a long running SQL that started before the first snap and is still running at the end of the second snap would not display in this section?
    Question 3
    Would that answer my wait event question above? Ala, are wait events not reported until the action that is waiting (execution of a SQL statement for example) is complete?
    So I looked a few snaps past what I have posted here. I still haven't determined why the enq: TM - contention wait is not displayed anywhere in the STATSPACK reports. I did end up finding an interesting PL/SQL block that may have been causing the issues. Here is the SQL ordered by Elapsed time for a snapshot that was taken an hour after the one I posted.
    SQL ordered by Elapsed time for DB: testdb    Instance: testdb    Snaps: 3431 -3
    -> Total DB Time (s):           1,088
    -> Captured SQL accounts for ######% of Total DB Time
    -> SQL reported below exceeded  1.0% of Total DB Time
      Elapsed                Elap per            CPU                        Old
      Time (s)   Executions  Exec (s)  %Total   Time (s)  Physical Reads Hash Value
      26492.65           29     913.54 ######    1539.34             480 1013630726
    Module: OEM.CacheModeWaitPool
    BEGIN EMDW_LOG.set_context(MGMT_JOB_ENGINE.MODULE_NAME, :1); BEG
    IN MGMT_JOB_ENGINE.process_wait_step(:2);END; EMDW_LOG.set_conte
    xt; END;I'm still not sure if this is the problem child or not.
    I just wanted to post this to get your thoughts on how I correctly/incorrectly attacked this problem and to see if you can fill in any gaps in my understanding.
    Thanks!

    Centinul wrote:
    I'm still not sure if this is the problem child or not.
    I just wanted to post this to get your thoughts on how I correctly/incorrectly attacked this problem and to see if you can fill in any gaps in my understanding.
    I think you've attacked the problem well.
    It has prompted me to take a little look at what's going on, running 11.1.0.6 in my case, and something IS broken.
    The key predicate in statspack for reporting top 5 is:
                      and e.total_waits         > nvl(b.total_waits,0)In other words, an event gets reported if total_waits increased across the period.
    So I've been taking snapshots of v$system_event and looking at 10046 trace files at level 8. The basic test was as simple as:
    <ul>
    Session 1: lock table t1 in exclusive mode
    Session 2: lock table t1 in exclusive mode
    </ul>
    About three seconds after session 2 started to wait, v$system_event incremented total_waits (for the "enq: TM - contention" event). When I committed in session 1 the total_waits figure did not change.
    Now do this after waiting across a snapshot:
    We start to wait, after three seconds we record a wait, a few minutes later perfstat takes a snapshot.
    30 minutes later "session 1" commits and our wait ends, but we do not increment total_waits, but we record 30+ minutes wait time.
    30 minutes later perfstat takes another snapshot
    The total_waits has not changed between the start and end snapshot even though we have added 30 minutes to the "enq: TM - contention" in the interim.
    The statspack report loses our 30 minutes from the Top N.
    It's a bug - raise an SR.
    Edit: The AWR will have the same problem, of course.
    Regards
    Jonathan Lewis
    Edited by: Jonathan Lewis on Feb 1, 2011 7:07 PM

  • CPU Time in Load Profile of STATSPACK

    All,
    I need a clarification on how CPU time is calculated...I have done few R&D,but i didn't get clear u'standing,but in SPDOC.txt(%ORACLE_HOME%\rdbms\admin\spdoc.txt ) as explained in below text:
    ===========================================================
    Additionally, instead of the percentage calculation being the % Total
    Wait Time (which is time for each wait event divided by the total wait
    time), the percentage calculation is now the % Total Call Time.
    Call Time is the total time spent in database calls (i.e. the total
    non-idle time spent within the database either on the CPU, or actively
    waiting).
    We compute 'Call Time' by adding the time spent on the CPU ('CPU used by
    this session' statistic) to the time used by all non-idle wait events.
    i.e.
    total call time = total CPU time + total wait time for non-idle events
    The % Total Call Time shown in the 'Top 5' heading on the summary page
    of the report, is the time for each timed event divided by the total call
    time (i.e. non-idle time).
    i.e.
    previously the calculation was:
    time for each wait event / total wait time for all events
    now the calculation is:
    time for each timed event / total call time
    MY STATSPACK REPORT:
    =============================================
    Top 5 Timed Events
    ~~~~~~~~~~~~~~~~~~ % Total
    Event Waits Time (s) Ela Time
    CPU time 2,741 53.50
    db file sequential read 299,449 1,063 20.75
    db file scattered read 69,389 337 6.59
    log file sync 43,220 334 6.53
    log file parallel write 86,222 246 4.81
    What is "total wait time for non-idle events" in the above definition...
    I have good idea on interpreting the Report at basic level...
    Please DONOT treat this as assignment or stuff like that...
    Any help, would be great...
    Regards,
    ~ORA

    The time that you see in this report is a cumulative time for all the sessions that were running on this database, during the snap period.
    What is "total wait time for non-idle events" in the above definition...As you know, not all wait events are idle in nature. F.ex. SQL*Net message from client wait event is idle event (to certain extent) but db file sequential read is not (as CPU needs to generate the address and perform other computation. All such events, where the CPU processing is still needed but is not directly servicing the end user request, contribute to the total time for non-idle events.

  • Statspack HTML reports to Analyze

    Hi Experts,
    I have always used ADDM to interpret the AWR reports.
    Now, we have an environment which is not licensed to use diagnostic pack; so we are collecting statspack reports level 7 periodically;
    Statspack html reports look like AWR reports, but, I sill missed the useful information that ADDM report deliver;
    I would like to know if there is any useful tool FREE that could help me analyze the HTML statpacks reports;
    I found a few but only accept Statspack text format.
    I don't have access to the database server and I only provided the HTML statpacks reports to interpret,
    Thank you

    Statspack in HTML format , sounds interesting , can you tell how to get them.

  • " Can not interpret the data in file " error while uploading the data in DB

    Dear All ,
    After running the below report I am getting the " Can not interpret the data in file " error.
    Need to upload the data in DB through excel or .txt file.
    Kindly advise to resolve the issue.
    REPORT  ZTEST_4.
    data : it like ZPRINT_LOC occurs 0 with header line,
    FILETABLE type table of FILE_TABLE,
    wa_filetable like line of filetable,
    wa_filename type string,
    rc type i.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
    CHANGING
    FILE_TABLE = filetable
    RC = rc.
    IF SY-SUBRC = 0.
    read table filetable into wa_filetable index 1.
    move wa_filetable-FILENAME to wa_filename.
    Else.
    Write: / 'HI'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    start-of-selection.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    FILENAME = wa_filename
    FILETYPE = 'ASC'
    HAS_FIELD_SEPARATOR = 'X'
    TABLES
    DATA_TAB = it.
    IF SY-SUBRC = 0.
    Write: / 'HI'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    insert ZPRINT_LOC from table it.
    if sy-subrc = 0.
    commit work.
    else.
    rollback work.
    endif.
    Regards
    Machindra Patade
    Edited by: Machindra Patade on Apr 9, 2010 1:34 PM

    Dear dedeepya reddy,
    Not able to upload the excel but have sucess to upload the .csv file to db through the below code. Thanks for your advise.
    REPORT  ZTEST_3.
             internal table declaration
    DATA: itab TYPE STANDARD TABLE OF ZPRINT_LOC,
          wa LIKE LINE OF itab,
          wa1 like line of itab.
                       variable  declaration
    DATA: v_excel_string(2000) TYPE c,
           v_file LIKE v_excel_string VALUE    'C:\Documents and Settings\devadm\Desktop\test.csv',  " name of the file
            delimiter TYPE c VALUE ' '.         " delimiter with default value space
         read the file from the application server
      OPEN DATASET v_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    IF sy-subrc NE 0.
    write:/ 'error opening file'.
      ELSE.
        WHILE ( sy-subrc EQ 0 ).
          READ DATASET v_file INTO wa.
          IF NOT wa IS INITIAL.
            append wa TO itab.
          ENDIF.
          CLEAR wa.
        ENDWHILE.
      ENDIF.
    CLOSE DATASET v_file.
    EXEC SQL.
         TRUNCATE TABLE "ZPRINT_LOC"
    ENDEXEC.
    *------display the data from the internal table
    LOOP AT itab into wa1.
    WRITE:/ wa1-mandt,wa1-zloc_code,wa1-zloc_desc,wa1-zloc,wa1-zstate.
    ENDLOOP.
    insert ZPRINT_LOC from table itab.

  • Package.......StatsPack...Error..

    Hi.. i m tuning my Oracle Database, for that i need to install Statspack package, when i compiled package... it returned following error.
    Warning: Package Body created with compilation errors.
    SQL> show error
    Errors for PACKAGE BODY STATSPACK:
    LINE/COL ERROR
    2045/3 PLS-00201: identifier 'SYS.DBMS_SHARED_POOL' must be declared
    2045/3 PL/SQL: Statement ignored
    HOw to solve above error..Please check the following Package, and do help me.
    Note: I m connected perfstat user, no as SYS user.
    create or replace package body STATSPACK as
    /* Define package variables.
    Variables prefixed with p_ are package variables.
    p_snap_id integer; /* snapshot id */
    p_instance_number number; /* instance number */
    p_instance_name varchar2(16); /* instance name */
    p_startup_time date; /* instance startup time */
    p_parallel varchar2(3); /* parallel server */
    p_version varchar2(17); /* Oracle release */
    p_dbid number; /* database id */
    p_host_name varchar2(64); /* host instance is on */
    p_name varchar2(9); /* database name */
    p_new_sga integer; /* Instance bounced since last snap? */
    tmp_int integer; /* initialise defaults */
    p_def_snap_level number default 5; /* default snapshot lvl */
    p_def_session_id number default 0; /* default session id */
    p_def_ucomment varchar2(160) default null;
    p_def_pin_statspack varchar2(10) default 'TRUE';
    p_def_last_modified date default SYSDATE;
    /* Below are the default threshold (_th) values for choosing SQL statements
    to store in the stats$sqlsummary table - these statements will typically
    be the statements using the most resources.
    p_def_num_sql number default 50; /* Num. SQL statements */
    p_def_executions_th number default 100; /* Num. executions */
    p_def_parse_calls_th number default 1000; /* Num. parse calls */
    p_def_disk_reads_th number default 1000; /* Num. disk reads */
    p_def_buffer_gets_th number default 10000; /* Num. buf gets */
    p_def_sharable_mem_th number default 1048576; /* Sharable memory */
    p_def_version_count_th number default 20; /* Child Cursors */
    p_def_all_init varchar2(10) default 'FALSE';
    cursor get_instance is
    select instance_number, instance_name
    , startup_time, parallel, version
    , host_name
    from v$instance;
    cursor get_db is
    select dbid, name
    from v$database;
    procedure SNAP
    (i_snap_level in number default null
    ,i_session_id in number default null
    ,i_ucomment in varchar2 default null
    ,i_num_sql in number default null
    ,i_executions_th in number default null
    ,i_parse_calls_th in number default null
    ,i_disk_reads_th in number default null
    ,i_buffer_gets_th in number default null
    ,i_sharable_mem_th in number default null
    ,i_version_count_th in number default null
    ,i_all_init in varchar2 default null
    ,i_pin_statspack in varchar2 default null
    ,i_modify_parameter in varchar2 default 'FALSE'
    is
    /* Takes a snapshot by calling the SNAP function, and discards
    the snapshot id. This is useful when automating taking
    snapshots from dbms_job
    l_snap_id number;
    begin
    l_snap_id := statspack.snap ( i_snap_level, i_session_id, i_ucomment
    , i_num_sql
    , i_executions_th
    , i_parse_calls_th
    , i_disk_reads_th
    , i_buffer_gets_th
    , i_sharable_mem_th
    , i_version_count_th
    , i_all_init
    , i_pin_statspack
    , i_modify_parameter);
    end SNAP;
    procedure MODIFY_STATSPACK_PARAMETER
    ( i_dbid in number default null
    , i_instance_number in number default null
    , i_snap_level in number default null
    , i_session_id in number default null
    , i_ucomment in varchar2 default null
    , i_num_sql in number default null
    , i_executions_th in number default null
    , i_parse_calls_th in number default null
    , i_disk_reads_th in number default null
    , i_buffer_gets_th in number default null
    , i_sharable_mem_th in number default null
    , i_version_count_th in number default null
    , i_all_init in varchar2 default null
    , i_pin_statspack in varchar2 default null
    , i_modify_parameter in varchar2 default 'TRUE'
    is
    /* Calls QAM with the modify flag, and discards the
    output variables
    l_snap_level number;
    l_session_id number;
    l_ucomment varchar2(160);
    l_num_sql number;
    l_executions_th number;
    l_parse_calls_th number;
    l_disk_reads_th number;
    l_buffer_gets_th number;
    l_sharable_mem_th number;
    l_version_count_th number;
    l_all_init varchar2(5);
    l_pin_statspack varchar2(10);
    begin
    statspack.qam_statspack_parameter( i_dbid
    , i_instance_number
    , i_snap_level
    , i_session_id
    , i_ucomment
    , i_num_sql
    , i_executions_th
    , i_parse_calls_th
    , i_disk_reads_th
    , i_buffer_gets_th
    , i_sharable_mem_th
    , i_version_count_th
    , i_all_init
    , i_pin_statspack
    , 'TRUE'
    , l_snap_level
    , l_session_id
    , l_ucomment
    , l_num_sql
    , l_executions_th
    , l_parse_calls_th
    , l_disk_reads_th
    , l_buffer_gets_th
    , l_sharable_mem_th
    , l_version_count_th
    , l_all_init
    , l_pin_statspack);
    /* As we have explicity been requested to change the parameters,
    independently of taking a snapshot, commit
    commit;
    end MODIFY_STATSPACK_PARAMETER;
    procedure QAM_STATSPACK_PARAMETER
    ( i_dbid in number default null
    , i_instance_number in number default null
    , i_snap_level in number default null
    , i_session_id in number default null
    , i_ucomment in varchar2 default null
    , i_num_sql in number default null
    , i_executions_th in number default null
    , i_parse_calls_th in number default null
    , i_disk_reads_th in number default null
    , i_buffer_gets_th in number default null
    , i_sharable_mem_th in number default null
    , i_version_count_th in number default null
    , i_all_init in varchar2 default null
    , i_pin_statspack in varchar2 default null
    , i_modify_parameter in varchar2 default 'FALSE'
    , o_snap_level out number
    , o_session_id out number
    , o_ucomment out varchar2
    , o_num_sql out number
    , o_executions_th out number
    , o_parse_calls_th out number
    , o_disk_reads_th out number
    , o_buffer_gets_th out number
    , o_sharable_mem_th out number
    , o_version_count_th out number
    , o_all_init out varchar2
    , o_pin_statspack out varchar2
    is
    /* Query And Modify statspack parameter procedure, allows query
    and/or user modification of the statistics collection parameters
    for an instance. If there are no pre-existing parameters for
    an instance, insert the Oracle defaults.
    l_instance_number number;
    l_dbid number;
    ui_all_init varchar2(5);
    l_params_exist varchar2(1);
    begin
    if ((i_dbid is null ) or (i_instance_number is null)) then
    l_dbid := p_dbid;
    l_instance_number := p_instance_number;
    else
    l_dbid := i_dbid;
    l_instance_number := i_instance_number;
    end if;
    /* Upper case any input vars which are inserted */
    ui_all_init := upper(i_all_init);
    if ( (i_modify_parameter is null)
    or (upper(i_modify_parameter) = 'FALSE') ) then
    /* Query values, if none exist, insert the defaults tempered
    with variables supplied */
    begin
    select nvl(i_session_id, session_id)
    , nvl(i_snap_level, snap_level)
    , nvl(i_ucomment, ucomment)
    , nvl(i_num_sql, num_sql)
    , nvl(i_executions_th, executions_th)
    , nvl(i_parse_calls_th, parse_calls_th)
    , nvl(i_disk_reads_th, disk_reads_th)
    , nvl(i_buffer_gets_th, buffer_gets_th)
    , nvl(i_sharable_mem_th, sharable_mem_th)
    , nvl(i_version_count_th, version_count_th)
    , nvl(ui_all_init, all_init)
    , nvl(i_pin_statspack, pin_statspack)
    into o_session_id
    , o_snap_level
    , o_ucomment
    , o_num_sql
    , o_executions_th
    , o_parse_calls_th
    , o_disk_reads_th
    , o_buffer_gets_th
    , o_sharable_mem_th
    , o_version_count_th
    , o_all_init
    , o_pin_statspack
    from stats$statspack_parameter
    where instance_number = l_instance_number
    and dbid = l_dbid;
    exception
    when NO_DATA_FOUND then
    insert into stats$statspack_parameter
    ( dbid
    , instance_number
    , session_id
    , snap_level
    , ucomment
    , num_sql
    , executions_th
    , parse_calls_th
    , disk_reads_th
    , buffer_gets_th
    , sharable_mem_th
    , version_count_th
    , all_init
    , pin_statspack
    , last_modified
    values
    ( l_dbid
    , l_instance_number
    , p_def_session_id
    , p_def_snap_level
    , p_def_ucomment
    , p_def_num_sql
    , p_def_executions_th
    , p_def_parse_calls_th
    , p_def_disk_reads_th
    , p_def_buffer_gets_th
    , p_def_sharable_mem_th
    , p_def_version_count_th
    , p_def_all_init
    , p_def_pin_statspack
    , SYSDATE
    returning nvl(i_session_id, p_def_session_id)
    , nvl(i_snap_level, p_def_snap_level)
    , nvl(i_ucomment, p_def_ucomment)
    , nvl(i_num_sql, p_def_num_sql)
    , nvl(i_executions_th, p_def_executions_th)
    , nvl(i_parse_calls_th, p_def_parse_calls_th)
    , nvl(i_disk_reads_th, p_def_disk_reads_th)
    , nvl(i_buffer_gets_th, p_def_buffer_gets_th)
    , nvl(i_sharable_mem_th, p_def_sharable_mem_th)
    , nvl(i_version_count_th, p_def_version_count_th)
    , nvl(ui_all_init, p_def_all_init)
    , nvl(i_pin_statspack, p_def_pin_statspack)
    into o_session_id
    , o_snap_level
    , o_ucomment
    , o_num_sql
    , o_executions_th
    , o_parse_calls_th
    , o_disk_reads_th
    , o_buffer_gets_th
    , o_sharable_mem_th
    , o_version_count_th
    , o_all_init
    , o_pin_statspack;
    end; /* don't modify parameter values */
    elsif upper(i_modify_parameter) = 'TRUE' then
    /* modify values, if none exist, insert the defaults tempered
    with the variables supplied */
    begin
    update stats$statspack_parameter
    set session_id = nvl(i_session_id, session_id)
    , snap_level = nvl(i_snap_level, snap_level)
    , ucomment = nvl(i_ucomment, ucomment)
    , num_sql = nvl(i_num_sql, num_sql)
    , executions_th = nvl(i_executions_th, executions_th)
    , parse_calls_th = nvl(i_parse_calls_th, parse_calls_th)
    , disk_reads_th = nvl(i_disk_reads_th, disk_reads_th)
    , buffer_gets_th = nvl(i_buffer_gets_th, buffer_gets_th)
    , sharable_mem_th = nvl(i_sharable_mem_th, sharable_mem_th)
    , version_count_th = nvl(i_version_count_th, version_count_th)
    , all_init = nvl(ui_all_init, all_init)
    , pin_statspack = nvl(i_pin_statspack, pin_statspack)
    where instance_number = l_instance_number
    and dbid = l_dbid
    returning session_id
    , snap_level
    , ucomment
    , num_sql
    , executions_th
    , parse_calls_th
    , disk_reads_th
    , buffer_gets_th
    , sharable_mem_th
    , version_count_th
    , all_init
    , pin_statspack
    into o_session_id
    , o_snap_level
    , o_ucomment
    , o_num_sql
    , o_executions_th
    , o_parse_calls_th
    , o_disk_reads_th
    , o_buffer_gets_th
    , o_sharable_mem_th
    , o_version_count_th
    , o_all_init
    , o_pin_statspack;
    if SQL%ROWCOUNT = 0 then
    insert into stats$statspack_parameter
    ( dbid
    , instance_number
    , session_id
    , snap_level
    , ucomment
    , num_sql
    , executions_th
    , parse_calls_th
    , disk_reads_th
    , buffer_gets_th
    , sharable_mem_th
    , version_count_th
    , all_init
    , pin_statspack
    , last_modified
    values
    ( l_dbid
    , l_instance_number
    , nvl(i_session_id, p_def_session_id)
    , nvl(i_snap_level, p_def_snap_level)
    , nvl(i_ucomment, p_def_ucomment)
    , nvl(i_num_sql, p_def_num_sql)
    , nvl(i_executions_th, p_def_executions_th)
    , nvl(i_parse_calls_th, p_def_parse_calls_th)
    , nvl(i_disk_reads_th, p_def_disk_reads_th)
    , nvl(i_buffer_gets_th, p_def_buffer_gets_th)
    , nvl(i_sharable_mem_th, p_def_sharable_mem_th)
    , nvl(i_version_count_th, p_def_version_count_th)
    , nvl(ui_all_init, p_def_all_init)
    , nvl(i_pin_statspack, p_def_pin_statspack)
    , SYSDATE
    returning session_id
    , snap_level
    , ucomment
    , num_sql
    , executions_th
    , parse_calls_th
    , disk_reads_th
    , buffer_gets_th
    , sharable_mem_th
    , version_count_th
    , all_init
    , pin_statspack
    into o_session_id
    , o_snap_level
    , o_ucomment
    , o_num_sql
    , o_executions_th
    , o_parse_calls_th
    , o_disk_reads_th
    , o_buffer_gets_th
    , o_sharable_mem_th
    , o_version_count_th
    , o_all_init
    , o_pin_statspack;
    end if;
    end; /* modify values */
    else
    /* error */
    raise_application_error
    (-20100,'QAM_STATSPACK_PARAMETER i_modify_parameter value is invalid');
    end if; /* modify */
    end QAM_STATSPACK_PARAMETER;
    procedure STAT_CHANGES
    /* Returns a set of differences of the values from corresponding pairs
    of rows in STATS$SYSSTAT, STATS$LIBRARYCACHE and STATS$WAITSTAT,
    based on the begin and end (bid, eid) snapshot id's specified.
    This procedure is the only call to STATSPACK made by the statsrep
    report.
    Modified to include multi-db support.
    ( bid IN number
    , eid IN number
    , db_ident IN number
    , inst_num IN number
    , parallel IN varchar2
    , lhtr OUT number, bfwt OUT number
    , tran OUT number, chng OUT number
    , ucal OUT number, urol OUT number
    , rsiz OUT number
    , phyr OUT number, phyrd OUT number
    , phyrdl OUT number
    , phyw OUT number, ucom OUT number
    , prse OUT number, hprse OUT number
    , recr OUT number, gets OUT number
    , rlsr OUT number, rent OUT number
    , srtm OUT number, srtd OUT number
    , srtr OUT number, strn OUT number
    , lhr OUT number, bc OUT varchar2
    , sp OUT varchar2, lb OUT varchar2
    , bs OUT varchar2, twt OUT number
    , logc OUT number, prscpu OUT number
    , tcpu OUT number, exe OUT number
    , prsela OUT number
    , bspm OUT number, espm OUT number
    , bfrm OUT number, efrm OUT number
    , blog OUT number, elog OUT number
    , bocur OUT number, eocur OUT number
    , dmsd OUT number, dmfc OUT number -- begin OPS
    , dfcms OUT number, dfcmr OUT number
    , dmsi OUT number, dmrv OUT number
    , dynal OUT number, dynares OUT number
    , pmrv OUT number, pmpt OUT number
    , npmrv OUT number, npmpt OUT number
    , scma OUT number, scml OUT number
    , pinc OUT number, picrnc OUT number
    , picc OUT number, picrcc OUT number
    , pbc OUT number, pbcrc OUT number
    , pcba OUT number, pccrba OUT number
    , pcrbpi OUT number
    , dynapres OUT number, dynapshl OUT number
    , prcma OUT number, prcml OUT number
    , pwrm OUT number, pfpim OUT number
    , pwnm OUT number
    , dpms OUT number, dnpms OUT number
    , glsg OUT number, glag OUT number
    , glgt OUT number, glsc OUT number
    , glac OUT number, glct OUT number
    , glrl OUT number
    , gcge OUT number, gcgt OUT number
    , gccv OUT number, gcct OUT number
    , gccrrv OUT number, gccrrt OUT number
    , gccurv OUT number, gccurt OUT number
    , gccrsv OUT number
    , gccrbt OUT number, gccrft OUT number
    , gccrst OUT number, gccusv OUT number
    , gccupt OUT number, gccuft OUT number
    , gccust OUT number -- end OPS
    ) is
    bval number;
    eval number;
    l_b_session_id number; /* begin session id */
    l_b_serial# number; /* begin serial# */
    l_e_session_id number; /* end session id */
    l_e_serial# number; /* end serial# */
    function LIBRARYCACHE_HITRATIO RETURN number is
    /* Returns Library cache hit ratio for the begin and end (bid, eid)
    snapshot id's specified
    cursor LH (i_snap_id number) is
    select sum(pins), sum(pinhits)
    from stats$librarycache
    where snap_id = i_snap_id
    and dbid = db_ident
    and instance_number = inst_num;
    bpsum number;
    bhsum number;
    epsum number;
    ehsum number;
    begin
    if not LH%ISOPEN then open LH (bid); end if;
    fetch LH into bpsum, bhsum;
    if LH%NOTFOUND then
    raise_application_error
    (-20100,'Missing start value for stats$librarycache');
    end if; close LH;
    if not LH%ISOPEN then open LH (eid); end if;
    fetch LH into epsum, ehsum;
    if LH%NOTFOUND then
    raise_application_error
    (-20100,'Missing end value for stats$librarycache');
    end if; close LH;
    return (ehsum - bhsum) / (epsum - bpsum);
    end LIBRARYCACHE_HITRATIO;
    function GET_PARAM (i_name varchar2) RETURN varchar2 is
    /* Returns the value for the init.ora parameter for the snapshot
    specified.
    cursor PARAMETER is
    select value
    from stats$parameter
    where snap_id = eid
    and dbid = db_ident
    and instance_number = inst_num
    and name = i_name;
    par_value varchar2(512);
    begin
    if not PARAMETER%ISOPEN then open PARAMETER; end if;
    fetch PARAMETER into par_value;
    if PARAMETER%NOTFOUND then
    raise_application_error
    (-20100,'Missing Init.ora parameter '|| i_name);
    end if; close PARAMETER;
    return par_value;
    end GET_PARAM;
    function GET_SYSSTAT (i_name varchar2, i_beid number) RETURN number is
    /* Returns the value for the System Statistic for the snapshot
    specified.
    cursor SYSSTAT is
    select value
    from stats$sysstat
    where snap_id = i_beid
    and dbid = db_ident
    and instance_number = inst_num
    and name = i_name;
    stat_value varchar2(512);
    begin
    if not SYSSTAT%ISOPEN then open SYSSTAT; end if;
    fetch SYSSTAT into stat_value;
    if SYSSTAT%NOTFOUND then
    raise_application_error
    (-20100,'Missing System Statistic '|| i_name);
    end if; close SYSSTAT;
    return stat_value;
    end GET_SYSSTAT;
    function BUFFER_WAITS RETURN number is
    /* Returns the total number of waits for all buffers in the interval
    specified by the begin and end snapshot id's (bid, eid)
    cursor BW (i_snap_id number) is
    select sum(wait_count)
    from stats$waitstat
    where snap_id = i_snap_id
    and dbid = db_ident
    and instance_number = inst_num;
    bbwsum number; ebwsum number;
    begin
    if not BW%ISOPEN then open BW (bid); end if;
    fetch BW into bbwsum;
    if BW%NOTFOUND then
    raise_application_error
    (-20100,'Missing start value for stats$waitstat');
    end if; close BW;
    if not BW%ISOPEN then open BW (eid); end if;
    fetch BW into ebwsum;
    if BW%NOTFOUND then
    raise_application_error
    (-20100,'Missing end value for stats$waitstat');
    end if; close BW;
    return ebwsum - bbwsum;
    end BUFFER_WAITS;
    function TOTAL_EVENT_TIME RETURN number is
    /* Returns the total amount of time waited for events for
    the interval specified by the begin and end snapshot id's
    (bid, eid) by foreground processes. This excludes idle
    wait events.
    cursor WAITS (i_snap_id number) is
    select sum(time_waited_micro)
    from stats$system_event
    where snap_id = i_snap_id
    and dbid = db_ident
    and instance_number = inst_num
    and event not in (select event from stats$idle_event);
    bwaittime number;
    ewaittime number;
    begin
    if not WAITS%ISOPEN then open WAITS (bid); end if;
    fetch WAITS into bwaittime;
    if WAITS%NOTFOUND then
    raise_application_error
    (-20100,'Missing start value for stats$system_event');
    end if; close WAITS;
    if not WAITS%ISOPEN then open WAITS (eid); end if;
    fetch WAITS into ewaittime;
    if WAITS%NOTFOUND then
    raise_application_error
    (-20100,'Missing end value for stats$system_event');
    end if; close WAITS;
    return ewaittime - bwaittime;
    end TOTAL_EVENT_TIME;
    function LATCH_HITRATIO return NUMBER is
    /* Returns the latch hit ratio specified by the begin and
    end snapshot id's (bid, eid)
    cursor GETS_MISSES (i_snap_id number) is
    select sum(gets), sum(misses)
    from stats$latch
    where snap_id = i_snap_id
    and dbid = db_ident
    and instance_number = inst_num;
    blget number; -- beginning latch gets
    blmis number; -- beginning latch misses
    elget number; -- end latch gets
    elmis number; -- end latch misses
    begin
    if not GETS_MISSES%ISOPEN then open GETS_MISSES (bid); end if;
    fetch GETS_MISSES into blget, blmis;
    if GETS_MISSES%NOTFOUND then
    raise_application_error
    (-20100,'Missing start value for STATS$LATCH gets and misses');
    end if; close GETS_MISSES;
    if not GETS_MISSES%ISOPEN then open GETS_MISSES (eid); end if;
    fetch GETS_MISSES into elget, elmis;
    if GETS_MISSES%NOTFOUND then
    raise_application_error
    (-20100,'Missing end value for STATS$LATCH gets and misses');
    end if; close GETS_MISSES;
    return ( ( elmis - blmis ) / ( elget - blget ) );
    end LATCH_HITRATIO;
    function SGASTAT (i_name varchar2, i_beid number) RETURN number is
    /* Returns the bytes used by i_name in the shared pool
    for the begin or end snapshot (bid, eid) specified
    cursor bytes_used is
    select bytes
    from stats$sgastat
    where snap_id = i_beid
    and dbid = db_ident
    and instance_number = inst_num
    and pool in ('shared pool', 'all pools')
    and name = i_name;
    total_bytes number;
    begin
    if i_name = 'total_shared_pool' then
    select sum(bytes)
    into total_bytes
    from stats$sgastat
    where snap_id = i_beid
    and dbid = db_ident
    and instance_number = inst_num
    and pool in ('shared pool','all pools');
    else
    open bytes_used; fetch bytes_used into total_bytes;
    if bytes_used%notfound then
    raise_application_error
    (-20100,'Missing value for SGASTAT: '||i_name);
    end if;
    close bytes_used;
    end if;
    return total_bytes;
    end SGASTAT;
    function SYSDIF (i_name varchar2) RETURN number is
    /* Returns the difference between statistics for the statistic
    name specified for the interval between the begin and end
    snapshot id's (bid, eid)
    cursor SY (i_snap_id number) is
    select value
    from stats$sysstat
    where snap_id = i_snap_id
    and dbid = db_ident
    and instance_number = inst_num
    and name = i_name;
    begin
    /* Get start value */
    open SY (bid); fetch SY into bval;
    if SY%notfound then
    raise_application_error
    (-20100,'Missing start value for statistic: '||i_name);
    end if; close SY;
    /* Get end value */
    open SY (eid); fetch SY into eval;
    if SY%notfound then
    raise_application_error
    (-20100,'Missing end value for statistic: '||i_name);
    end if; close SY;
    /* Return difference */
    return eval - bval;
    end SYSDIF;
    function SESDIF (st_name varchar2) RETURN number is
    /* Returns the difference between statistics values for the
    statistic name specified for the interval between the begin and end
    snapshot id's (bid, eid), for the session monitored for that
    snapshot
    cursor SE (i_snap_id number) is
    select ses.value
    from stats$sysstat sys
    , stats$sesstat ses
    where sys.snap_id = i_snap_id
    and ses.snap_id = i_snap_id
    and ses.dbid = db_ident
    and sys.dbid = db_ident
    and ses.instance_number = inst_num
    and sys.instance_number = inst_num
    and ses.statistic# = sys.statistic#
    and sys.name = st_name;
    begin
    /* Get start value */
    open SE (bid); fetch SE into bval;
    if SE%notfound then
    eval :=0;
    end if; close SE;
    /* Get end value */
    open SE (eid); fetch SE into eval;
    if SE%notfound then
    eval :=0;
    end if; close SE;
    /* Return difference */
    return eval - bval;
    end SESDIF;
    function DLMDIF (i_name varchar2) RETURN number is
    /* Returns the difference between statistics for the statistic
    name specified for the interval between the begin and end
    snapshot id's (bid, eid)
    cursor DLM (i_snap_id number) is
    select value
    from stats$dlm_misc
    where snap_id = i_snap_id
    and dbid = db_ident
    and instance_number = inst_num
    and name = i_name;
    begin
    /* Get start value */
    open DLM (bid); fetch DLM into bval;
    if DLM%notfound then
    raise_application_error
    (-20100,'Missing start value for statistic: '||i_name);
    end if; close DLM;
    /* Get end value */
    open DLM (eid); fetch DLM into eval;
    if DLM%notfound then
    raise_application_error
    (-20100,'Missing end value for statistic: '||i_name);
    end if; close DLM;
    /* Return difference */
    return eval - bval;
    end DLMDIF;
    begin /* main procedure body of STAT_CHANGES */
    lhtr := LIBRARYCACHE_HITRATIO;
    bfwt := BUFFER_WAITS;
    lhr := LATCH_HITRATIO;
    chng := SYSDIF('db block changes');
    ucal := SYSDIF('user calls');
    urol := SYSDIF('user rollbacks');
    ucom := SYSDIF('user commits');
    tran := ucom + urol;
    rsiz := SYSDIF('redo size');
    phyr := SYSDIF('physical reads');
    phyrd := SYSDIF('physical reads direct');
    phyrdl := SYSDIF('physical reads direct (lob)');
    phyw := SYSDIF('physical writes');
    hprse := SYSDIF('parse count (hard)');
    prse := SYSDIF('parse count (total)');
    gets := SYSDIF('session logical reads');
    recr := SYSDIF('recursive calls');
    rlsr := SYSDIF('redo log space requests');
    rent := SYSDIF('redo entries');
    srtm := SYSDIF('sorts (memory)');
    srtd := SYSDIF('sorts (disk)');
    srtr := SYSDIF('sorts (rows)');
    logc := SYSDIF('logons cumulative');
    prscpu := SYSDIF('parse time cpu');
    prsela := SYSDIF('parse time elapsed');
    tcpu := SYSDIF('CPU used by this session');
    exe := SYSDIF('execute count');
    bs := GET_PARAM('db_block_size');
    bc := GET_PARAM('db_block_buffers') * bs;
    if bc = 0 then
    bc := GET_PARAM('db_cache_size')
    + GET_PARAM('db_keep_cache_size')
    + GET_PARAM('db_recycle_cache_size')
    + GET_PARAM('db_2k_cache_size')
    + GET_PARAM('db_4k_cache_size')
    + GET_PARAM('db_8k_cache_size')
    + GET_PARAM('db_16k_cache_size')
    + GET_PARAM('db_32k_cache_size');
    end if;
    sp := GET_PARAM('shared_pool_size');
    lb := GET_PARAM('log_buffer');
    twt := TOTAL_EVENT_TIME; -- total wait time for all non-idle events
    bspm := SGASTAT('total_shared_pool', bid);
    espm := SGASTAT('total_shared_pool', eid);
    bfrm := SGASTAT('free memory', bid);
    efrm := SGASTAT('free memory', eid);
    blog := GET_SYSSTAT('logons current', bid);
    elog := GET_SYSSTAT('logons current', eid);
    bocur := GET_SYSSTAT('opened cursors current', bid);
    eocur := GET_SYSSTAT('opened cursors current', eid);
    /* Do we want to report on cluster-specific statistics? Check
    in procedure variable "parallel".
    if parallel = 'YES' then
    dmsd := DLMDIF('messages sent directly');
    dmfc := DLMDIF('messages flow controlled');
    dmsi := DLMDIF('messages sent indirectly');
    dmrv := DLMDIF('messages received');
    dfcms := DLMDIF('flow control messages sent');
    dfcmr := DLMDIF('flow control messages received');
    dynal := DLMDIF('dynamically allocated enqueues');
    dynares := DLMDIF('dynamically allocated resources');
    pmrv := DLMDIF('gcs msgs received');
    pmpt := DLMDIF('gcs msgs process time(ms)');
    npmrv := DLMDIF('ges msgs received');
    npmpt := DLMDIF('ges msgs process time(ms)');
    scma := DLMDIF('gcs side channel msgs actual');
    scml := DLMDIF('gcs side channel msgs logical');
    pinc := DLMDIF('gcs immediate (null) converts');
    picrnc := DLMDIF('gcs immediate cr (null) converts');
    picc := DLMDIF('gcs immediate (compatible) converts');
    picrcc := DLMDIF('gcs immediate cr (compatible) converts');
    pbc := DLMDIF('gcs blocked converts');
    pbcrc := DLMDIF('gcs blocked cr converts');
    pcba := DLMDIF('gcs compatible basts');
    pccrba := DLMDIF('gcs compatible cr basts');
    pcrbpi := DLMDIF('gcs cr basts to PIs');
    dynapres := DLMDIF('dynamically allocated gcs resources');
    dynapshl := DLMDIF('dynamically allocated gcs shadows');
    prcma := DLMDIF('gcs recovery claim msgs actual');
    prcml := DLMDIF('gcs recovery claim msgs logical');
    pwrm := DLMDIF('gcs write request msgs');
    pfpim := DLMDIF('gcs flush pi msgs');
    pwnm := DLMDIF('gcs write notification msgs');
    dpms := SYSDIF('gcs messages sent');
    dnpms := SYSDIF('ges messages sent');
    glsg := SYSDIF('global lock sync gets');
    glag := SYSDIF('global lock async gets');
    glgt := SYSDIF('global lock get time');
    glsc := SYSDIF('global lock sync converts');
    glac := SYSDIF('global lock async converts');
    glct := SYSDIF('global lock convert time');
    glrl := SYSDIF('global lock releases');
    gcge := SYSDIF('global cache gets');
    gcgt := SYSDIF('global cache get time');
    gccv := SYSDIF('global cache converts');
    gcct := SYSDIF('global cache convert time');
    gccrrv := SYSDIF('global cache cr blocks received');
    gccrrt := SYSDIF('global cache cr block receive time');
    gccurv := SYSDIF('global cache current blocks received');
    gccurt := SYSDIF('global cache current block receive time');
    gccrsv := SYSDIF('global cache cr blocks served');
    gccrbt := SYSDIF('global cache cr block build time');
    gccrft := SYSDIF('global cache cr block flush time');
    gccrst := SYSDIF('global cache cr block send time');
    gccusv := SYSDIF('global cache current blocks served');
    gccupt := SYSDIF('global cache current block pin time');
    gccuft := SYSDIF('global cache current block flush time');
    gccust := SYSDIF('global cache current block send time');
    end if;
    /* Determine if we want to report on session-specific statistics.
    Check that the session is the same one for both snapshots.
    select session_id
    , serial#
    into l_b_session_id
    , l_b_serial#
    from stats$snapshot
    where snap_id = bid
    and dbid = db_ident
    and instance_number = inst_num;
    select session_id
    , serial#
    into l_e_session_id
    , l_e_serial#
    from stats$snapshot
    where snap_id = eid
    and dbid = db_ident
    and instance_number = inst_num;
    if ( (l_b_session_id = l_e_session_id)
    and (l_b_serial# = l_e_serial#)
    and (l_b_session_id != 0) ) then
    /* we have a valid comparison - it is the
    same session - get number of tx performed
    by this session */
    strn := SESDIF('user rollbacks') + SESDIF('user commits');
    if strn = 0 then
    /* No new transactions */
    strn := 1;
    end if;
    else
    /* No valid comparison can be made */
    strn :=1;
    end if;
    end STAT_CHANGES;
    function SNAP
    (i_snap_level in number default null
    ,i_session_id in number default null
    ,i_ucomment in varchar2 default null
    ,i_num_sql in number default null
    ,i_executions_th in number default null
    ,i_parse_calls_th in number default null
    ,i_disk_reads_th in number default null
    ,i_buffer_gets_th in number default null
    ,i_sharable_mem_th in number default null
    ,i_version_count_th in number default null
    ,i_all_init in varchar2 default null
    ,i_pin_statspack in varchar2 default null
    ,i_modify_parameter in varchar2 default 'FALSE'
    RETURN integer IS
    /* This function performs a snapshot of the v$ views into the
    stats$ tables, and returns the snapshot id.
    If parameters are passed, these are the values used, otherwise
    the values stored in the stats$statspack_parameter table are used.
    l_snap_id integer;
    l_snap_level number;
    l_session_id number;
    l_serial# number;
    l_ucomment varchar2(160);
    l_num_sql number;
    l_executions_th number;
    l_parse_calls_th number;
    l_disk_reads_th number;
    l_buffer_gets_th number;
    l_sharable_mem_th number;
    l_version_count_th number;
    l_all_init varchar2(5);
    l_pin_statspack varchar2(10);
    l_sql_stmt varchar2(3000);
    l_slarti varchar2(20);
    l_threshold number;
    l_total_sql number := 0;
    l_total_sql_mem number := 0;
    l_single_use_sql number := 0;
    l_single_use_sql_mem number := 0;
    l_text_subset varchar2(31);
    l_sharable_mem number;
    l_version_count number;
    l_sorts number;
    l_module varchar2(64);
    l_loaded_versions number;
    l_executions number;
    l_loads number;
    l_invalidations number;
    l_parse_calls number;
    l_disk_reads number;
    l_buffer_gets number;
    l_rows_processed number;
    l_address raw(8);
    l_hash_value number;
    l_version_count number;
    l_max_begin_time date;
    cursor GETSERIAL is
    select serial#
    from v$session
    where sid = l_session_id;
    PROCEDURE snap_sql IS
    begin
    /* Gather summary statistics */
    insert into stats$sql_statistics
    ( snap_id
    , dbid
    , instance_number
    , total_sql
    , total_sql_mem
    , single_use_sql
    , single_use_sql_mem
    select l_snap_id
    , p_dbid
    , p_instance_number
    , count(1)
    , sum(sharable_mem)
    , sum(decode(executions, 1, 1, 0))
    , sum(decode(executions, 1, sharable_mem, 0))
    from stats$v$sqlxs
    where is_obsolete = 'N';
    /* Gather SQL statements which exceed any threshold,
    excluding obsolete parent cursors
    insert into stats$sql_summary
    ( snap_id
    , dbid
    , instance_number
    , text_subset
    , sharable_mem
    , sorts
    , module
    , loaded_versions
    , executions
    , loads
    , invalidations
    , parse_calls
    , disk_reads
    , buffer_gets
    , rows_processed
    , command_type
    , address
    , hash_value
    , version_count
    , cpu_time
    , elapsed_time
    , outline_sid
    , outline_category
    select l_snap_id
    , p_dbid
    , p_instance_number
    , substr(sql_text,1,31)
    , sharable_mem
    , sorts
    , module
    , loaded_versions
    , executions
    , loads
    , invalidations
    , parse_calls
    , disk_reads
    , buffer_gets
    , rows_processed
    , command_type
    , address
    , hash_value
    , version_count
    , cpu_time
    , elapsed_time
    , outline_sid
    , outline_category
    from stats$v$sqlxs
    where is_obsolete = 'N'
    and ( buffer_gets > l_buffer_gets_th
    or disk_reads > l_disk_reads_th
    or parse_calls > l_parse_calls_th
    or executions > l_executions_th
    or sharable_mem > l_sharable_mem_th
    or version_count > l_version_count_th
    /* Insert the SQL Text for hash_values captured in the snapshot
    into stats$sqltext if it's not already there. Identify SQL which
    execeeded the threshold by querying stats$sql_summary for this
    snapid and database instance
    insert into stats$sqltext
    ( hash_value
    , text_subset
    , piece
    , sql_text
    , address
    , command_type
    , last_snap_id
    select st1.hash_value
    , ss.text_subset
    , st1.piece
    , st1.sql_text
    , st1.address
    , st1.command_type
    , ss.snap_id
    from v$sqltext st1
    , stats$sql_summary ss
    where ss.snap_id = l_snap_id
    and ss.dbid = p_dbid
    and ss.instance_number = p_instance_number
    and st1.hash_value = ss.hash_value
    and st1.address = ss.address
    and not exists (select 1
    from stats$sqltext st2
    where st2.hash_value = ss.hash_value
    and st2.text_subset = ss.text_subset
    IF l_snap_level >= 6 THEN
    /* Identify SQL which execeeded the threshold by querying
    stats$sql_summary for this snapid and database instance.
    Capture the plans which were used for the high-load SQL if
    don't already have this data.
    Omit capturing plan usage information for cursors which
    have a zero plan hash value.
    Currently this is captured in a level 6 (or greater)
    snapshot, however this may be integrated into level 5
    snapshot at a later date.
    hl - high load
    insert into stats$sql_plan_usage
    ( hash_value
    , text_subset
    , plan_hash_value
    , cost
    , snap_id
    , address
    , optimizer
    select hl.hash_value
    , hl.text_subset
    , hl.plan_hash_value
    , hl.cost
    , max(hl.snap_id)
    , max(hl.address)
    , max(hl.optimizer)
    from (select /*+ ordered use_nl(sq) index(sq) */
    ss.hash_value
    , ss.text_subset
    , sq.plan_hash_value
    , nvl(sq.optimizer_cost,-9) cost
    , ss.snap_id snap_id
    , ss.address
    , sq.optimizer_mode optimizer
    from stats$sql_summary ss
    , v$sql sq
    where ss.snap_id = l_snap_id
    and ss.dbid = p_dbid
    and ss.instance_number = p_instance_number
    and sq.hash_value = ss.hash_value
    and sq.address = ss.address
    and sq.plan_hash_value > 0
    ) hl
    where not exists (select /*+ no_unnest */
    from stats$sql_plan_usage spu
    where spu.hash_value = hl.hash_value
    and spu.text_subset = hl.text_subset
    and spu.plan_hash_value
    = hl.plan_hash_value
    and spu.cost = hl.cost
    group by hl.hash_value
    , hl.text_subset
    , hl.plan_hash_value
    , hl.cost
    , hl.optimizer;
    /* For all new hash_value, plan_hash_value, cost combinations
    just captured, get the optimizer plans, if we don't already
    have them. Note that the plan (and hence the plan hash value)
    comprises the access path and the join order (and not
    variable factors such as the cardinality).
    insert into stats$sql_plan
    ( plan_hash_value
    , id
    , operation
    , options
    , object_node
    , object#
    , object_owner
    , object_name
    , optimizer
    , parent_id
    , depth
    , position
    , cost
    , cardinality
    , bytes
    , other_tag
    , partition_start
    , partition_stop
    , partition_id
    , other
    , distribution
    , cpu_cost
    , io_cost
    , temp_space
    , snap_id
    select /*+ ordered use_nl(s) use_nl(sp.p) */
    new_plan.plan_hash_value
    , sp.id
    , max(sp.operation)
    , max(sp.options)
    , max(sp.object_node)
    , max(sp.object#)
    , max(sp.object_owner)
    , max(sp.object_name)
    , max(sp.optimizer)
    , max(sp.parent_id)
    , max(sp.depth)
    , max(sp.position)
    , max(sp.cost)
    , max(sp.cardinality)
    , max(sp.bytes)
    , max(sp.other_tag)
    , max(sp.partition_start)
    , max(sp.partition_stop)
    , max(sp.partition_id)
    , max(sp.other)
    , max(sp.distribution)
    , max(sp.cpu_cost)
    , max(sp.io_cost)
    , max(sp.temp_space)
    , max(new_plan.snap_id)
    from (select /*+ index(spu) */
    distinct
    spu.plan_hash_value
    , spu.hash_value
    , spu.address
    , spu.text_subset
    , spu.snap_id
    from stats$sql_plan_usage spu
    where spu.snap_id = l_snap_id
    and not exists (select /*+ nl_aj */ *
    from stats$sql_plan ssp
    where ssp.plan_hash_value
    = spu.plan_hash_value
    ) new_plan
    , v$sql s
    , v$sql_plan sp
    where sp.hash_value = new_plan.hash_value
    and sp.address = new_plan.address
    and s.hash_value = new_plan.hash_value
    and s.address = new_plan.address
    and s.hash_value = sp.hash_value
    and s.address = sp.address
    and s.child_number = sp.child_number
    group by
    new_plan.plan_hash_value
    , sp.id;
    END IF; /* snap level >=6 */
    END snap_sql;
    begin /* Function SNAP */
    /* Get instance parameter defaults from stats$statspack_parameter,
    or use supplied parameters.
    If all parameters are specified, use them, otherwise get values
    from the parameters not specified from stats$statspack_parameter.
    statspack.qam_statspack_parameter
    ( p_dbid
    , p_instance_number
    , i_snap_level, i_session_id, i_ucomment, i_num_sql
    , i_executions_th, i_parse_calls_th
    , i_disk_reads_th, i_buffer_gets_th, i_sharable_mem_th
    , i_version_count_th, i_all_init
    , i_pin_statspack
    , i_modify_parameter
    , l_snap_level, l_session_id, l_ucomment, l_num_sql
    , l_executions_th, l_parse_calls_th
    , l_disk_reads_th, l_buffer_gets_th, l_sharable_mem_th
    , l_version_count_th, l_all_init
    , l_pin_statspack);
    /* Generate a snapshot id */
    select stats$snapshot_id.nextval
    into l_snap_id
    from dual
    where rownum = 1;
    /* Determine the serial# of the session to maintain stats for,
    if this was requested.
    if l_session_id > 0 then
    if not GETSERIAL%ISOPEN then open GETSERIAL; end if;
    fetch GETSERIAL into l_serial#;
    if GETSERIAL%NOTFOUND then
    /* Session has already disappeared - don't gather
    statistics for this session in this snapshot */
    l_session_id := 0;
    l_serial# := 0;
    end if; close GETSERIAL;
    else
    l_serial# := 0;
    end if;
    /* The instance has been restarted since the last snapshot */
    if p_new_sga = 0
    then
    begin
    p_new_sga := 1;
    /* Get the instance startup time, and other characteristics */
    insert into stats$database_instance
    ( dbid
    , instance_number
    , startup_time
    , snap_id
    , parallel
    , version
    , db_name
    , instance_name
    , host_name
    select p_dbid
    , p_instance_number
    , p_startup_time
    , l_snap_id
    , p_parallel
    , p_version
    , p_name
    , p_instance_name
    , p_host_name
    from sys.dual;
    commit;
    end;
    end if; /* new SGA */
    /* Work out the max undo stat time, used for gathering undo stat data */
    select nvl(max(begin_time), to_date('01011900','DDMMYYYY'))
    into l_max_begin_time
    from stats$undostat
    where dbid = p_dbid
    and instance_number = p_instance_number;
    /* Save the snapshot characteristics */
    insert into stats$snapshot
    ( snap_id, dbid, instance_number
    , snap_time, startup_time
    , session_id, snap_level, ucomment
    , executions_th, parse_calls_th, disk_reads_th
    , buffer_gets_th, sharable_mem_th
    , version_count_th, serial#, all_init)
    values
    ( l_snap_id, p_dbid, p_instance_number
    , SYSDATE, p_startup_time
    , l_session_id, l_snap_level, l_ucomment
    , l_executions_th, l_parse_calls_th, l_disk_reads_th
    , l_buffer_gets_th, l_sharable_mem_th
    , l_version_count_th, l_serial#, l_all_init);
    /* Begin gathering statistics */
    insert into stats$filestatxs
    ( snap_id
    , dbid
    , instance_number
    , tsname
    , filename
    , phyrds
    , phywrts
    , singleblkrds
    , readtim
    , writetim
    , singleblkrdtim
    , phyblkrd
    , phyblkwrt
    , wait_count
    , time
    select l_snap_id
    , p_dbid
    , p_instance_number
    , tsname
    , filename
    , phyrds
    , phywrts
    , singleblkrds
    , readtim
    , writetim
    , singleblkrdtim
    , phyblkrd
    , phyblkwrt
    , wait_count
    , time
    from stats$v$filestatxs;
    insert into stats$tempstatxs
    ( snap_id
    , dbid
    , instance_number
    , tsname
    , filename
    , phyrds
    , phywrts
    , singleblkrds
    , readtim
    , writetim
    , singleblkrdtim
    , phyblkrd
    , phyblkwrt
    , wait_count
    , time
    select l_snap_id
    , p_dbid
    , p_instance_number
    , tsname
    , filename
    , phyrds
    , phywrts
    , singleblkrds
    , readtim
    , writetim
    , singleblkrdtim
    , phyblkrd
    , phyblkwrt
    , wait_count
    , time
    from stats$v$tempstatxs;
    insert into stats$librarycache
    ( snap_id
    , dbid
    , instance_number
    , namespace
    , gets
    , gethits
    , pins
    , pinhits
    , reloads
    , invalidations
    , dlm_lock_requests
    , dlm_pin_requests
    , dlm_pin_releases
    , dlm_invalidation_requests
    , dlm_invalidations
    select l_snap_id
    , p_dbid
    , p_instance_number
    , namespace
    , gets
    , gethits
    , pins
    , pinhits
    , reloads
    , invalidations
    , dlm_lock_requests
    , dlm_pin_requests
    , dlm_pin_releases
    , dlm_invalidation_requests
    , dlm_invalidations
    from v$librarycache;
    insert into stats$buffer_pool_statistics
    ( snap_id
    , dbid
    , instance_number
    , id
    , name
    , block_size
    , set_msize
    , cnum_repl
    , cnum_write
    , cnum_set
    , buf_got
    , sum_write
    , sum_scan
    , free_buffer_wait
    , write_complete_wait
    , buffer_busy_wait
    , free_buffer_inspected
    , dirty_buffers_inspected
    , db_block_change
    , db_block_gets
    , consistent_gets
    , physical_reads
    , physical_writes
    select l_snap_id
    , p_dbid
    , p_instance_number
    , id
    , name
    , block_size
    , set_msize
    , cnum_repl
    , cnum_write
    , cnum_set
    , buf_got
    , sum_write
    , sum_scan
    , free_buffer_wait
    , write_complete_wait
    , buffer_busy_wait
    , free_buffer_inspected
    , dirty_buffers_inspected
    , db_block_change
    , db_block_gets
    , consistent_gets
    , physical_reads
    , physical_writes
    from v$buffer_pool_statistics;
    insert into stats$rollstat
    ( snap_id
    , dbid
    , instance_number
    , usn
    , extents
    , rssize
    , writes
    , xacts
    , gets
    , waits
    , optsize
    , hwmsize
    , shrinks
    , wraps
    , extends
    , aveshrink
    , aveactive
    select l_snap_id
    , p_dbid
    , p_instance_number
    , usn
    , extents
    , rssize
    , writes
    , xacts
    , gets
    , waits
    , optsize
    , hwmsize
    , shrinks
    , wraps
    , extends
    , aveshrink
    , aveactive
    from v$rollstat;
    insert into stats$rowcache_summary
    ( snap_id
    , dbid
    , instance_number
    , parameter
    , total_usage
    , usage
    , gets
    , getmisses
    , scans
    , scanmisses
    , scancompletes
    , modifications
    , flushes
    , dlm_requests
    , dlm_conflicts
    , dlm_releases
    select l_snap_id
    , p_dbid
    , p_instance_number
    , parameter
    , sum("COUNT")
    , sum(usage)
    , sum(gets)
    , sum(getmisses)
    , sum(scans)
    , sum(scanmisses)
    , sum(scancompletes)
    , sum(modifications)
    , sum(flushes)
    , sum(dlm_requests)
    , sum(dlm_conflicts)
    , sum(dlm_releases)
    from v$rowcache
    group by l_snap_id, p_dbid, p_instance_number, parameter;
    /* Collect parameters every snapshot, to cater for dynamic
    parameters changable while instance is running
    if l_all_init = 'FALSE' then
    insert into stats$parameter
    ( snap_id
    , dbid
    , instance_number
    , name
    , value
    , isdefault
    , ismodified
    select l_snap_id
    , p_dbid
    , p_instance_number
    , name
    , value
    , isdefault
    , ismodified
    from v$system_parameter;
    else
    insert into stats$parameter
    ( snap_id
    , dbid
    , instance_number
    , name
    , value
    , isdefault
    , ismodified
    select l_snap_id
    , p_dbid
    , p_instance_number
    , i.ksppinm
    , sv.ksppstvl
    , sv.ksppstdf
    , decode(bitand(sv.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE')
    from stats$x$ksppi i
    , stats$x$ksppsv sv
    where i.indx = sv.indx;
    end if;
    /* To cater for variable size SGA - insert on each snapshot */
    insert into stats$sga
    ( snap_id
    , dbid
    , instance_number
    , name
    , value
    select l_snap_id
    , p_dbid
    , p_instance_number
    , name
    , value
    from v$sga;
    /* Get current allocation of memory in the SGA */
    insert into stats$sgastat
    ( snap_id
    , dbid
    , instance_number
    , pool
    , name
    , bytes
    select l_snap_id
    , p_dbid
    , p_instance_number
    , pool
    , name
    , bytes
    from v$sgastat;
    insert into stats$system_event
    ( snap_id
    , dbid
    , instance_number
    , event
    , total_waits
    , total_timeouts
    , time_waited_micro
    select l_snap_id
    , p_dbid
    , p_instance_number
    , event
    , total_waits
    , total_timeouts
    , time_waited_micro
    from v$system_event;
    insert into stats$bg_event_summary
    ( snap_id
    , dbid
    , instance_number
    , event
    , total_waits
    , total_timeouts
    , time_waited_micro
    select l_snap_id
    , p_dbid
    , p_instance_number
    , e.event
    , sum(e.total_waits)
    , sum(e.total_timeouts)
    , sum(e.time_waited_micro)
    from v$session_event e
    where e.sid in (select s.sid from v$session s where s.type = 'BACKGROUND')
    group by l_snap_id, p_dbid, p_instance_number, e.event;
    insert into stats$sysstat
    ( snap_id
    , dbid
    , instance_number
    , statistic#
    , name
    , value
    select l_snap_id
    , p_dbid
    , p_instance_number
    , statistic#
    , name
    , value
    from v$sysstat;
    insert into stats$waitstat
    ( snap_id
    , dbid
    , instance_number
    , class
    , wait_count
    , time
    select l_snap_id
    , p_dbid
    , p_instance_number
    , class
    , "COUNT"
    , time
    from v$waitstat;
    insert into stats$enqueue_stat
    ( snap_id
    , dbid
    , instance_number
    , eq_type
    , total_req#
    , total_wait#
    , succ_req#
    , failed_req#
    , cum_wait_time
    select l_snap_id
    , p_dbid
    , p_instance_number
    , eq_type
    , total_req#
    , total_wait#
    , succ_req#
    , failed_req#
    , cum_wait_time
    from v$enqueue_stat
    where total_req# != 0;
    insert into stats$latch
    ( snap_id
    , dbid
    , instance_number
    , name
    , latch#
    , level#
    , gets
    , misses
    , sleeps
    , immediate_gets
    , immediate_misses
    , spin_gets
    , sleep1
    , sleep2
    , sleep3
    , sleep4
    , wait_time
    select l_snap_id
    , p_dbid
    , p_instance_number
    , name
    , latch#
    , level#
    , gets
    , misses
    , sleeps
    , immediate_gets
    , immediate_misses
    , spin_gets
    , sleep1
    , sleep2
    , sleep3
    , sleep4
    , wait_time
    from v$latch;
    insert into stats$latch_misses_summary
    ( snap_id
    , dbid
    , instance_number
    , parent_name
    , where_in_code
    , nwfail_count
    , sleep_count
    , wtr_slp_count
    select l_snap_id
    , p_dbid
    , p_instance_number
    , parent_name
    , "WHERE"
    , sum(nwfail_count)
    , sum(sleep_count)
    , sum(wtr_slp_count)
    from v$latch_misses
    where sleep_count > 0
    group by l_snap_id, p_dbid, p_instance_number
    , parent_name, "WHERE";
    insert into stats$resource_limit
    ( snap_id
    , dbid
    , instance_number
    , resource_name
    , current_utilization
    , max_utilization
    , initial_allocation
    , limit_value
    select l_snap_id
    , p_dbid
    , p_instance_number
    , resource_name
    , current_utilization
    , max_utilization
    , initial_allocation
    , limit_value
    from v$resource_limit
    where limit_value != ' UNLIMITED'
    and max_utilization > 0;
    insert into stats$undostat
    ( begin_time
    , end_time
    , dbid
    , instance_number
    , snap_id
    , undotsn
    , undoblks
    , txncount
    , maxquerylen
    , maxconcurrency
    , unxpstealcnt
    , unxpblkrelcnt
    , unxpblkreucnt
    , expstealcnt
    , expblkrelcnt
    , expblkreucnt
    , ssolderrcnt
    , nospaceerrcnt
    select begin_time
    , end_time
    , p_dbid
    , p_instance_number
    , l_snap_id
    , undotsn
    , undoblks
    , txncount
    , maxquerylen
    , maxconcurrency
    , unxpstealcnt
    , unxpblkrelcnt
    , unxpblkreucnt
    , expstealcnt
    , expblkrelcnt
    , expblkreucnt
    , ssolderrcnt
    , nospaceerrcnt
    from v$undostat
    where begin_time > l_max_begin_time
    and begin_time + (1/(24*6)) <= end_time;
    insert into stats$db_cache_advice
    ( snap_id
    , dbid
    , instance_number
    , id
    , name
    , block_size
    , buffers_for_estimate
    , advice_status
    , size_for_estimate
    , estd_physical_read_factor
    , estd_physical_reads
    select l_snap_id
    , p_dbid
    , p_instance_number
    , id
    , name
    , block_size
    , buffers_for_estimate
    , advice_status
    , size_for_estimate
    , estd_physical_read_factor
    , estd_physical_reads
    from v$db_cache_advice
    where advice_status = 'ON';
    insert into stats$pgastat
    ( snap_id
    , dbid
    , instance_number
    , name
    , value
    select l_snap_id
    , p_dbid
    , p_instance_number
    , name
    , value
    from v$pgastat;
    insert into stats$instance_recovery
    ( snap_id
    , dbid
    , instance_number
    , recovery_estimated_ios
    , actual_redo_blks
    , target_redo_blks
    , log_file_size_redo_blks
    , log_chkpt_timeout_redo_blks
    , log_chkpt_interval_redo_blks
    , fast_start_io_target_redo_blks
    , target_mttr
    , estimated_mttr
    , ckpt_block_writes
    select l_snap_id
    , p_dbid
    , p_instance_number
    , recovery_estimated_ios
    , actual_redo_blks
    , target_redo_blks
    , log_file_size_redo_blks
    , log_chkpt_timeout_redo_blks
    , log_chkpt_interval_redo_blks
    , fast_start_io_target_redo_blks
    , target_mttr
    , estimated_mttr
    , ckpt_block_writes
    from v$instance_recovery;
    if p_parallel = 'YES' then
    insert into stats$dlm_misc
    ( snap_id
    , dbid
    , instance_number
    , statistic#
    , name
    , value
    select l_snap_id
    , p_dbid
    , p_instance_number
    , statistic#
    , name
    , value
    from v$dlm_misc;
    end if; /* parallel */
    /* Begin gathering Extended Statistics */
    IF l_snap_level >= 5 THEN
    snap_sql;
    END IF; /* snap level >=5 */
    IF l_snap_level >= 10 THEN
    insert into stats$latch_children
    ( snap_id
    , dbid
    , instance_number
    , latch#
    , child#
    , gets
    , misses
    , sleeps
    , immediate_gets
    , immediate_misses
    , spin_gets
    , sleep1
    , sleep2
    , sleep3
    , sleep4
    , wait_time
    select l_snap_id
    , p_dbid
    , p_instance_number
    , latch#
    , child#
    , gets
    , misses
    , sleeps
    , immediate_gets
    , immediate_misses
    , spin_gets
    , sleep1
    , sleep2
    , sleep3
    , sleep4
    , wait_time
    from v$latch_children;
    insert into stats$latch_parent
    ( snap_id
    , dbid
    , instance_number
    , latch#
    , level#
    , gets
    , misses
    , sleeps
    , immediate_gets
    , immediate_misses
    , spin_gets
    , sleep1
    , sleep2
    , sleep3
    , sleep4
    , wait_time
    select l_snap_id
    , p_dbid
    , p_instance_number
    , latch#
    , level#
    , gets
    , misses
    , sleeps
    , immediate_gets
    , immediate_misses
    , spin_gets
    , sleep1
    , sleep2
    , sleep3
    , sleep4
    , wait_time
    from v$latch_parent;
    END IF; /* snap level >=10 */
    /* Record level session-granular statistics if a specific session
    has been requested
    if l_session_id > 0
    then
    insert into stats$sesstat
    ( snap_id
    , dbid
    , instance_number
    , statistic#
    , value
    select l_snap_id
    , p_dbid
    , p_instance_number
    , statistic#
    , value
    from v$sesstat
    where sid = l_session_id;
    insert into stats$session_event
    ( snap_id
    , dbid
    , instance_number
    , event
    , total_waits
    , total_timeouts
    , time_waited_micro
    , max_wait
    select l_snap_id
    , p_dbid
    , p_instance_number
    , event
    , total_waits
    , total_timeouts
    , time_waited_micro
    , max_wait
    from v$session_event
    where sid = l_session_id;
    end if;
    commit work;
    RETURN l_snap_id;
    end SNAP; /* Function SNAP */
    begin /* STATSPACK body */
    /* Query the database id, instance_number, database name, instance
    name and startup time for the instance we are working on
    /* Get information about the current instance */
    open get_instance;
    fetch get_instance into
    p_instance_number, p_instance_name
    , p_startup_time, p_parallel, p_version
    , p_host_name;
    close get_instance;
    /* Select the database info for the db connected to */
    open get_db;
    fetch get_db into p_dbid, p_name;
    close get_db;
    /* Keep the package
    sys.dbms_shared_pool.keep('PERFSTAT.STATSPACK', 'P');
    /* Determine if the instance has been restarted since the previous snapshot
    begin
    select 1
    into p_new_sga
    from stats$database_instance
    where startup_time = p_startup_time
    and dbid = p_dbid
    and instance_number = p_instance_number;
    exception
    when NO_DATA_FOUND then
    p_new_sga := 0;
    end;
    end STATSPACK;
    Warning: Package Body created with compilation errors.
    SQL> show error
    Errors for PACKAGE BODY STATSPACK:
    LINE/COL ERROR
    2045/3 PLS-00201: identifier 'SYS.DBMS_SHARED_POOL' must be declared
    2045/3 PL/SQL: Statement ignored

    When i compiled the package, it compiled with following error.
    Warning: Package Body created with compilation errors.
    SQL> show error
    Errors for PACKAGE BODY STATSPACK:
    LINE/COL ERROR
    2045/3 PLS-00201: identifier 'SYS.DBMS_SHARED_POOL' must be declared
    2045/3 PL/SQL: Statement ignored
    SQL>

  • STATSPACK. What to look for ?

    my users have been complaining that the application is very slow. What do i need to look for in this report.
    STATSPACK report for
    DB Name DB Id Instance Inst Num Release Cluster Host
    XXXX 629101424 XXXX 1 9.2.0.6.0 NO scheduprod-s
    ol
    Snap Id Snap Time Sessions Curs/Sess Comment
    Begin Snap: 4527 12-Mar-07 15:02:05 81 231.9
    End Snap: 4531 12-Mar-07 15:42:01 81 234.1
    Elapsed: 39.93 (mins)
    Cache Sizes (end)
    ~~~~~~~~~~~~~~~~~
    Buffer Cache: 304M Std Block Size: 8K
    Shared Pool Size: 608M Log Buffer: 512K
    Load Profile
    ~~~~~~~~~~~~ Per Second Per Transaction
    Redo size: 3,891.02 2,878.32
    Logical reads: 865.79 640.45
    Block changes: 22.12 16.36
    Physical reads: 13.86 10.25
    Physical writes: 0.61 0.45
    User calls: 231.43 171.20
    Parses: 48.95 36.21
    Hard parses: 8.44 6.25
    Sorts: 4.25 3.14
    Logons: 0.15 0.11
    Executes: 51.42 38.04
    Transactions: 1.35
    % Blocks changed per Read: 2.55 Recursive Call %: 17.42
    Rollback per transaction %: 2.53 Rows per Sort: 55.75
    Instance Efficiency Percentages (Target 100%)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Buffer Nowait %: 100.00 Redo NoWait %: 100.00
    Buffer Hit %: 99.13 In-memory Sort %: 100.00
    Library Hit %: 91.94 Soft Parse %: 82.75
    Execute to Parse %: 4.81 Latch Hit %: 99.97
    Parse CPU to Parse Elapsd %: 98.26 % Non-Parse CPU: 50.19
    Shared Pool Statistics Begin End
    Memory Usage %: 97.40 97.69
    % SQL with executions>1: 18.64 31.84
    % Memory for SQL w/exec>1: 17.60 31.65
    Top 5 Timed Events
    ~~~~~~~~~~~~~~~~~~ % Total
    Event Waits Time (s) Ela Time
    CPU time 342 50.98
    log file parallel write 7,798 138 20.59
    log file sync 3,587 128 19.03
    db file parallel write 193 29 4.39
    control file parallel write 790 21 3.20
    ^LWait Events for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> s - second
    -> cs - centisecond - 100th of a second
    -> ms - millisecond - 1000th of a second
    -> us - microsecond - 1000000th of a second
    -> ordered by wait time desc, waits desc (idle events last)
    Avg
    Total Wait wait Waits
    Event Waits Timeouts Time (s) (ms) /txn
    log file parallel write 7,798 0 138 18 2.4
    log file sync 3,587 0 128 36 1.1
    db file parallel write 193 0 29 153 0.1
    control file parallel write 790 0 21 27 0.2
    SQL*Net more data to client 111,847 0 6 0 34.5
    db file sequential read 432 0 2 5 0.1
    db file scattered read 2,419 0 1 0 0.7
    latch free 698 0 1 1 0.2
    process startup 14 0 1 47 0.0
    direct path read (lob) 14,912 0 1 0 4.6
    SQL*Net break/reset to clien 920 0 0 0 0.3
    control file sequential read 822 0 0 0 0.3
    SQL*Net message from client 454,457 0 35,768 79 140.3
    virtual circuit status 40,421 81 4,724 117 12.5
    wakeup time manager 79 79 2,248 28461 0.0
    jobq slave wait 264 252 765 2897 0.1
    SQL*Net message to client 454,457 0 1 0 140.3
    SQL*Net more data from clien 328 0 0 0 0.1
    ^LBackground Wait Events for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> ordered by wait time desc, waits desc (idle events last)
    Avg
    Total Wait wait Waits
    Event Waits Timeouts Time (s) (ms) /txn
    log file parallel write 7,798 0 138 18 2.4
    db file parallel write 193 0 29 153 0.1
    control file parallel write 790 0 21 27 0.2
    process startup 2 0 0 35 0.0
    control file sequential read 556 0 0 0 0.2
    rdbms ipc reply 3 0 0 1 0.0
    latch free 2 0 0 0 0.0
    rdbms ipc message 6,444 2,366 13,269 2059 2.0
    smon timer 8 8 2,344 ###### 0.0
    pmon timer 834 834 2,339 2804 0.3
    ^LInstance Activity Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    Statistic Total per Second per Trans
    CPU used by this session 34,169 14.3 10.6
    CPU used when call started 33,176 13.9 10.2
    CR blocks created 83 0.0 0.0
    DBWR buffers scanned 0 0.0 0.0
    DBWR checkpoint buffers written 1,459 0.6 0.5
    DBWR checkpoints 0 0.0 0.0
    DBWR free buffers found 0 0.0 0.0
    DBWR lru scans 0 0.0 0.0
    DBWR make free requests 0 0.0 0.0
    DBWR revisited being-written buff 0 0.0 0.0
    DBWR summed scan depth 0 0.0 0.0
    DBWR transaction table writes 13 0.0 0.0
    DBWR undo block writes 787 0.3 0.2
    PX local messages recv'd 0 0.0 0.0
    PX local messages sent 0 0.0 0.0
    SQL*Net roundtrips to/from client 492,393 205.5 152.0
    SQL*Net roundtrips to/from dblink 0 0.0 0.0
    active txn count during cleanout 100 0.0 0.0
    background checkpoints completed 0 0.0 0.0
    background checkpoints started 0 0.0 0.0
    background timeouts 2,898 1.2 0.9
    branch node splits 0 0.0 0.0
    buffer is not pinned count 1,617,141 674.9 499.3
    buffer is pinned count 3,219,198 1,343.6 993.9
    bytes received via SQL*Net from c 48,664,626 20,310.8 15,024.6
    bytes received via SQL*Net from d 0 0.0 0.0
    bytes sent via SQL*Net to client 380,182,385 158,673.8 117,376.5
    bytes sent via SQL*Net to dblink 0 0.0 0.0
    calls to get snapshot scn: kcmgss 370,472 154.6 114.4
    calls to kcmgas 5,800 2.4 1.8
    calls to kcmgcs 319 0.1 0.1
    change write time 91 0.0 0.0
    cleanout - number of ktugct calls 178 0.1 0.1
    cleanouts and rollbacks - consist 0 0.0 0.0
    cleanouts only - consistent read 15 0.0 0.0
    cluster key scan block gets 88,031 36.7 27.2
    cluster key scans 44,560 18.6 13.8
    commit cleanout failures: block l 0 0.0 0.0
    commit cleanout failures: buffer 0 0.0 0.0
    commit cleanout failures: callbac 0 0.0 0.0
    commit cleanout failures: cannot 0 0.0 0.0
    commit cleanouts 16,509 6.9 5.1
    commit cleanouts successfully com 16,509 6.9 5.1
    commit txn count during cleanout 140 0.1 0.0
    consistent changes 162 0.1 0.1
    consistent gets 2,042,196 852.3 630.5
    consistent gets - examination 578,365 241.4 178.6
    cursor authentications 7,954 3.3 2.5
    data blocks consistent reads - un 162 0.1 0.1
    db block changes 52,993 22.1 16.4
    db block gets 47,334 19.8 14.6
    deferred (CURRENT) block cleanout 4,180 1.7 1.3
    dirty buffers inspected 0 0.0 0.0
    enqueue conversions 117 0.1 0.0
    enqueue releases 32,269 13.5 10.0
    enqueue requests 32,270 13.5 10.0
    ^LInstance Activity Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    Statistic Total per Second per Trans
    enqueue timeouts 0 0.0 0.0
    enqueue waits 0 0.0 0.0
    execute count 123,202 51.4 38.0
    free buffer inspected 0 0.0 0.0
    free buffer requested 19,766 8.3 6.1
    hot buffers moved to head of LRU 23 0.0 0.0
    immediate (CR) block cleanout app 15 0.0 0.0
    immediate (CURRENT) block cleanou 5,664 2.4 1.8
    index fast full scans (full) 6 0.0 0.0
    index fetch by key 214,924 89.7 66.4
    index scans kdiixs1 554,891 231.6 171.3
    leaf node 90-10 splits 9 0.0 0.0
    leaf node splits 61 0.0 0.0
    logons cumulative 362 0.2 0.1
    messages received 3,953 1.7 1.2
    messages sent 3,953 1.7 1.2
    no buffer to keep pinned count 0 0.0 0.0
    no work - consistent read gets 894,670 373.4 276.2
    opened cursors cumulative 116,168 48.5 35.9
    parse count (failures) 9 0.0 0.0
    parse count (hard) 20,231 8.4 6.3
    parse count (total) 117,273 49.0 36.2
    parse time cpu 17,018 7.1 5.3
    parse time elapsed 17,319 7.2 5.4
    physical reads 33,199 13.9 10.3
    physical reads direct 0 0.0 0.0
    physical reads direct (lob) 15,100 6.3 4.7
    physical writes 1,459 0.6 0.5
    physical writes direct 0 0.0 0.0
    physical writes direct (lob) 0 0.0 0.0
    physical writes non checkpoint 496 0.2 0.2
    pinned buffers inspected 0 0.0 0.0
    prefetch clients - default 0 0.0 0.0
    prefetched blocks 15,247 6.4 4.7
    prefetched blocks aged out before 0 0.0 0.0
    process last non-idle time 2,396 1.0 0.7
    recursive calls 116,941 48.8 36.1
    recursive cpu usage 1,523 0.6 0.5
    redo blocks written 20,871 8.7 6.4
    redo buffer allocation retries 0 0.0 0.0
    redo entries 29,618 12.4 9.1
    redo log space requests 0 0.0 0.0
    redo log space wait time 0 0.0 0.0
    redo ordering marks 0 0.0 0.0
    redo size 9,322,888 3,891.0 2,878.3
    redo synch time 13,084 5.5 4.0
    redo synch writes 3,587 1.5 1.1
    redo wastage 1,028,916 429.4 317.7
    redo write time 14,064 5.9 4.3
    redo writer latching time 0 0.0 0.0
    redo writes 3,899 1.6 1.2
    rollback changes - undo records a 422 0.2 0.1
    rollbacks only - consistent read 162 0.1 0.1
    rows fetched via callback 350,472 146.3 108.2
    session connect time 0 0.0 0.0
    session logical reads 2,074,430 865.8 640.5
    ^LInstance Activity Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    Statistic Total per Second per Trans
    session pga memory 14,446,752 6,029.5 4,460.3
    session pga memory max 24,898,104 10,391.5 7,687.0
    session uga memory 17,184,593,312 7,172,200.9 5,305,524.3
    session uga memory max 28,405,696 11,855.5 8,769.9
    shared hash latch upgrades - no w 546,341 228.0 168.7
    shared hash latch upgrades - wait 1 0.0 0.0
    sorts (disk) 0 0.0 0.0
    sorts (memory) 10,174 4.3 3.1
    sorts (rows) 567,241 236.7 175.1
    summed dirty queue length 0 0.0 0.0
    switch current to new buffer 1,334 0.6 0.4
    table fetch by rowid 1,958,222 817.3 604.6
    table fetch continued row 1,912 0.8 0.6
    table scan blocks gotten 143,317 59.8 44.3
    table scan rows gotten 7,318,367 3,054.4 2,259.5
    table scans (long tables) 15 0.0 0.0
    table scans (short tables) 2,029 0.9 0.6
    transaction rollbacks 421 0.2 0.1
    user calls 554,503 231.4 171.2
    user commits 3,157 1.3 1.0
    user rollbacks 82 0.0 0.0
    workarea executions - multipass 0 0.0 0.0
    workarea executions - onepass 0 0.0 0.0
    workarea executions - optimal 14,430 6.0 4.5
    write clones created in backgroun 0 0.0 0.0
    write clones created in foregroun 1 0.0 0.0
    ^LTablespace IO Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    ->ordered by IOs (Reads + Writes) desc
    Tablespace
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    USERS
    17,588 7 0.1 1.9 69 0 0 0.0
    UNDOTBLSPCE
    0 0 0.0 802 0 0 0.0
    PERFSTAT
    136 0 14.2 1.0 315 0 0 0.0
    SCHEDWIN_INDX
    20 0 10.5 1.0 164 0 0 0.0
    INDX
    14 0 11.4 1.0 96 0 0 0.0
    SYSTEM
    0 0 0.0 13 0 0 0.0
    File IO Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    ->ordered by Tablespace, File
    Tablespace Filename
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    INDX /opt/u01/oradata/XXXX/dbf/indx01.dbf
    14 0 11.4 1.0 96 0 0
    PERFSTAT /opt/u01/oradata/XXXX/dbf/perfstat01.dbf
    136 0 14.2 1.0 315 0 0
    SCHEDWIN_INDX /opt/u01/oradata/XXXX/dbf/schedwin_indx01.dbf
    10 0 12.0 1.0 94 0 0
    /opt/u02/oradata/XXXX/dbf/schedwin_indx02.dbf
    10 0 9.0 1.0 70 0 0
    SYSTEM /opt/u01/oradata/XXXX/dbf/system01.dbf
    0 0 13 0 0
    UNDOTBLSPCE /opt/u01/oradata/XXXX/dbf/undotblspce01.dbf
    0 0 802 0 0
    USERS /opt/u01/oradata/XXXX/dbf/users01.dbf
    11,608 5 0.1 1.4 43 0 0
    /opt/u02/oradata/XXXX/dbf/users02.dbf
    2,369 1 0.5 3.4 14 0 0
    /opt/u03/oradata/XXXX/dbf/users03.dbf
    3,611 2 0.2 2.4 12 0 0
    ^LBuffer Pool Statistics for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> Standard block size Pools D: default, K: keep, R: recycle
    -> Default Pools for other block sizes: 2k, 4k, 8k, 16k, 32k
    Free Write Buffer
    Number of Cache Buffer Physical Physical Buffer Complete Busy
    P Buffers Hit % Gets Reads Writes Waits Waits Waits
    D 37,715 99.1 2,073,831 18,097 1,459 0 0 0
    Instance Recovery Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> B: Begin snapshot, E: End snapshot
    Targt Estd Log File Log Ckpt Log Ckpt
    MTTR MTTR Recovery Actual Target Size Timeout Interval
    (s) (s) Estd IOs Redo Blks Redo Blks Redo Blks Redo Blks Redo Blks
    B 160 34 1278 19692 19707 110592 19707
    E 160 30 1056 17051 16555 110592 16555
    Buffer Pool Advisory for DB: XXXX Instance: XXXX End Snap: 4531
    -> Only rows with estimated physical reads >0 are displayed
    -> ordered by Block Size, Buffers For Estimate (default block size first)
    Size for Size Buffers for Est Physical Estimated
    P Estimate (M) Factr Estimate Read Factor Physical Reads
    D 32 .1 3,970 2.53 37,533,655
    D 64 .2 7,940 2.07 30,675,635
    D 96 .3 11,910 1.81 26,843,986
    D 128 .4 15,880 1.67 24,744,049
    D 160 .5 19,850 1.61 23,889,520
    D 192 .6 23,820 1.57 23,290,550
    D 224 .7 27,790 1.36 20,129,947
    D 256 .8 31,760 1.16 17,216,468
    D 288 .9 35,730 1.05 15,577,531
    D 304 1.0 37,715 1.00 14,849,589
    D 320 1.1 39,700 0.96 14,224,396
    D 352 1.2 43,670 0.89 13,166,810
    D 384 1.3 47,640 0.85 12,628,194
    D 416 1.4 51,610 0.84 12,417,548
    D 448 1.5 55,580 0.82 12,242,048
    D 480 1.6 59,550 0.82 12,197,717
    D 512 1.7 63,520 0.82 12,148,615
    D 544 1.8 67,490 0.81 12,085,500
    D 576 1.9 71,460 0.81 12,032,229
    D 608 2.0 75,430 0.81 11,972,157
    D 640 2.1 79,400 0.80 11,902,712
    ^LPGA Aggr Target Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> B: Begin snap E: End snap (rows dentified with B or E contain data
    which is absolute i.e. not diffed over the interval)
    -> PGA cache hit % - percentage of W/A (WorkArea) data processed only in-memory
    -> Auto PGA Target - actual workarea memory target
    -> W/A PGA Used - amount of memory used for all Workareas (manual + auto)
    -> %PGA W/A Mem - percentage of PGA memory allocated to workareas
    -> %Auto W/A Mem - percentage of workarea memory controlled by Auto Mem Mgmt
    -> %Man W/A Mem - percentage of workarea memory under manual control
    PGA Cache Hit % W/A MB Processed Extra W/A MB Read/Written
    100.0 219 0
    %PGA %Auto %Man
    PGA Aggr Auto PGA PGA Mem W/A PGA W/A W/A W/A Global Mem
    Target(M) Target(M) Alloc(M) Used(M) Mem Mem Mem Bound(K)
    B 245 200 40.2 0.3 .7 11.8 88.2 12,544
    E 245 200 40.8 0.3 .7 11.8 88.2 12,544
    PGA Aggr Target Histogram for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> Optimal Executions are purely in-memory operations
    Low High
    Optimal Optimal Total Execs Optimal Execs 1-Pass Execs M-Pass Execs
    8K 16K 14,257 14,257 0 0
    16K 32K 124 124 0 0
    32K 64K 62 62 0 0
    64K 128K 14 14 0 0
    128K 256K 8 8 0 0
    256K 512K 5 5 0 0
    512K 1024K 4 4 0 0
    1M 2M 32 32 0 0
    2M 4M 2 2 0 0
    4M 8M 2 2 0 0
    PGA Memory Advisory for DB: XXXX Instance: XXXX End Snap: 4531
    -> When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value
    where Estd PGA Overalloc Count is 0
    Estd Extra Estd PGA Estd PGA
    PGA Target Size W/A MB W/A MB Read/ Cache Overalloc
    Est (MB) Factr Processed Written to Disk Hit % Count
    31 0.1 70,206.2 6,260.3 92.0 5
    61 0.3 70,206.2 4,168.3 94.0 0
    123 0.5 70,206.2 3,168.1 96.0 0
    184 0.8 70,206.2 2,757.2 96.0 0
    245 1.0 70,206.2 1,869.3 97.0 0
    294 1.2 70,206.2 1,125.7 98.0 0
    343 1.4 70,206.2 1,002.5 99.0 0
    392 1.6 70,206.2 930.4 99.0 0
    441 1.8 70,206.2 888.9 99.0 0
    490 2.0 70,206.2 888.9 99.0 0
    735 3.0 70,206.2 635.4 99.0 0
    980 4.0 70,206.2 428.8 99.0 0
    1,470 6.0 70,206.2 377.1 99.0 0
    1,960 8.0 70,206.2 204.8 100.0 0
    ^LRollback Segment Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    ->A high value for "Pct Waits" suggests more rollback segments may be required
    ->RBS stats may not be accurate between begin and end snaps when using Auto Undo
    managment, as RBS may be dynamically created and dropped as needed
    Trans Table Pct Undo Bytes
    RBS No Gets Waits Written Wraps Shrinks Extends
    0 13.0 0.00 0 0 0 0
    1 856.0 0.00 224,282 0 0 0
    2 965.0 0.00 473,740 1 0 0
    3 1,304.0 0.00 565,018 1 0 1
    4 859.0 0.00 258,906 1 0 0
    11 886.0 0.00 345,162 0 0 0
    12 1,332.0 0.00 546,236 1 0 0
    13 841.0 0.00 229,950 1 0 0
    14 797.0 0.00 215,582 0 0 0
    15 1,252.0 0.00 349,772 2 1 1
    16 850.0 0.00 222,894 1 0 0
    ^LRollback Segment Storage for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    ->Optimal Size should be larger than Avg Active
    RBS No Segment Size Avg Active Optimal Size Maximum Size
    0 385,024 0 385,024
    1 22,142,976 11,545,361 100,786,176
    2 4,317,184 680,223 51,503,104
    3 4,317,184 684,561 142,729,216
    4 3,268,608 685,593 50,454,528
    11 11,657,216 3,215,066 167,895,040
    12 4,317,184 726,453 13,754,368
    13 4,317,184 667,922 27,385,856
    14 4,317,184 738,701 49,405,952
    15 9,560,064 642,634 84,008,960
    16 5,365,760 694,846 15,851,520
    ^LUndo Segment Summary for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> Undo segment block stats:
    -> uS - unexpired Stolen, uR - unexpired Released, uU - unexpired reUsed
    -> eS - expired Stolen, eR - expired Released, eU - expired reUsed
    Undo Undo Num Max Qry Max Tx Snapshot Out of uS/uR/uU/
    TS# Blocks Trans Len (s) Concurcy Too Old Space eS/eR/eU
    13 754 8,780,184 149 1 0 0 0/0/0/0/0/0
    Undo Segment Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> ordered by Time desc
    Undo Num Max Qry Max Tx Snap Out of uS/uR/uU/
    End Time Blocks Trans Len (s) Concy Too Old Space eS/eR/eU
    12-Mar 15:38 166 ######## 68 1 0 0 0/0/0/0/0/0
    12-Mar 15:28 204 ######## 3 1 0 0 0/0/0/0/0/0
    12-Mar 15:18 214 ######## 3 1 0 0 0/0/0/0/0/0
    12-Mar 15:08 170 ######## 149 1 0 0 0/0/0/0/0/0
    ^LLatch Activity for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    ->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
    willing-to-wait latch get requests
    ->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
    ->"Pct Misses" for both should be very close to 0.0
    Pct Avg Wait Pct
    Get Get Slps Time NoWait NoWait
    Latch Requests Miss /Miss (s) Requests Miss
    Consistent RBA 3,899 0.0 0 0
    FOB s.o list latch 113 0.0 0 0
    SQL memory manager latch 4 0.0 0 790 0.0
    SQL memory manager worka 66,516 0.0 0 0
    active checkpoint queue 980 0.0 0 0
    archive control 89 0.0 0 0
    archive process latch 48 0.0 0 0
    cache buffer handles 392 0.0 0 0
    cache buffers chains 3,696,307 0.0 0.0 0 34,306 0.0
    cache buffers lru chain 21,217 0.0 0.0 0 21,384 0.0
    channel handle pool latc 106 0.0 0 0
    channel operations paren 1,773 0.0 0 0
    checkpoint queue latch 48,252 0.0 0 1,219 0.0
    child cursor hash table 144,268 0.0 0.0 0 0
    dml lock allocation 10,464 0.0 0 0
    dummy allocation 724 0.0 0 0
    enqueue hash chains 64,677 0.0 0.0 0 0
    enqueues 77,340 0.0 0.2 0 0
    event group latch 52 0.0 0 0
    global tx hash mapping 21 0.0 0 0
    hash table column usage 126 0.0 0 491,356 0.0
    job workq parent latch 0 0 8 0.0
    job_queue_processes para 43 0.0 0 0
    kmcptab latch 79 0.0 0 0
    kmcpvec latch 0 0 79 0.0
    ktm global data 8 0.0 0 0
    kwqit: protect wakeup ti 79 0.0 0 0
    lgwr LWN SCN 4,217 0.0 0.0 0 0
    library cache 1,798,405 0.3 0.0 0 47,204 0.9
    library cache load lock 2,480 0.0 0 0
    library cache pin 879,035 0.0 0.0 0 0
    library cache pin alloca 603,279 0.0 0.0 0 0
    list of block allocation 381 0.0 0 0
    loader state object free 27,796 0.0 0 0
    messages 18,381 0.0 0.0 0 0
    mostly latch-free SCN 4,220 0.1 0.0 0 0
    multiblock read objects 5,328 0.0 0 0
    ncodef allocation latch 40 0.0 0 0
    post/wait queue 5,523 0.0 0 3,587 0.0
    process allocation 52 0.0 0 52 0.0
    process group creation 106 0.0 0 0
    redo allocation 37,748 0.0 0 0
    redo copy 0 0 29,635 0.0
    redo writing 14,340 0.0 0 0
    row cache enqueue latch 11,874,838 0.0 0.0 0 0
    row cache objects 11,876,412 0.0 0.0 0 81 0.0
    sequence cache 1,113 0.0 0 0
    session allocation 117,333 0.0 0.0 0 0
    session idle bit 1,141,301 0.0 0.0 0 0
    session switching 40 0.0 0 0
    ^LLatch Activity for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    ->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
    willing-to-wait latch get requests
    ->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
    ->"Pct Misses" for both should be very close to 0.0
    Pct Avg Wait Pct
    Get Get Slps Time NoWait NoWait
    Latch Requests Miss /Miss (s) Requests Miss
    session timer 834 0.0 0 0
    shared pool 1,804,311 0.2 0.1 1 0
    sim partition latch 0 0 8 0.0
    simulator hash latch 110,923 0.0 0 0
    simulator lru latch 71 0.0 0 1,975 0.0
    sort extent pool 48 0.0 0 0
    spilled msgs queues list 79 0.0 0 0
    transaction allocation 15,341 0.0 0 0
    transaction branch alloc 61 0.0 0 0
    undo global data 14,952 0.0 0 0
    user lock 1,400 0.0 0 0
    virtual circuit buffers 413,970 0.0 0.0 0 0
    virtual circuit queues 187,775 0.0 0.0 0 0
    virtual circuits 80,454 0.0 0 0
    ^LLatch Sleep breakdown for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> ordered by misses desc
    Get Spin &
    Latch Name Requests Misses Sleeps Sleeps 1->4
    library cache 1,798,405 4,608 221 4390/215/3/0
    /0
    shared pool 1,804,311 3,662 477 3196/455/11/
    0/0
    enqueues 77,340 5 1 4/1/0/0/0
    ^LLatch Miss Sources for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    -> only latches with sleeps are shown
    -> ordered by name, sleeps desc
    NoWait Waiter
    Latch Name Where Misses Sleeps Sleeps
    enqueues ksqgel: create enqueue 0 1 1
    library cache kgllkdl: child: cleanup 0 14 45
    library cache kglupc: child 0 9 37
    library cache kglic 0 7 4
    library cache kglpin: child: heap proces 0 7 2
    library cache kglhdgc: child: 0 5 10
    library cache kglpndl: child: after proc 0 5 2
    library cache kglobpn: child: 0 3 9
    library cache kglpndl: child: before pro 0 3 9
    library cache kgldti: 2child 0 2 0
    library cache kglpnc: child 0 2 53
    library cache kglhdgn: child: 0 1 30
    shared pool kghalo 0 302 127
    shared pool kghfrunp: alloc: wait 0 124 0
    shared pool kghfrunp: clatch: nowait 0 89 0
    shared pool kghfrunp: clatch: wait 0 74 10
    shared pool kghupr1 0 47 339
    shared pool kghalp 0 4 4
    ^LDictionary Cache Stats for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    ->"Pct Misses" should be very low (< 2% in most cases)
    ->"Cache Usage" is the number of cache entries being used
    ->"Pct SGA" is the ratio of usage to allocated size for that cache
    Get Pct Scan Pct Mod Final
    Cache Requests Miss Reqs Miss Reqs Usage
    dc_histogram_defs 2,118,905 0.0 0 0 2,547
    dc_object_ids 3,216,369 0.0 0 0 701
    dc_objects 22,189 0.2 0 0 456
    dc_profiles 349 0.0 0 0 1
    dc_rollback_segments 350 0.0 0 0 22
    dc_segments 505,804 0.0 0 0 1,085
    dc_sequences 18 0.0 0 18 2
    dc_tablespaces 30,016 0.0 0 0 12
    dc_user_grants 969 0.0 0 0 22
    dc_usernames 21,334 0.0 0 0 7
    dc_users 19,245 0.0 0 0 23
    Library Cache Activity for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    ->"Pct Misses" should be very low
    Get Pct Pin Pct Invali-
    Namespace Requests Miss Requests Miss Reloads dations
    BODY 64 0.0 64 0.0 0 0
    CLUSTER 340 0.6 348 1.1 0 0
    INDEX 237 0.0 237 0.0 0 0
    SQL AREA 116,941 6.6 391,824 10.0 11,529 2
    TABLE/PROCEDURE 47,075 0.2 108,992 1.0 732 0
    TRIGGER 746 1.5 746 1.5 0 0
    ^LShared Pool Advisory for DB: XXXX Instance: XXXX End Snap: 4531
    -> Note there is often a 1:Many correlation between a single logical object
    in the Library Cache, and the physical number of memory objects associated
    with it. Therefore comparing the number of Lib Cache objects (e.g. in
    v$librarycache), with the number of Lib Cache Memory Objects is invalid
    Estd
    Shared Pool SP Estd Estd Estd Lib LC Time
    Size for Size Lib Cache Lib Cache Cache Time Saved Estd Lib Cache
    Estim (M) Factr Size (M) Mem Obj Saved (s) Factr Mem Obj Hits
    352 .6 375 15,062 574,744 1.0 97,562,016
    416 .7 439 17,218 576,603 1.0 97,833,828
    480 .8 503 19,153 578,104 1.0 98,135,338
    544 .9 566 21,093 579,653 1.0 98,617,796
    608 1.0 619 22,788 581,195 1.0 99,127,166
    672 1.1 681 30,538 583,092 1.0 99,741,869
    736 1.2 735 34,290 587,030 1.0 100,967,607
    800 1.3 798 38,022 594,101 1.0 103,269,753
    864 1.4 858 42,002 602,185 1.0 106,482,793
    928 1.5 922 44,110 606,329 1.0 108,314,799
    992 1.6 985 48,321 608,336 1.0 109,245,477
    1,056 1.7 1,049 50,582 609,325 1.0 109,697,087
    1,120 1.8 1,113 53,649 610,059 1.0 110,009,531
    1,184 1.9 1,177 60,950 610,680 1.1 110,251,066
    1,248 2.1 1,248 65,824 611,135 1.1 110,424,882
    ^LSGA Memory Summary for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    SGA regions Size in Bytes
    Database Buffers 318,767,104
    Fixed Size 732,784
    Redo Buffers 811,008
    Variable Size 771,751,936
    sum 1,092,062,832
    SGA breakdown difference for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    Pool Name Begin value End value % Diff
    java free memory 33,554,432 33,554,432 0.00
    large free memory 64,089,912 63,913,256 -0.28
    large session heap 3,018,952 3,195,608 5.85
    shared 1M buffer 2,098,176 2,098,176 0.00
    shared Checkpoint queue 513,280 513,280 0.00
    shared FileOpenBlock 1,191,104 1,191,104 0.00
    shared KGK heap 7,000 7,000 0.00
    shared KGLS heap 2,993,944 3,009,616 0.52
    shared KQR L PO 1,312,072 1,322,312 0.78
    shared KQR L SO 156,688 156,688 0.00
    shared KQR M PO 2,065,256 2,065,256 0.00
    shared KQR M SO 86,616 86,616 0.00
    shared KQR S SO 8,216 8,216 0.00
    shared KQR X PO 2,576 2,576 0.00
    shared KSXR pending messages que 853,952 853,952 0.00
    shared KSXR receive buffers 1,034,000 1,034,000 0.00
    shared MTTR advisory 74,672 74,672 0.00
    shared PL/SQL DIANA 616,680 616,880 0.03
    shared PL/SQL MPCODE 764,312 611,264 -20.02
    shared PLS non-lib hp 2,088 2,088 0.00
    shared PX subheap 24,336 24,336 0.00
    shared XDB Schema Cac 5,927,720 5,927,720 0.00
    shared dictionary cache 3,229,952 3,229,952 0.00
    shared errors 384 384 0.00
    shared event statistics per sess 1,923,040 1,923,040 0.00
    shared fixed allocation callback 472 472 0.00
    shared free memory 17,476,144 15,506,552 -11.27
    shared joxs heap init 4,240 4,240 0.00
    shared library cache 68,887,280 65,624,984 -4.74
    shared message pool freequeue 771,984 771,984 0.00
    shared miscellaneous 49,162,528 49,205,880 0.09
    shared parameters 55,784 35,760 -35.90
    shared sim memory hea 328,304 328,304 0.00
    shared sql area 509,408,184 514,745,136 1.05
    shared subheap 100,040 100,040 0.00
    shared table definiti 5,104 3,648 -28.53
    shared trigger defini 544 544 0.00
    shared trigger inform 1,800 1,800 0.00
    shared trigger source 168 168 0.00
    buffer_cache 318,767,104 318,767,104 0.00
    fixed_sga 732,784 732,784 0.00
    log_buffer 787,456 787,456 0.00
    ^Linit.ora Parameters for DB: XXXX Instance: XXXX Snaps: 4527 -4531
    End value
    Parameter Name Begin value (if different)
    aq_tm_processes 1
    background_dump_dest /opt/oracle/admin/XXXX/bdump
    compatible 9.2.0.0.0
    control_files /opt/u01/oradata/XXXX/ctl/cont
    core_dump_dest /opt/oracle/admin/XXXX/cdump
    db_block_size 8192
    db_cache_size 318767104
    db_domain
    db_file_multiblock_read_count 8
    db_name XXXX
    dispatchers (PROTOCOL=TCP)
    fast_start_mttr_target 160
    hash_join_enabled TRUE
    instance_name XXXX
    java_pool_size 33554432
    job_queue_processes 10
    large_pool_size 67108864
    log_archive_start TRUE
    open_cursors 300
    oracle_trace_enable TRUE
    pga_aggregate_target 256901120
    processes 150
    query_rewrite_enabled FALSE
    remote_login_passwordfile EXCLUSIVE
    shared_pool_size 637534208
    sort_area_size 524288
    star_transformation_enabled FALSE
    timed_statistics TRUE
    trace_enabled FALSE
    undo_management AUTO
    undo_retention 10800
    undo_tablespace UNDOTBLSPCE
    user_dump_dest /opt/oracle/admin/XXXX/udump
    End of Report
    Message was edited by:
    pinjam

    Start from low hang fruite.
    Total Wait wait Waits
    Event Waits Timeouts Time (s) (ms) /txn
    log file parallel write 7,798 0 138 18 2.4
    db file parallel write 193 0 29 153 0.1
    control file parallel write 790 0 21 27 0.2
    process startup 2 0 0 35 0.0
    control file sequential read 556 0 0 0 0.2
    rdbms ipc reply 3 0 0 1 0.0
    latch free 2 0 0 0 0.0
    rdbms ipc message 6,444 2,366 13,269 2059 2.0
    smon timer 8 8 2,344 ###### 0.0
    pmon timer 834 834 2,339 2804 0.3
    -------------------------------------------------------------Since you have numours logfile and control file related top wait events. Consider move them to a fast disk or seperate them from other datafiles if you haven't done so.
    Also there's part of your statspack missing, like Top SQL

Maybe you are looking for