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 eventsthose 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 latchesanother of the top waits you may encounterlooking 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.
EnqueueST Use LMTs or preallocate large extents.
EnqueueHW Preallocate extents above high-water mark.
EnqueueTX4 Increase initrans and/or maxtrans on the table or index.
EnqueueTM 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.
Greguser10388717 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 raitsarevoHi
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 -
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:
user612485Hi,
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. -
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?
tksWithout 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 -
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
nullHi,
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,
~ORAThe 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 youStatspack 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 PMDear 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. -
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 ignoredWhen 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:
pinjamStart 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
-
Clock incorrect, and adjusting in Date & Time doesn't help
I have corrected this in date and time by updating the timezone and even manually setting the clock, but the time displayed by my computer is still based on the GMT timezone for some reason. Thank you for your help.
-
URGENT: How to run threads in sequence?
Dear experts, I am new to writing threads. I would like to know how to run threads in sequence? How do I know when a thread finishes its task? In the following code, classes Process_A(), Process_B(), Process_C() and Process_D() are subclasses of Clas
-
Took photo with iphone 4s. Picture displays in picture preview on bottom left, but is not in camera roll. Pic should be in phone somewhere since it's in preview. Any advice?
-
Bridge CS4 with very large image archves
I have just catalogued 420,000 images from 3TB of my photographic collection. For those interested, the master cache files became quite large and took about 9 days of continuous processing: cache size: 140 gb file count: 991,000 folder count: 3000 Al
-
NO MAPS OR A PICTURE WHEN USING GPS
Bassically when i try and use my gps theres no picture(just a white screen) and two flashing arrow type fonts in the top right hand corner of the phone the sattelite @ the bottom of the right hand side of the screen has a red cross over it,please can