free buffer waits等待事件
原创maclean_007 ©著作权
©著作权归作者所有:来自51CTO博客作者maclean_007的原创作品,请联系作者获取转载授权,否则将追究法律责任
Problem
This will happen if there is no free buffer in the buffer cache for the session to read a new block into. All buffer gets have been suspended.
This will frequently occur because DBWR is not writing out buffers fast enough.
This could happen when a file was read-only and is now read-write. All the existing buffers associated with the read-only file need to be invalidated since they are not linked to lock elements (needed when mounted parallel (shared)). So cache buffers are not assigned to data block addresses until the invalidation is finished.
The session moved some dirty buffers to the dirty queue and now this dirty queue is full. The dirty queue needs to be written to the file system first. The session will wait on this event and try again to find a free buffer
This also happens after inspecting free buffer inspected buffers. If no free buffer is found, Oracle waits for one second, and then tries to get the buffer again (depends on the context).
Small buffer cache can cause high free buffer waits when large amount of PIOs and LIOs are taking place.
Solution
Improve DBWR Throughput
上一篇:file open等待事件
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux内存操作之free命令
在Linux操作系统中,free 命令是一个非常重要的工具,用于显示系统内存(包括物理内存和交换空间)的使用情况。
缓存 应用程序 后端 服务器 Linux -
Oracle latch free 等待事件 说明
一. Latch 说明有关Latch,在我之前的Blog里也有一些说明: 锁 死锁 阻塞 Latch
oracle cache oracle10g buffer session