library cache pin

同事求助,说重建procedure卡住不动了。于是我查看等待事件

SQL > select * from v$session_wait;

发现有library cache pin事件。然后他说他发现自己写的这个procedure里面有个死循环,真相便一目了然。此等待事件是oracle内存发生的,在需要使用内存中某个数据块时,需要先lock住该块的handle,然后pin住对象,防止其他会话访问该对象,保持了一致性。很明显这个死循环一直pin住了某对象导致replace procedure时出现了library cache pin,只要超过3秒就会记录该事件。

抄一段对于此事件的官方文档:
This event manages library cache concurrency. Pinning an object causes the heaps to be loaded into memory. If a client wants to modify or examine the object, the client must acquire a pin after the lock.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25915379/viewspace-714785/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25915379/viewspace-714785/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值