Library Cache Pin 及 Library Cache Lock分析: Oracle使用两种数据结构来进行Library Cache的并发访问控制:lock和pin。lock可以被认为是解析锁,而pin则可以被认为是以读取或改变对象内容为目的所加的短时锁。之所以将Library Cac[......]
读书笔记
SHARED_POOL_RESERVED_SIZE参数的设置及作用
SHARED_POOL_RESERVED_SIZE参数的设置及作用: 还有一个参数是需要提及的:shared_pool_reserved_size。该参数指定了保留的共享池空间,用于满足将来的大的连续的共享池空间请求。当共享池出现过多碎片,请求大块空间会导致Oracle大范围的查找并释放共享池内存[......]
使用Flush Shared Pool缓解共享池问题
使用Flush Shared Pool缓解共享池问题: 前面提到,本质上ORA-04031多数是由于SQL编写不当引起,所以如果能够修改应用绑定变量是最好的解决之道。当然如果应用不能修改,或者不能强制变量绑定,那么Oracle还提供一种应急处理方法,强制刷新共享池。 alter system[......]
绑定变量和cursor_sharing
绑定变量和cursor_sharing: 如果SHARED_POOL_SIZE设置得足够大,又可以排除Bug的因素,那么大多数的ORA-04031错误都是由共享池中的大量SQL代码等导致过多内存碎片引起的。 可能的主要原因有: ·SQL没有足够的共享;·大量不必要的解析调用;·没有使用绑定变量[......]
Shared Pool 的转储与分析
Shared Pool 的转储与分析: 使用如下命令可以对共享池Library Cache信息进行转储分析: ALTER SESSION SET EVENTS 'immediate trace name LIBRARY_CACHE level LL'; 其中LL代表Level级别,对于9.2.[......]