今天讲一次library cache pin等待的处理 1. 起因 上周我们虚拟化宕机导致上面的2套数据库停机,而这2套数据库和其他数据库有着千丝万缕的联系,这就导致很多进程处于hang的状态,即一直ACTIVE且无法自行结束。 在数据库恢复后发现有台数据库CPU一直很高,查询v$session_wait视图发现library cache pin 等待严重,这点也可...
Bothlibrary cache lock and library cache pin are provided to access objects in thelibrary cache. Library cache lock manages concurrency between processes,whereas library cache pin manages cache coherence. Inorder to access an object in library cache, a process must first lock thelibrary cache object...
Namespace 被加载对象在v$db_object_cache视图中的namespace的名称。 优化方向:优化方向是查看锁定对象,减少争用。 8、library cache pin 发生原因: 这个等待事件和library cache lock一样是发生在共享池中并发操作引起的等待事件。通常来讲,如果oracle要对一些pl/sql或视图这样的对象做重新编译,需要将这些对象pin到共...
它们称为library cache lock和library cache pin。 Library cachelock/pin是用来控制对librarycache object的并发访问的。Lock管理并发,pin管理一致性,lock是针对于librarycache handle,而pin是针对于heap。 当我们想要访问某个library cache object,我们首先要获得这个指向这个object的handle的lock,获得这个lock之后我们就需...
Library Cache pin有2种模式: (1)Share(S): 读取object heap (2)Exclusive(X): 修改object heap 当某个session想要读取object heap,就需要获得一个共享模式的pin,当某个session想要修改object heap,就需要获得排他的pin。当然了在获得pin之前必须获得lock。
sharedpool大小不合理,大量的硬解析以及SQL版本过多都可能导致shared pool latch和library cache latch的争用。 从Oracle10g开始,Oracle正在逐步用mutex取代library cache中的latch,cursor:pin S和cursor:pin X相当于share和exclusive类型的library cache pin,cursor:pin S wait on X则表示share方式正在等待exclusive锁定...
librarycache pin 而Oracle 11g版本中仅剩的Latches为: librarycache load lock 下列出现于Oracle 10g版本的与库缓冲相关的等待事件在Oracle 11g版本中也不复存在: latch:library cache latch:library cache lock latch:library cache pin Oracle 11g版本中与库缓冲相关的等待事件为: ...
Librarycache latch的主要作用是在hashbucket中定位handle时使用,library cache lock latch和library cache pin latch分别是获取lock和pin时,需要取得的latch。 sharedpool大小不合理,大量的硬解析以及SQL版本过多都可能导致shared pool latch和library cache latch的争用。
pin 指在SQL AREA部分执行的次数,pin hits指命中的次数,RELOADS 指库缓冲区丢失的次数.命中比较低的话,说明需要优化。例如:通过查看v$librarycache视图,可以监控library cache的活动情况,进一步衡量share pool设置是否合理。主要是计算命中率 Library Cache Hit Ratio = sum(pinhits) / sum(pins)SU...
library cache lock和library cache pin都是用于管理不同进程对library cache中的对象的并发访问的。但是library cache pin用于管理cache 的一致性。要想访问library cache 中的对象,必须先lock住library cache object handle,然后pin住对象的data heap本身。pin和lock请求在被许可之前都需要一直等待。这就有可能引起资源...