library cache load lock
1,此事件标记会话正在等待加载对象的lock
2,加载对象时必须持有排它锁,防止其它会话加载相同的对象到library cache中
3,3个参数:各为;等待加载的对象;等待加载对象的锁地址;等待加载对象的数据片
4,等待时间为3秒,pmon为1秒
library cache lock
1,控制不同客户端会话对于library cache的并发访问
2,获取的是library cache的handle上面的lock
3,获取library cache handle的lock的目的:
1,访问其它会话同时访问相同的library cache object
2,维护访问期间对象的依赖和一致性(比如:防止访问期间其它会话修改library cache object)
4,获取这个library cache lock用于定位library cache的library cache object
5,等待时间为3秒,pmon为1秒
6,3个参数:各为:
handle address ---加载对象的library cache handle address
lock address --加载锁的地址,它和latch和enqueue不是一回事,它是一个so,state object
mode ---加载对象的数据片
namespace --参考:select distinct namespace from V$DB_OBJECT_CACHE;
library cache pin
1,主要管理library cache的并发(注意和library cache lock区别)
2,获取library cache pin让heap加载到内存中
3,客户端想想修改或检查一个对象,先获取library cache lock,然后必须获取library cache pin,真能真正修改对象或检查对象
4,等待事件为3秒,pmon为1秒
5,3个参数:
各为:
handle address --加载对象的handle address
pin address --加载锁的地址,不同于latch and enqueue,是一个so
mode ---要加载对象的哪些数据片
namespace ---参上
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-759147/ ,如需转载,请注明出处,否则将追究法律责任。