WEB开发网
开发学院数据库Oracle Oracle10gR2上遇到了Mutex竞争的问题 阅读

Oracle10gR2上遇到了Mutex竞争的问题

 2009-06-30 03:49:00 来源:WEB开发网   
核心提示:最近有客户在Oracle10gR2上遇到了Mutex竞争的问题,Mutex是Oracle在Oracle10g中引入的串行机制,Oracle10gR2上遇到了Mutex竞争的问题,逐渐会用来替代一些存在性能问题的Latch.和Latch相比,一个Mutex Get大约仅需要30~35个指令,以下等待事件可能变得常见:由于

最近有客户在Oracle10gR2上遇到了Mutex竞争的问题。

Mutex是Oracle在Oracle10g中引入的串行机制,逐渐会用来替代一些存在性能问题的Latch.和Latch相比,一个Mutex Get大约仅需要30~35个指令,而Latch Get则需要大约150~200个指令,同时在大小上,每个Mutex仅占用大约16 Bytes空间,而一个latch在10gR2中要占用大约112 Bytes空间。

Mutex首先替代了Library Cache Latch以及Library Cache Pin,在Oracle 10.2.0.2上通过隐含参数_kks_use_mutex_pin的调整可以限制是否使用Mutex机制来实现Cursor Pin:

在新的Mutex Pins机制下,以下等待事件可能变得常见:

由于Mutex使用CAS(Compare and Swap)机制,所以在不支持CAS的HP Unix平台上就可能出现CPU消耗过高的情况。

这作为一个Bug在10.2.0.4版本中被修正。

Tags:OraclegR 遇到 Mutex

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接