CPU Time in Top 5 Timed Events
Hi,
We have a 2 node RAC database(10.2.0.3) on Solaris 10.
There is performance issue with CMRO application R12.
In database I see CPU time consistently as the top wait event in the Top 5 Timed Events.
This is mostl followed by db file sequential read.
For one of the days:
Top 5 Timed Events
Event Waits Time(s) Avg Wait(ms) % Total Call Time Wait Class
CPU time 8,383 82.8
db file sequential read 173,417 838 5 8.3 User I/O
SQL*Net break/reset to client 26,015 651 25 6.4 Application
enq: TX - row lock contention 1,063 356 335 3.5 Application
gcs log flush sync 37,747 88 2 .9 Other
For other day:
Top 5 Timed Events
Event Waits Time(s) Avg Wait(ms) % Total Call Time Wait Class
CPU time 25,286 62.0
db file sequential read 2,644,332 8,267 3 20.3 User I/O
gc buffer busy 1,358,725 3,830 3 9.4 Cluster
read by other session 438,494 1,169 3 2.9 User I/O
SQL*Net more data to client 19,423 879 45 2.2 Network
Any idea of the of the bottleneck?
Thanks
8 CPUs, load average 4, runqueue 0 and usage 30-35%
Does this indicate any issue with system resourcesNO. Not at all.
However a poor schema design or inefficient SQL execution can mean that a query that should do 100 'consistent gets' is doing 10,000 'consistent gets' -- in the buffer cache, consuming CPU and not waiting for I/O. This is a scenario where you have idle CPU but CPU usage is inefficient. (Thus, for example, adding more CPUs will not help your users at all).
So you should look at the queries and see if queries can be improved.
If, on the other hand, users are not complaining of performance and all response times are within expectations, than you have no issue at all.
Hemant K Chitale
Similar Messages
-
Understanding statspack report(CPU time in top time events)
Hi,
I am using oracle 9.2.0.8 RAC on SUN solaris platform.I am trying to understand my DB statistics using the below statspack report.Can you please coment on the below report
My quetions/thoughts are:
1) CPU time is in the top timed events,Is that eman some need to do with CPU increase.Was CPU bottleneck?
2) Parse CPU to Parse Elapsd %: 80.28 .Is this means I am hard parsing most of the time.How can identify which queries doing more hard parses.what is mean by% Non-Parse CPU: 98.76
3) Memory Usage %: 96.25 96.64.It seems to be there is too much memory usage.Can you elaborate this usage about what could be the reasons for this to happen
4) global cache cr request is coming in the top wait evetns and top timed events.Is there some issue with RAC?
5) can you please explain about 5 CR Blocks Served (RAC) and 5 CU Blocks Served (RAC) and Top 5 ITL Waits per
Your help is appreciated!!
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 2,101,521.49 18,932.15
Logical reads: 91,525.82 824.54
Block changes: 6,720.68 60.55
Physical reads: 5,644.92 50.85
Physical writes: 464.97 4.19
User calls: 922.79 8.31
Parses: 342.37 3.08
Hard parses: 1.52 0.01
Sorts: 324.18 2.92
Logons: 2.66 0.02
Executes: 2,131.75 19.20
Transactions: 111.00
% Blocks changed per Read: 7.34 Recursive Call %: 78.48
Rollback per transaction %: 22.43 Rows per Sort: 15.89
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.66 Redo NoWait %: 100.00
Buffer Hit %: 93.86 In-memory Sort %: 100.00
Library Hit %: 99.95 Soft Parse %: 99.56
Execute to Parse %: 83.94 Latch Hit %: 99.79
Parse CPU to Parse Elapsd %: 80.28 % Non-Parse CPU: 98.76
Shared Pool Statistics Begin End
Memory Usage %: 96.25 96.64
% SQL with executions>1: 34.19 32.67
% Memory for SQL w/exec>1: 39.87 40.47
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
CPU time 10,406 42.54
db file sequential read 1,707,372 4,282 17.51
global cache cr request 2,566,822 2,369 9.68
db file scattered read 1,109,892 1,719 7.03
SQL*Net break/reset to client 17,287 1,348 5.51
Wait Events for DB: Instance:
-> 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 1,707,372 0 4,282 3 8.5
global cache cr request 2,566,822 3,356 2,369 1 12.8
db file scattered read 1,109,892 0 1,719 2 5.5
SQL*Net break/reset to clien 17,287 0 1,348 78 0.1
buffer busy waits 312,198 11 1,082 3 1.6
Message was edited by:
user509266This statspack taken for 30 minutes interval.We have 16 CPU's.We never got ORA-4031 errors.It means you have 16 * 30 * 60 = 28,800 seconds CPU available during the interval but you only used 10,406. So you don't have a CPU problem.
For Statspack documentation, you can have a look to <ORACLE_HOME>/rdbms/admin/spdoc.txt, Metalink note 228913.1, Jonathan Lewis Scratchpad, books commended by Rajesh Kumar Yogi and also to http://www.oracle.com/technology/deploy/performance/index.html -
Hi,
when i generate AWR report i found
db_file_sequential read.
db_file_scattered read.
Log file sync
busy buffer wait
How can i resolve the above wait events pls suggest me.Hi Srini,
you don't need to resolve anything because it's in the top-5 wait list in an AWR report. Like Tanel Poder puts it "don't let your AWR report tell you what your problem is".
In your case: db file sequential/scattered reads are disk I/O, that's perfectly normal for a database to be waiting on such events. However, you should check "top SQL by reads" to see if there are any statements that are causing a significant fraction of these reads.
Log file sync is normally related to frequent commits, but can have other causes as well. Much more information is needed to investigate.
Buffer busy wait indicates contention for hot blocks. If you want to reduce these events, you need to find the source of this contention, this is something AWR cannot tell you -- you have to turn to ASH and other high-resolution diagnostic tools instead.
However, a fact that an event made it to the top-5 list is not meaningful in itself. What % of database time is it consuming? Is it big enough to justify any tuning effort?
Best regards,
Nikolay -
CPU time & buffer busy waits events are causing performance degradation.
Oracle Version : - 11.2.0.2.0 Standard Edition
OS Platform :- Linux x86 64-bit
Edited by: 861928 on Aug 17, 2011 5:52 PMHi,
Please find the select query trace.
Edited by: 861928 on Aug 17, 2011 5:52 PM -
Hello Folks,
AWR report shows cpu time in top 5 timed events buy on average noticed that 90% of cpu is free most of the times
is it normal as below,does anything performance hit may occur due to this
CPU time
db file sequential read
db file scattered read
SQL*Net more data to client
SQL*Net more data from client
thanksthanks for reply
below is time model statistics,i think its related to sql executions
Time Model Statistics
-> Total time in database user-calls (DB Time): 703.5s
-> Statistics including the word "background" measure background process
time, and so do not contribute to the DB time statistic
-> Ordered by % or DB time desc, Statistic name
Statistic Name Time (s) % of DB Time
sql execute elapsed time 621.1 88.3
DB CPU 621.0 88.3
parse time elapsed 60.3 8.6
hard parse elapsed time 57.7 8.2
connection management call elapsed time 2.6 .4
hard parse (bind mismatch) elapsed time 2.1 .3
hard parse (sharing criteria) elapsed time 2.1 .3
PL/SQL compilation elapsed time 1.2 .2
PL/SQL execution elapsed time 1.0 .1
repeated bind elapsed time 0.2 .0
sequence load elapsed time 0.0 .0
DB time 703.5 N/A
background elapsed time 24.9 N/A
background cpu time 10.5 N/A
------------------------------------------------------------- -
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. -
CPU TIME and DB CPU events under TOP 5 TIMED FOREGROUND EVENTS section in AWR report
Is there any difference between "CPU TIME" event and "DB CPU" event when shown in AWR report under section "TOP 5 TIMED FOREGROUND EVENTS"?
As per my understanding of both these terms they indicate the same thing. But then if it is so then why have different names?
I searched around but the only relevant discussion that I found was as under, which didn't really cleared the doubt.
https://forums.oracle.com/message/2571255#2571255In the article that you have mentioned - Jonathan Lewis gives you a very clear explanation. CPU Time is updated at the end of a query. DB CPU is updated every few seconds.
So the CPU Time may be less than DB CPU if there is a long running query that did not complete during the snapshot that you are reporting for. Conversly CPU Time may be larger than DB CPU if there is a long running query that spanned multiple snapshots but completed in the snapshot that you are reporting for. -
Statspack : Top 5 Timed Events - CPU time
Hi,
I just get some statspack reports on my 10.2.0.2 database (HP-UX 11i).
I'm just surprise about the CPU time into the Top-5 events.
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time
CPU time 4,263 97.3
latch: cache buffers chains 197,925 42 0 1.0
log file parallel write 8,982 22 2 .5
log file sync 8,620 22 3 .5
wait list latch free 399 7 17 .2What does CPU time here ? Is it a problem here ?
Thanks in advance for your lights.Hi,
it seems that your database experiences a high SQL workload. The section of statspack report called "Top SQLs by Buffer Gets" might give you an idea what SQLs caused this CPU workload. -
StatsPack Report Top 5 Timed Events
Here is my StatsPack report , The 1st one is base line, Performance looks nice here , but in 2nd and 3rd its not good. Need suggestion , what this reprot mean. and what should i do next.
Cache Sizes (end)
~~~~~~~~~~~~~~~~~
Buffer Cache: 1,920M Std Block Size: 16K
Shared Pool Size: 304M Log Buffer: 20,480K
Performance is good here
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
enqueue 15,551 25,630 41.78
db file sequential read 1,281,988 10,205 16.64
CPU time 7,781 12.68
log file sync 325,921 6,482 10.57
buffer busy waits 199,959 2,591 4.22
Performance is not good here
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
db file sequential read 1,180,605 10,883 23.99
CPU time 8,012 17.66
log file sync 365,098 7,788 17.17
enqueue 8,906 6,413 14.13
db file scattered read 137,606 2,930 6.46
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
enqueue 14,413 18,029 27.04
db file sequential read 1,281,801 12,383 18.57
CPU time 10,002 15.00
log file sync 356,982 8,488 12.73
row cache lock 1,765 3,510 5.27>
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
> enqueue 14,413 18,029 27.04> db file sequential read 1,281,801 12,383 18.57
CPU time 10,002 15.00
log file sync 356,982 8,488 12.73
> row cache lock 1,765 3,510 5.27
buffer busy waits 199,959 2,591 4.22
Look into these events, enqueue, row cache lock, buffer busy wait
select * from V$ENQUEUE_STAT
to find out which enqueue the database has been waiting on.
The three events could be related.
Most likely you have one/some hot objects that a lot queries updating on at the same time.
also check
v$session_wait
when you have the performance issue to find out the hot objects. -
I am running perfstat in Oracle9i Enterprise Edition Release 9.2.0.4.0. When I create a perfstat report using the standard scripts I see a wait event called "CPU time." I don't understand what this means. The OEM server monitoring tool does not indicate that the CPU is being used more than 50%, often more like 20%. The top 5 wait events is below.
What does "CPU time" time mean?
the following top 5 wait events:
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
CPU time 2,200 61.88
db file sequential read 113,042 639 17.96
control file parallel write 9,345 471 13.24
log file sync 4,722 122 3.44
db file scattered read 13,375 67 1.87Hi,
Below is part of my Statspack
```````
Snap Id Snap Time Sessions Curs/Sess Comment
Begin Snap: 13805 26-Mar-08 08:00:03 85 173.2
End Snap: 13806 26-Mar-08 09:00:05 98 154.4
Elapsed: 60.03 (mins)
Cache Sizes (end)
~~~~~~~~~~~~~~~~~
Buffer Cache: 1,024M Std Block Size: 8K
Shared Pool Size: 400M Log Buffer: 2,048K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 183,878.75 16,898.36
Logical reads: 61,602.61 5,661.25
Block changes: 1,255.54 115.38
Physical reads: 7,370.56 677.35
Physical writes: 55.64 5.11
User calls: 341.11 31.35
Parses: 56.26 5.17
Hard parses: 0.32 0.03
Sorts: 56.43 5.19
Logons: 0.80 0.07
Executes: 712.67 65.49
Transactions: 10.88
% Blocks changed per Read: 2.04 Recursive Call %: 82.56
Rollback per transaction %: 9.29 Rows per Sort: 1043.63
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.98 Redo NoWait %: 100.00
Buffer Hit %: 88.06 In-memory Sort %: 100.00
Library Hit %: 99.96 Soft Parse %: 99.42
Execute to Parse %: 92.11 Latch Hit %: 99.95
Parse CPU to Parse Elapsd %: 69.60 % Non-Parse CPU: 99.64
Shared Pool Statistics Begin End
Memory Usage %: 89.25 89.26
% SQL with executions>1: 40.51 39.68
% Memory for SQL w/exec>1: 29.05 29.45
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
CPU time 9,272 43.73
db file sequential read 5,203,772 7,027 33.14
db file scattered read 2,198,721 1,547 7.30
log file parallel write 20,935 1,126 5.31
log file sync 10,277 759 3.58
``````````````````
From my observation I found that it seems CPU is bottneck on this Server. I have gathered few SQLs to find out whether any scope for tuning but still I believe that by reducing the cache size also I can divide the load or can say transfer the load from CPU to I/O. Am I correct or do I need to look over else ?
Thanks
MJ -
Hello All,
In my statspack I am seeing resmgr:decome active 20,009 seconds waiting. We have 8 queue tables and 8 resource group. Is this resource group or queue tables are causing this wait??
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time
resmgr:become active 1,189 20,009 16828 97.4
CPU time 141 .7
control file sequential read 29,319 74 3 .4
os thread startup 73 59 803 .3
DFS lock handle 527 55 104 .3
Regards,
RashidaYou should have a look to the bug #6774317 if that applies to your case.
Nicolas. -
PX Deq Credit: send blkd At AWR "Top 5 Timed Events"
PX Deq Credit: send blkd At Top 5 Timed Events
Hi ,
Below are examples of "Top 5 Timed Events" in my Staging data warehouse database.
ALWAYS , at the most Top 5 Timed Events is the event : PX Deq Credit: send blkd.
Oracle saids that its an idel event, but since it always at the the top of my AWR reports
and all the others events are far behind it , i have a feeling that it may indicate of
a problem.
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
PX Deq Credit: send blkd 3,152,038 255,152 81 95.6 Other
direct path read 224,839 4,046 18 1.5 User I/O
CPU time 3,217 1.2
direct path read temp 109,209 2,407 22 0.9 User I/O
db file scattered read 31,110 1,436 46 0.5 User I/O
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
PX Deq Credit: send blkd 6,846,579 16,359 2 50.4 Other
direct path read 101,363 5,348 53 16.5 User I/O
db file scattered read 105,377 4,991 47 15.4 User I/O
CPU time 3,795 11.7
direct path read temp 70,208 940 13 2.9 User I/O
Hir some more information:
Its a 500GB database on linux Red hat 4 with 8 CPUs and 16GB memory.
Its based on an ASM file system.
From the spfile:
SQL> show parameter parallel
NAME_COL_PLUS_SHOW_PARAM VALUE_COL_PLUS_SHOW_PARAM
parallel_adaptive_multi_user TRUE
parallel_automatic_tuning FALSE
parallel_execution_message_size 4096
parallel_instance_group
parallel_max_servers 240
parallel_min_percent 0
parallel_min_servers 0
parallel_server FALSE
parallel_server_instances 1
parallel_threads_per_cpu 2
recovery_parallelism 0
Thanks.>
Metalink Note:280939.1 said:
"Consider the use of different number for the DOP on your tables.
On large tables and their indexes use high degree like #CPU.
For smaller tables use DOP (#CPU)/2 as start value.
Question 1:
"On large tables"--> Does Metalink mean to a large
table by its size (GB) or by number of rows ?
That's one of those vague things that people say without thinking that it
could have different meanings. Most people assume that a table that is
large in Gb is also large in number of rows.
As far as PQ is concerned I think that large numbers of rows may be more significant than large size, because (a) in multi-layer queries you pass rows around and (b) although the initial rows may be big you might not need all the columns to run the query, so Gb become less relevant once the data scan is complete
As a strategy for keeping DOP on the tables, by the way, it sounds quite
good. The difficulty is in the fine-tuning.
Question 2:
I checked how many parallel operations had been
downgraded and found that less than 4% had been
downgraded. Do you think that i still have to consider
reducing the DOP ?
Having lots of slaves means you are less likely to get downgrades. But it's the number of slaves active for a single query that introduce the dequeue waits - so yes, I think you do need to worry about the DOP. (Counter-intuitively, the few downgraded queries may have been performing better than the ones running at full DOP).
The difficulty is this - do you need to choose a strategy, or do you just need to fix a couple of queries.
Strategy 1: set DOP to 1 on all tables and indexes, then hint all queries that you think need to run parallel, possibly identifying a few tables and indexes that could benefit from an explicit setting for DOP.
Strategy 2: set DOP to #CPUs on all very large tables and their indexes and #CPUs/2 on the less large tables and their indexes. Check for any queries that perform very badly and either hint different degrees, or fine-tune the degree on a few tables.
Strategy 3: leave parallelism at default, identify particularly badly performing queries and either put in hints for DOP, or use them to identify any tables that need specific settings for DOP.
Starting from scratch, I would want to adopt strategy 1.
Starting from where you are at present, I would spend a little time checking to see if I could get some clues from any extreme queries - i.e. following strategy 3; but if under a lot of time pressure and saw no improvement I would switch to strategy 2.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk -
Async disk IO in TOP 5 timed event
Hi all,
I took a statspack report and i found that in the Top 5 timed event we are getting async disk io
Tablespace IO Stats for DB: ac Instance: ac11 Snaps: 101 -102
->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)
data
252,567 87 4.9 2.2 17,615 6 393 18.4
dataNRO
97,326 34 3.1 3.7 255 0 0 0.0
dataWRO
18,237 6 3.6 3.5 595 0 0 0.0
dataCRO
10,157 4 4.8 1.8 63 0 22 3.2
UNDOTBS1
3 0 10.0 1.0 4,733 2 1 0.0
dataERO
2,906 1 4.2 4.7 237 0 0 0.0
MFXPIMA
895 0 6.3 1.0 300 0 0 0.0
INDX
852 0 15.7 1.0 250 0 0 0.0
SYSTEM
228 0 11.3 1.8 72 0 0 0.0
dataHO
1 0 50.0 1.0 1 0 0 0.0
dataOTH
1 0 0.0 1.0 1 0 0 0.0
CWMLITE
1 0 0.0 1.0 1 0 0 0.0
DRSYS
1 0 0.0 1.0 1 0 0 0.0
ODM
1 0 0.0 1.0 1 0 0 0.0
RACCONFIG
1 0 100.0 1.0 1 0 0 0.0
TEMPSCHEMA
1 0 90.0 1.0 1 0 0 0.0
TOOLS
1 0 0.0 1.0 1 0 0 0.0
UNDOTBS2
1 0 80.0 1.0 1 0 0 0.0
UNDOTBS3
1 0 10.0 1.0 1 0 0 0.0
USERS
1 0 0.0 1.0 1 0 0 0.0
XDB
1 0 0.0 1.0 1 0 0 0.0
File IO Stats for DB: ac Instance: ac11 Snaps: 101 -102
->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)
data /dev/vx/rdsk/racdg/orcl_raw_data01
252,567 87 4.9 2.2 17,615 6 393 18.4
dataCRO /dev/vx/rdsk/racdg/orcl_raw_caddatacro
10,157 4 4.8 1.8 63 0 22 3.2
dataERO /dev/vx/rdsk/racdg/orcl_raw_dataero
2,906 1 4.2 4.7 237 0 0
dataHO /dev/vx/rdsk/racdg/orcl_raw_dataho
1 0 50.0 1.0 1 0 0
dataNRO /dev/vx/rdsk/racdg/orcl_raw_datanro
97,326 34 3.1 3.7 255 0 0
dataOTH /dev/vx/rdsk/racdg/orcl_raw_dataoth
1 0 0.0 1.0 1 0 0
dataWRO /dev/vx/rdsk/racdg/orcl_raw_datawro
18,237 6 3.6 3.5 595 0 0
CWMLITE /dev/vx/rdsk/racdg/orcl_raw_cwmlite
1 0 0.0 1.0 1 0 0
DRSYS /dev/vx/rdsk/racdg/orcl_raw_drsys
1 0 0.0 1.0 1 0 0
INDX /dev/vx/rdsk/racdg/orcl_raw_indx01
852 0 15.7 1.0 250 0 0
MFXPIMA /dev/vx/rdsk/racdg/orcl_raw_mfxpima
895 0 6.3 1.0 300 0 0
ODM /dev/vx/rdsk/racdg/orcl_raw_odm
1 0 0.0 1.0 1 0 0
RACCONFIG /dev/vx/rdsk/racdg/orcl_raw_racconfig
1 0 100.0 1.0 1 0 0
SYSTEM /dev/vx/rdsk/racdg/orcl_raw_system01
228 0 11.3 1.8 72 0 0
TEMPSCHEMA /dev/vx/rdsk/racdg/orcl_raW_tempschema
1 0 90.0 1.0 1 0 0
TOOLS /dev/vx/rdsk/racdg/orcl_raw_tools
1 0 0.0 1.0 1 0 0
UNDOTBS1 /dev/vx/rdsk/racdg/orcl_raw_undotbs1
3 0 10.0 1.0 4,733 2 1 0.0
UNDOTBS2 /dev/vx/rdsk/racdg/orcl_raw_undotbs2
File IO Stats for DB: ac Instance: ac11 Snaps: 101 -102
->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)
1 0 80.0 1.0 1 0 0
UNDOTBS3 /dev/vx/rdsk/racdg/orcl_raw_example
1 0 10.0 1.0 1 0 0
USERS /dev/vx/rdsk/racdg/orcl_raw_users
1 0 0.0 1.0 1 0 0
XDB /dev/vx/rdsk/racdg/orcl_raw_xdb
1 0 0.0 1.0 1 0 0
-------------------------------------------------------------Can anybody suggest me what we are facing this proble and what is the soln for the same although we are using SAN and our DB is ORacle 9.2.0.6 on sun boxWe are having a 2 cpu on the system
STATSPACK report for
DB Name DB Id Instance Inst Num Release Cluster Host
ac 1372079993 ac11 1 9.2.0.6.0 YES ac1
Snap Id Snap Time Sessions Curs/Sess Comment
Begin Snap: 101 01-Apr-09 13:10:01 1,112 130.8
End Snap: 102 01-Apr-09 13:58:14 1,112 132.3
Elapsed: 48.22 (mins)
Cache Sizes (end)
~~~~~~~~~~~~~~~~~
Buffer Cache: 4,288M Std Block Size: 8K
Shared Pool Size: 608M Log Buffer: 977K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 28,267.55 2,373.20
Logical reads: 5,172.08 434.22
Block changes: 195.00 16.37
Physical reads: 351.31 29.49
Physical writes: 8.34 0.70
User calls: 109.01 9.15
Parses: 13.71 1.15
Hard parses: 0.29 0.02
Sorts: 4.53 0.38
Logons: 0.06 0.01
Executes: 142.12 11.93
Transactions: 11.91
% Blocks changed per Read: 3.77 Recursive Call %: 72.11
Rollback per transaction %: 0.64 Rows per Sort: 104.78
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 100.00 Redo NoWait %: 100.00
Buffer Hit %: 93.21 In-memory Sort %: 100.00
Library Hit %: 99.62 Soft Parse %: 97.87
Execute to Parse %: 90.35 Latch Hit %: 99.94
Parse CPU to Parse Elapsd %: 52.84 % Non-Parse CPU: 99.69
Shared Pool Statistics Begin End
Memory Usage %: 90.10 90.77
% SQL with executions>1: 71.19 72.64
% Memory for SQL w/exec>1: 72.21 73.13
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
CPU time 4,356 55.57
async disk IO 233,930 986 12.58
db file sequential read 185,633 984 12.55
global cache cr request 487,188 524 6.68
db file scattered read 180,026 428 5.46
------------------------------------------------------------- -
How to retrieve 'top 5 timed events' from AWR
Hello,
I have a 10g database and awr is running every hour. How do I get the 'Top 5 Timed Events' from the awr report for every single hour on the last five days worth of awr reports? I can see the awr reports through GRID but where is the actual location of the snapshots? Instead of getting this information from awr reports, can I get 'Top 5 timed events' from the data dictionary for every hour for the last five days? Thank you in advance.watson2000 wrote:
Hello,
I have a 10g database and awr is running every hour. How do I get the 'Top 5 Timed Events' from the awr report for every single hour on the last five days worth of awr reports? I can see the awr reports through GRID but where is the actual location of the snapshots? Instead of getting this information from awr reports, can I get 'Top 5 timed events' from the data dictionary for every hour for the last five days? The "Top 5" comes from combining information about system events and the time model statistics. The information is stored in a number of tables in the SYS schema with names starting with WRH$, but also exposed in a set of views starting with DBA_HIST.
To reconstruct the Top 5 hourly for the last five days, you will need to access DBA_HIST_SYSTEM_EVENTS (system events) DBA_HIST_SYS_TIME_MODEL (time model) and DBA_HIST_SNAPSHOT (list of snapshot ids and times).
It won't be a trivial query, as you need to collect the "DB CPU" entry from dba_hist_system_time_model, union it with the dba_hist_system_events, then take the top 5 for each snapshot from the result. You'll probably need to look at subquery factoring and analytic functions to make this as efficient as possible.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
"Science is more than a body of knowledge; it is a way of thinking"
Carl Sagan
To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format. -
Slow DB performance; Top 5 timed events provided
DB version:10gR2
OS: aix
Due to the slow performance of our DB, we took an AWR snapshot.
The Top 5 timed events from our instance is shown below(Shown vertically due to formatting problems)
Event that ranked first
<font color="red"><b>CPU time</b></font>
Waits - Blank
Time(s)-29,387
Avg Wait(ms) - Blank
% Total Call Time - Blank
Wait Class - Blank
Event that ranked second
<font color="red"><b>read by other session</b></font>
Waits - 31,138,754
Time(s)-9,768
Avg Wait(ms) - 0
% Total Call Time - 15.5
Wait Class - User I/O
Event that ranked third
<font color="red"><b>db file sequential read</b></font>
Waits - 22,618,061
Time(s)-7,768
Avg Wait(ms) - 0
% Total Call Time - 12.5
Wait Class - User I/O
Event that ranked fourth
<font color="red"><b>db file scattered read</b></font>
Waits - 16,763,238
Time(s)-7,768
Avg Wait(ms) - 0
% Total Call Time - 12.5
Wait Class - User I/O
Event that ranked fifth
<font color="red"><b>enq: TM - contention</b></font>
Waits - 539
Time(s)-1,548
Avg Wait(ms) - 2,898
% Total Call Time - 2.5
Wait Class - ApplicationDo you guys have any suggestions based upon the above mentioned Top 5 timed events? Do you need any other info from our AWR snapshot?DB version:10gR2
OS: aix
Due to the slow performance of our DB, we took an AWR
snapshot.You mean "slow performance of your application", not "slow performance of your DB"?
Database is just a storage room where you store stuff. Your storing and retrieving
items from the storage room may or may not be too slow but the storage room itself
is neither fast nor slow.
The Top 5 timed events from our instance is shown
below(Shown vertically due to formatting problems)
Event that ranked first
<font color="red"><b>CPU time</b></font>
Waits - Blank
Time(s)-29,387
Avg Wait(ms) - Blank
% Total Call Time - Blank
Wait Class - BlankThis is a strong indication that there is a problem. Your SQL is burning CPU which is
something that doesn't happen in a normal DB server. Oracle is probably doing hash join
of small tables or something of that nature.
>
>
Event that ranked second
<font color="red"><b>read by other
session</b></font>This happens when several sessions start requesting the same block to be read into SGA.
The definition of the event can be found here:
http://www.confio.com/English/Collaterals/Newsletter/2006/200601_TheOracleResource.pdf
My experience with this wait event is that I see a lot of it when CURSOR_SHARING is set
to "FORCE". In addition to CONFIO's solution, you can also switch to Oracle11g and use client caching. Also, you can rebuild your hottest indexes as reverse indexes, as long as you
don't use them for range scans.
Waits - 31,138,754
Time(s)-9,768
Avg Wait(ms) - 0
% Total Call Time - 15.5
Wait Class - User I/O
Event that ranked third
<font color="red"><b>db file sequential
read</b></font>This is usually a sign of Oracle doing lots of index reads. Normally, this event is not something to be concerned about.
Waits - 22,618,061
Time(s)-7,768
Avg Wait(ms) - 0
% Total Call Time - 12.5
Wait Class - User I/O
Event that ranked fourth
<font color="red"><b>db file scattered
read</b></font>This event is waited on during a full table scan. This is perfectly in line with high CPU consumtion. You probably have quite a few hash joins.
Waits - 16,763,238
Time(s)-7,768
Avg Wait(ms) - 0
% Total Call Time - 12.5
Wait Class - User I/O
Event that ranked fifth
<font color="red"><b>enq: TM - contention</b></font>Now, this is strange. TM locks are table locks. TX locks are transaction locks. You
are waiting for the TABLE locks. It frequently happens when a report is ported from
another database which doesn't normally enforce ACID requirements. Report tools
cope with that by locking tables in the shared mode. If that kind of thing was allowed
to run unchanged on an Oracle RDBMS, it will cause endless concurrency problems.
I believe that this might be the root of the evil. However, without the insight into your
application a definite "maybe" is all I can tell you.
Do you guys have any suggestions based upon the above
mentioned Top 5 timed events? Do you need any other
info from our AWR snapshot?Gals should not respond?
Maybe you are looking for
-
Invalid content type for SOAP: TEXT/HTML; HTTP 500 Internal Server Error
Hi, I have this error on a SOAP Receiver Channel: invalid content type for SOAP: TEXT/HTML; HTTP 500 Internal Server Error I've found several threads on SDN Forums about similar errors, but I did not find a solution for my problem yet. I checked this
-
recently I installed more RAM, up from 1GB to 3GB. I frequently work in photoshop, indesign, and other apps at the same time, same project so I'll have other apps open, including internet browsing. i've still noticed i get the pinwheel alot more than
-
Adobe Air - HTML, Javascript and Threading
Hello, I am developing an application using Adobe Air - HTML and Javascript. What I am trying to do is to implement threading in Javascript. I am using implementing threading in Javascript as per this Neil blog. Click Here. It clearly says that this
-
How to create burn folder for backup with 2 accounts
The are 2 accounts on my computer: mine and my wife's. I want to create a single Burn Folder with important files from both accounts. How do I do that? Thanks, Owen
-
How can i chat with a apple person?
i cant sync my ipod5 and i need to chat with somebody in apple and i used to use it and now its GONE! ?? can somebody tell me what to do to get in a chat