Toad World® Forums

Understanding Oracle Wait Stats

Oracle 11g on Linux. Down below is daily wait stats we run. I am trying to understand some of the entries.
For example CPU wait class. 81 percentage.
Does this mean Oracle was waiting for CPU thread 81 percent of the time or does this indicate CPU idle time.

Any comments, help is appreciated.

Wait Class

Name

Time (Seconds)

Percentage

CPU

server CPU

415246.62

81.48

User I/O

db file sequential read

21623.73

4.24

User I/O

db file scattered read

20493.53

4.02

Network

TCP Socket (KGAS)

11106.65

2.18

System I/O

log file parallel write

10067.4

1.98

System I/O

db file parallel write

6010.89

1.18

Application

enq: TX - row lock contention

4912.86

.96

Commit

log file sync

4851.02

.95

System I/O

db file async I/O submit

3343.9

.66

System I/O

RMAN backup & recovery I/O

2396.98

.47

System I/O

control file sequential read

2392.73

.47

Concurrency

os thread startup

1730.13

.34

User I/O

direct path read

1444.08

.28

System I/O

control file parallel write

1364.94

.27

User I/O

Disk file operations I/O

984.99

.19

Application

enq: TM - contention

335.39

.07

User I/O

db file parallel read

278.92

.05

User I/O

direct path write temp

265.78

.05

Network

SQL*Net message to client

175.13

.03

Network

SQL*Net more data to client

152.27

.03

Concurrency

library cache lock

83.83

.02

Application

SQL*Net break/reset to client

73.4

.01

Scheduler

resmgr:cpu quantum

60.84

.01

It’s hard to say without seeing the query that generated this data, but it looks like the total of the percent column is 100%. So of the total time spent waiting, 81% of that time was waiting on CPU. That is not the same as saying that you were waiting on CPU 81% of the total time that this data was collected. There could have been idle time in there were you were not waiting al all.