调整shared pool

调整shared pool

   v$sgastat  描述sga的祥细信息

   shared_pool_size(初始化参数)   调整share pool的大小

 

   v$librarycache 视图包括librarycache的统计性能。

 

   查看librarycache sql执行小于一个数目的sql语句。

   select sql_text from v$sqlarea where executions < 5 order by upper(sql_text);

 

   查看硬解析语句:                                                                       

   select sql_text,parse_calls,executions from v$sqlarea order by parse_calls;

 

   librarycache视图

   v$sysstat, v$librarycache ,v$sql, v$sqlarea, v$sqltext, v$db_object_cache

 

      

 

 

  一:shared pool contents

  共享池的主要组件:

library cache   

data dictionary cache

user global area for shared server sessions  

 

共享池包括如下结构:

(1)library cache存储共享sqlpl/sql代码

(2)data dictionary cache保存数据字典对象信息

 

调整shared pool

错误的data dictionary cache 或者 library cache的缓存大小将要比SGA内存要花费的多。所以调整shared pool是很重要的。              

当调整shared pool时,应该把更精力更集中于library cache,因为分配内存空间的法则更喜欢控制dictionary data内存多于library cache。因此,调整library cache为一个可接受的缓存命中率以确保data dictionary cache也有一个可接受的命中率。

如果shared pool太小,服务器必须用更多的资源管理有限的可用空间。这样消耗cpu资源和引起竞争。

如果shared pool 太大能降低性能:有较少的内存为其他内存结构,一些接入能找到内容要慢于一个小一点的池。

 

Shared的大小

在初始化参数文件中用SHARED_POOL_SIZE设置大小。实际大小依赖其他因素,例如

SGA内存范围,默认大小8388608bytes(8MB)

Library cache

Library cache 包括shared sqlpl/sql areas:完全解析和编译pl/sql块和sql

pl/sql块包括:过程、函数、包、触发器、匿名pl/sql

Data Dictionary Cache

Data Dictionary Cache保存字典对象

 

 

the library cache

   用于保存sql语句和pl/sql块,共享给所有用户。

   LRU(least recently used)算法管理

   用于预防语句重新解析

   报告错误ora-04031当共享池没有空闲内存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值