绑定变量和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.[......]

阅读全文

了解X$KSMSP视图

了解X$KSMSP视图: Shared Pool的空间分配和使用情况,可以通过一个内部视图来观察,这个视图就是X$KSMSP([K]ernal [S]torage [M]emory Management [S]GA Hea[P]),其中每一行都代表着Shared Pool中的一个Chunk。以下是[......]

阅读全文

Oracle 10g 共享池管理的增强

Oracle 10g 共享池管理的增强: 子缓冲池的分配的算法很简单:·每个子缓冲池必须满足一定的内存约束;·每4颗CPU可以分配一个子缓冲池,最多7个。 在Oracle 9i中,每个SubPool至少128MB,在Oracle 10g中,每个子缓冲池至少为265MB。如上篇日志所述,SubPo[......]

阅读全文

Oracle 9i 子缓冲池的增强

Oracle 9i 子缓冲池的增强: 从Oracle 9i开始,Shared Pool可以被分割为多个子缓冲池(SubPool)进行管理,每个SubPool可以被看作是一个Mini Shared Pool,拥有自己独立的Free List、内存结构以及LRU List。同时Oracle提供多个La[......]

阅读全文