oracle 共享池 shared pool 的性能较差的主要原因
(2013-04-22 10:42:54)
标签:
sharedpool
oracle
共享池优化
oracle性能
oracle优化
oracle 共享池 shared pool 的性能较差的主要原因
初始时,数据库启动以后,Shared Pool 多数是连续内存块。但是当空间分配使用以后,内
存块开始被分割,碎片开始出现,Bucket 列表开始变长。
Oracle 请求 Shared Pool 空间时,首先进入相应的 Bucket进行查找。如果找不到,则转向
下一个非空的 Bucket,获取第一个 Chunk。分割这个 Chunk,剩余部分会进入相应的 Bucket,进
一步增加碎片。
最终的结果是,由于不停分割,每个 Bucket 上的内存块会越来越多,越来越碎小。通常 Bucket
0 的问题会最为显著,在这个测试的小型数据库上,Bucket 0 上的碎片已经达到 9030 个,而
shared_pool_size 设置仅为 150MB。
通常如果每个 Bucket 上的 Chunk 多于 2000个,就被认为是 Share Pool 碎片过多。
Shared Pool 的碎片过多,是 Shared Pool 产生性能问题的主要原因。
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。