Awr Analysis 10 Steps
Awr Analysis 10 Steps
A blog about Database Administration, Exadata, DBA tutorials, Database troubleshooting and new Development in Database area. The views
expressed are my own and not necessarily those of Oracle and its affiliates.
Home Fundamentals Oracle Errors Performance Tuning ASM Datafiles & Tablespaces Exadata
Follow by Email
1. Collect Multiple AWR Reports: It's always good to have two AWR Reports, one for good
time (when database was performing well), second when performance is poor. This way Remote DBA
can easily compare good and bad report to find out the culprit.
Blog Archive
2. Stick to Particular Time: "Database is performing slow" will not help anymore to resolve
2017 (1) performace issues. We have to have a specific time like Database was slow yesterday at 1 Pm and
2014 (1) continue till 4Pm. Here, DBA will get a report for these three hours.
3. Split Large AWR Report into Smaller Reports: Instead of having one report for long
time like one report for 4hrs. it's is better to have four reports each for one hour. This will help to isolate Follow
the problem.
In case of RAC env. generate one report for each instance. Once, you have generated AWR report. DBAs-oracle.com
Now, it's time of analyze the report. Since, AWR report is a huge report and area to look into AWR is 245 likes
also depends on problem to problem. Here, I am list most common area for a DBA to look into which will
give a clear picture of the issue.
After getting an AWR Report This is first and Top part of the report. In this part cross check for database
and instance and and database version with the Database having performance issue.This report also
show RAC=YES if it's an RAC database.
2. Host Configuration:
This will give you name, platform CUP, socket and RAM etc. Important thing to notice is number of
cores into the system. In this example there are 12 CUP's in Cores.
1 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
2013 (78)
August (2) This are the detail about snap shot taken, Snap start time and end time. Difference between them is as
"Elapsed". Here is a new term "DB Time"
July (11)
June (10)
May (9)
7 Important CellCLI
Commands for
Exadata DBA
5 Easy Step to Solve
ORA-04031 with
Oracle Support...
What is Application DB Time= session time spent in database.
Dealock ? How to
Reproduce and... DB Time= CPU Time + Non IDLE wait time.
List of 10 Must Know
Oracle Database You can find, DB time is very large as compared to Elapse time, which is not a concern. Check if you
Parameters fo...
have taken a report for the time having performance problem. If yes fine, other wise take a report for
How to Analyze or performance problem time.
Read OS Watcher
Output in three ...
Next is Cache Sizes, which is just detail about SGA components.
How to Troubleshoot
ORA-00600 and
ORA-07445 4. Load Profile:
Intern...
10 Tips for Oracle Here are few important stats for a DBA to look into. Fist is "DB CPU(s)" per second. Before that let's
Database Security understand how DB CUP's work. Suppose you have 12 cores into the system. So, per wall clock second
Best Practice...
you have 12 seconds to work on CPU.
10 Steps to Analyze
AWR Report in
Oracle
DBA VIEW: Top 10 to
keep Handy
April (8)
March (13)
February (7)
January (18)
2012 (23)
2011 (80)
2010 (2)
2009 (6)
2008 (2)
So, if "DB CPU(s)" per second in this report > cores in (Host Configuration (#2)).
means env is CPU bound and either need more CPU's or need to further check is this happening all the
time or just for a fraction of time. As per my experience there are very few cases, when system is CPU
bound.
In this case, machine has 12 cores and DB CPU(s) per second is 6.8. So, this is not a CPU bound
case.
Next stat to look at are Parses and Hard parses. If the ratio of hard parse to parse is high, this means
Database is performing more hard parse. So, needs to look at parameters like cursor_sharing and
application level for bind variables etc.
In these statistics, you have to look at "% Non-Parse CPU". If this value is near 100% means most of
the CPU resources are used into operations other than parsing, which is good for database health.
This is another most important stats to consider while looking at AWR Report for any database
performance related issue. This has a list of top 5 foreground wait events.
Here, first of all check for wait class if wait class is User I/O , System I/O, Others etc this could be fine
but if wait class has value "Concurrency" then there could be some serious problem. Next to look at is
2 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
Time (s) which show how many times DB was waiting in this class and then Avg Wait (ms). If Time(s)
are high but Avg Wait (ms) is low then you can ignore this. If both are high or Avg Wait (ms) is high
then this has to further investigate.
In the above screen shot, most of the resource are taken by DB CPU = 64% DB time. Taking resource
by DB CUP is a normal situation.
Let's take an example, In which event is "log file switch (checkpoint incomplete) " which has high waits,
huge Time (s) and large values in Avg Wait (ms) and wait class is configuration. So, here you have to
investigate and resolve log file switch (checkpoint incomplete).
Host CPU, Instance CPU and Memory Statistics are self explanatory. Next is RAC Statistics, I did not
find any issue in these stats most of the time.
This is a detailed explanations of system resource consumptions. Stats are order by Time (s) and % of
DB Time.
Because this is cumulative time i.e. In this case SQL execute elapsed time is taking 89% of DB time,
which includes it sub parts like parse time elapsed, hard parse elapsed time etc. So, if you find Hard
parse time elapsed is taking more %. So investigate further so on and so forth.
This is the information related to OS, what is the load status on System shown here.
This report shows, system is 62 and 70% idle at time of report taken, So, there is no resource crunch at
system level. But if, you found very high busy, user or sys % and indeed this will led to low idle %.
Investigate what is causing this. OS Watcher is the tool which can help in this direction.
Next, very crucial part of AWR report for a DBA is SQL Statistics. Which has all sql query details
executed during report time interval.
We will explore few of them, To understand, how to analyzed these reports. Let's start with
As explained by name itself, this lists SQL queries ordered by Elapsed time into reported time interval.
3 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
In this report, look for query has low executions and high Elapsed time per Exec (s) and this query
could be a candidate for troubleshooting or optimizations. In above report, you can see first query has
maximum Elapsed time but no execution. So you have to investigate this.
In Important point, if executions is 0, it doesn't means query is not executing, this might be the case
when query was still executing and you took AWR report. That's why query completion was not covered
in Report.
In this report, SQL queries are listed on the basis of CPU taken by the query i.e. queries causing high
load on the system. The top few queries could be the candidate query for optimization.
However, There are so many other stats in AWR Report which a DBA needs to consider, I have listed
only ten of them but these are the most commonly used stats for any performance related information.
Please share you view about this article, Does it helps you to understand, How to analyze AWR Report.
91 comments:
Reply
Replies
there are 10 stats discussed and all are very clear to me now..hope u will show some other
stats as well..thanks a lot.
Regards
Amit Pal
Hi Umesh,
Tx
Hi,
It was really a nice starts for performance tuning. Please share some more explanation on the
same to dig more to AWR Report.
Reply
4 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
Reply
Replies
Reply
Very nice article.....thanks for sharing...also share some books & tips which have detail information and
analysis of AWR,ASH & ADDM Report.
Reply
Reply
Reply
Reply
Replies
Thanks Feroz
Reply
Thanks for Sharing the document, its good analysis of AWR Report.
Reply
Reply
Thanks friends.
Reply
Reply
Thanks in advance..
Reply
Replies
Thanks friend.
Reply
5 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
Reply
Replies
Thanks friend.
Reply
Reply
Replies
Thanks dear.
Reply
It is very informative .
Thanks
Reply
Reply
Replies
Thanks Gaurav.
Reply
Reply
Replies
Thanks Dear.
Reply
Dear Umesh ,
Regards
Goulay
Oracle DBA
Reply
Replies
Welcome friend.
Reply
Very informative
small typo
10. SQL Ordered by CUP Time needs to be read as 10. SQL Ordered by CPU Time
Reply
6 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
SQL execute elapsed time is taking 89% of DB should be SQL execute elapsed time is taking 98% of DB
(looks like typo)
Reply
Reply
thanks
Reply
Superb article.. helped me in understanding the awr report checks.. Great job..
Thanks
Reply
Reply
Reply
This report has been taken when user sessions are active for long time. Please tell me what is sbtwrite2.
Reply
In the #6 you mention about "Concurrency" as serious problem - could you give any example? What does
it mean concurency?
Reply
Replies
As in real life, concurrency means to client wants to access to the same object simultaneously.
Lock is the solution but could be an issue, when it is not released or take a lof of time to
release the object....
Reply
-Vikas
Reply
Thank you.
In the first part, I don't understand why you use "cores" and not "cpus". And I don't know what appends if
the cpu_counts parameters is setted less?
Reply
Replies
cores are CPUs, essentially, a multi core cpu happens to have more than one cpu on a chip,
meaning it can do more than one thing at a time. duo-core= 2 cpu. Quas-core=4CPU and so
7 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
on. In this post, I think the author is mistaking 24 CPUs for just 12. Correct me if I am wrong
Reply
thanks
Lakshminarayan
Reply
thanks
Lakshminarayan
Reply
Many Thanks for sharing this, very much informative and useful
Reply
Reply
Reply
Hi Umesh
Very .. but very interesting article !
Congratulations !
Reply
Reply
Nice Article...
Reply
Nice one :)
Reply
Reply
good to read it
Reply
good article
Reply
This is a good article.. I am new to AWR reports.. But this helped me get some insight in the topic.
thank you..
Reply
8 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
Reply
Reply
Usefull hints...
Thanks
Suresh
Reply
It is quite useful. Can someone tell me if the elapsed time per execution and executions show empty(no
value at all) then what does it mean?
Reply
Reply
Reply
Reply
excellent representation. Please provide more detail about AWR and ADDM report reading.
Reply
Excellent representation. Please share more detailed information on AWR and ADDM report reading and
analysys.
Reply
Reply
Reply
awesome explanation
Reply
Try to get more set of idea through this really fun know this
PlSQL Training
Reply
Reply
9 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
Hi,
Thanks
Reply
Thanks
Reply
Reply
Reply
Thanks,
Saurav.
Reply
Excellent for guys like me as it's useful in day to day support projects
Reply
Reply
Excellent overview and introduction to the AWR. I read it while looking at our AWR report and now my
report makes sense. Thanks a lot
Reply
Reply
great article....
Reply
Hi, I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for
sharing such an informative post. keep update your blog. R Programming Online Training
Reply
good content..
Reply
Reply
10 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
Reply
Reply
very useful article. Kindly upload more articles with Performance tuning approaches.
Reply
Nice article.
Reply
Reply
Reply
Reply
excellent information...tx
Reply
Reply
Comment as:
Publish Notify me
11 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...
12 of 12 24-05-2019, 13:24