Sunday 9 September 2012

Oracle wait events

free buffer waits

This wait event indicates that a server process was unable to find a free buffer and has posted the database writer to make

free buffers by writing out dirty buffers. Once DBWR finishes writing the dirty buffers to disk, they are free to be reused.

AWR shows significant waits for free buffer waits

Causes and solution

1) It could be due to poor file write performance in some filesystems. Investigate possible I/O performance problems on the filesystem.

2) Due to small buffer cache. Increase db_cache_size parameter manually or implement Automatic memory management (ASMM).

3) Use multiple DBwriters or enable asynchronous I/O if the platform supports.


log buffer space

This event occurs when server processes are writing redo records to the log buffer faster than LGWR can write them out. So, the log buffer fills up and the processes wait for free space. After LGWR writes some buffers out, then those buffers may be reused by other processes.

Causes and solution

1) LOG_BUFFER is too small. Increase the size of redo log buffer.

2) Could be due to slow redo log files (lgwr is writing very slow due to slow disks). Move the redo logs to faster disks.


read by other session

A session wants to pin a block that is currently being read from disk into the buffer cache by another session.

Causes and solution

1) Tune the SQL statement to use less I/O. from 10g, SQL tuning advisor can be used for tuning the query.

2) Due to small buffer cache. Increase db_cache_size parameter manually or implement Automatic memory management (ASMM).

No comments:

Post a Comment