Friday, June 29, 2012

Wait Events and Potential Causes in Oracle


Wait Event 
General Area 
Possible Causes 
Look For / Examine 
buffer busy
waits

Buffer cache, DBWR 
Dependent on type of buffer:
index block in a primary key that is based on an ascending sequence
rollback segment header

Examine V$SESSION_WAIT while the problem is occurring to determine the type of block contended for. 
free buffer
waits

Buffer cache, DBWR, I/O 
Slow DBWR (possibly due to I/O?)
Cache too small 

Examine write time using OS statistics.
Check buffer cache statistics for evidence of too small cache. 

db file
scattered
read

I/O, SQL statement tuning 
Poorly tuned SQL
Slow I/O system 

Investigate V$SQLAREA to see whether there are SQL statements performing many disk reads.
Cross-check I/O system and V$FILESTAT for poor read time. 

db file
sequential
read

I/O, SQL statement tuning 
Poorly tuned SQL
Slow I/O system 

Investigate V$SQLAREA to see whether there are SQL statements performing many disk reads.
Cross-check I/O system and V$FILESTAT for poor read time.

enqueue

Locks 
Depends on type of enqueue 
Look at V$ENQUEUE_STAT
latch free

Latch contention 
Depends on latch 
Check V$LATCH. 
log buffer space 
Log buffer, I/O 
Log buffer small
Slow I/O system 

Check the statistic redo buffer allocation retries in V$SYSSTAT. Check configuring log buffer section

Check the disks that house the online redo logs for resource contention. 
log file sync 
I/O, over- committing 
Slow disks that store the online logs
Un-batched commits 

Check the disks that house the online redo logs for resource contention.
Check the number of transactions (commits + rollbacks) per second, from V$SYSSTAT

No comments:

Post a Comment