oracle等待事件buffer exterminate
2015-07-02 15:14
597 查看
在刷oracle当前等待事件情况的时候,偶尔看到这个叫
buffer exterminate的等待事件,之前没有见到过,便查找下相关资料整理一下。在刷oracle当前等待事件情况的时候,偶尔看到这个叫
This wait event usually occurs when you have tried to dynamically resize a component of the SGA such as the buffer cache.
The "buffer exterminate" waits can only happen if part of the buffer cache is being dynamically shrunk and a session wants access to a data block that resides in a db cache buffer within a granule chosen
to be freed. After the buffer is freed (removed from buffer cache hash chain, LRU chain, etc.), one of the waiting sessions can then reload that block into one of the remaining db cache granules, and everyone else eventually finds the new buffer address for
the data block via hash lookup.
You can check the following views to see if any recent SGA Component resize operations have taken place :
V$SGA_DYNAMIC_COMPONENTS displays information about the dynamic SGA components. This view summarizes information based on all completed SGA resize operations since instance startup.
V$SGA_CURRENT_RESIZE_OPS displays information about SGA resize operations which are currently in progress. An operation can be a grow or a shrink of a dynamic SGA component.
V$SGA_DYNAMIC_FREE_MEMORY displays information about the amount of SGA memory available for future dynamic SGA resize operations.
该等待事件通常发生sga自动管理内存组件的时候。具体呢,是当buffer
cache中的部分空间正进行动态回缩时,有会话试图访问buffer
cache中被选择空间释放的granule中的data
block时,就会发生buffer
exterminate等待。当buffer被释放(比如从buffer
cache hash chain,LRU
chain上移除)后,等待的会话就能够重载该block到剩余的一个db
cache granule中去,然后其他会话就可以通过hash查找找到新的该block的buffer
address。
通常当大量出现该等待事件的时候,可以考虑禁掉sga自动管理,或者给sga中各个内存组件设置一个最小值来减少各组件间的自动调整。
正常情况下sga各个组件是保持稳定大小的,至于为何会出现大幅度的内存组件大小调整情况,就需要进一步分析处理了,硬解析呢,还是大量全表扫描呢。。。
buffer exterminate的等待事件,之前没有见到过,便查找下相关资料整理一下。在刷oracle当前等待事件情况的时候,偶尔看到这个叫
This wait event usually occurs when you have tried to dynamically resize a component of the SGA such as the buffer cache.
The "buffer exterminate" waits can only happen if part of the buffer cache is being dynamically shrunk and a session wants access to a data block that resides in a db cache buffer within a granule chosen
to be freed. After the buffer is freed (removed from buffer cache hash chain, LRU chain, etc.), one of the waiting sessions can then reload that block into one of the remaining db cache granules, and everyone else eventually finds the new buffer address for
the data block via hash lookup.
You can check the following views to see if any recent SGA Component resize operations have taken place :
V$SGA_DYNAMIC_COMPONENTS displays information about the dynamic SGA components. This view summarizes information based on all completed SGA resize operations since instance startup.
V$SGA_CURRENT_RESIZE_OPS displays information about SGA resize operations which are currently in progress. An operation can be a grow or a shrink of a dynamic SGA component.
V$SGA_DYNAMIC_FREE_MEMORY displays information about the amount of SGA memory available for future dynamic SGA resize operations.
该等待事件通常发生sga自动管理内存组件的时候。具体呢,是当buffer
cache中的部分空间正进行动态回缩时,有会话试图访问buffer
cache中被选择空间释放的granule中的data
block时,就会发生buffer
exterminate等待。当buffer被释放(比如从buffer
cache hash chain,LRU
chain上移除)后,等待的会话就能够重载该block到剩余的一个db
cache granule中去,然后其他会话就可以通过hash查找找到新的该block的buffer
address。
通常当大量出现该等待事件的时候,可以考虑禁掉sga自动管理,或者给sga中各个内存组件设置一个最小值来减少各组件间的自动调整。
正常情况下sga各个组件是保持稳定大小的,至于为何会出现大幅度的内存组件大小调整情况,就需要进一步分析处理了,硬解析呢,还是大量全表扫描呢。。。
相关文章推荐
- Oracle技术支持是如何分析数据库性能问题的
- 七、oracle 表查询二
- oracle游标
- oracle的for update
- Oracle DUAL 表
- ORACLE查看表空间对象
- DBArtisan 连接oracle数据库 和sybase 数据库
- DBArtisan 连接oracle数据库 和sybase 数据库
- Oracle 取随机数
- 关于oracle数据库用户以normal登陆提示用户名或密码错误,但以sysdba登陆正常问题
- 解决oracle11g的ORA-12505问题
- sqlserver 类似oracle的rownum功能: row_number
- 谷歌掐架甲骨文:揭秘Java侵权案始末
- ora-00904无效标示符
- SQLServer與Oracle的區別
- Oracle 内存结构
- oracle数据库基础查询sql练习
- Oracle诉讼Google缘何正确
- Oracle查找删除记录后表中某一时间点的数据
- Oracle查询当前某条数据的前一行数据与后一行数据