Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

AWR SQL Report: cannot tell where most of the wait time is going to

bderousFeb 3 2017 — edited Feb 7 2017

Hi,

I have a very slow query on my 12c database (EE 12.1.0.2). It queries a view based on many tables with many outer joins, these tables are all partitioned and have millions of rows.

I'm not asking for advice on the query plan but I would appreciate some guidance on the AWR SQL Report. Consider this:

Stat NameStatement TotalPer Execution% Snap Total
Elapsed Time (ms)61,780,59961,780,599.3743.45
CPU Time (ms)28,567,14628,567,146.0856.87
Executions1
Buffer Gets776,323776,323.000.16
Disk Reads720,828720,828.000.42
Parse Calls11.000.00
Rows00.00
User I/O Wait Time (ms)88,533
Cluster Wait Time (ms)0
Application Wait Time (ms)1,154
Concurrency Wait Time (ms)33
Invalidations0
Version Count18
Sharable Mem(KB)6,547

My question here is: where is most of elapse time going to? A big part is going to CPU. I would have expected that IO wait time would take up the rest of the wait time. Because during query runtime, I see a lot of waits on "direct path read temp" and "direct path read". Is there something missing? Is perhaps the network taking a lot of time because I know that this query is supposed to output 4M rows (the report shows 0; have no idea why).

On what part do I need to focus if I want this query to run faster? on cpu? on IO? on network throughput?

Relevant reports are attached.

Kind regards,

Benny Derous.

This post has been answered by Franck Pachot on Feb 7 2017
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 7 2017
Added on Feb 3 2017
16 comments
3,441 views