关闭
侧边栏

LIBRARY CACHE PIN 等待事件

Posted by dbtan on 12月 5th, 2009

LIBRARY CACHE PIN 等待事件: Oracle文档上这样介绍这个等待事件:library cache pin是用来管理library cache的并发访问的,pin一个Object会引起相应的heap被载入内存中(如果此前没有被加载),pins可以在Null、Share、Exclusive这3个模式下获得,可以认为pin是一种特定形式的锁。 当library cache pin等待事件出现
... ...
<阅读全文>

Library Cache Pin 及 Library Cache Lock分析

Posted by dbtan on 12月 4th, 2009

Library Cache Pin 及 Library Cache Lock分析: Oracle使用两种数据结构来进行Library Cache的并发访问控制:lock和pin。lock可以被认为是解析锁,而pin则可以被认为是以读取或改变对象内容为目的所加的短时锁。之所以将Library Cache Object对象分开,使用多个锁定来保护,其中一个重要的目的就是为了提高并发。 l
... ...
<阅读全文>

SHARED_POOL_RESERVED_SIZE参数的设置及作用

Posted by dbtan on 12月 3rd, 2009

SHARED_POOL_RESERVED_SIZE参数的设置及作用: 还有一个参数是需要提及的:shared_pool_reserved_size。该参数指定了保留的共享池空间,用于满足将来的大的连续的共享池空间请求。当共享池出现过多碎片,请求大块空间会导致Oracle大范围的查找并释放共享池内存来满足请求,由此可能会带来较为严重的性能下降,设置合适
... ...
<阅读全文>

使用Flush Shared Pool缓解共享池问题

Posted by dbtan on 12月 3rd, 2009

使用Flush Shared Pool缓解共享池问题: 前面提到,本质上ORA-04031多数是由于SQL编写不当引起,所以如果能够修改应用绑定变量是最好的解决之道。当然如果应用不能修改,或者不能强制变量绑定,那么Oracle还提供一种应急处理方法,强制刷新共享池。 alter system flush shared_pool; 刷新共享池可以帮助合并碎片(
... ...
<阅读全文>

绑定变量和cursor_sharing

Posted by dbtan on 11月 30th, 2009

绑定变量和cursor_sharing: 如果SHARED_POOL_SIZE设置得足够大,又可以排除Bug的因素,那么大多数的ORA-04031错误都是由共享池中的大量SQL代码等导致过多内存碎片引起的。 可能的主要原因有: ·SQL没有足够的共享;·大量不必要的解析调用;·没有使用绑定变量。 实际上说,应用的编写和调整始终是最重要的内容
... ...
<阅读全文>


Copyright © 2009 - 2021 https://dbtan.com. All rights reserved.