博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
共享池 shared pool
阅读量:2505 次
发布时间:2019-05-11

本文共 840 字,大约阅读时间需要 2 分钟。

定义:
共享池( shared pool )是位于SGA中的一块内存区域,主要用于缓存SQL的执行计划。之所以叫共享,是由于该块内存区域可以被多个会话共享同一个执行计划。即,如果有一个会话执行了SQL之后,会在shared pool 中生成一条该语句的执行计划,如果第二个会话使用了同样的或者类似的语句,就可以重复利用该条执行计划,从而实现执行计划共享。
特点:
1 共享池是位于SGA中的一块重要的内存区域,因为里面存放着SQL的执行计划以及结果还有一些其它类型的文件,比如控制文件等。
2  共享池是昂贵的,维护一个共享池所耗费的系统资源是巨大的,如果共享池太大,则会耗费更多的系统资源来维护它,如果太小,则出现不够用的情况,即本该共享的执行计划由于共享池太小,导致执行计划没有被共享,而是被重复的硬解析(hard parse)从而也会导致CPU资源浪费。
3 共享池类似于系统的缓存,是用LRU的策略来进行维护。
4 为了避免内存碎片,有着大量的小程序块。<= 4KB
查看共享池方法:
select sum(bytes)/1024/1024 mb from v$sgastat where pool = 'shared pool';
配置方法:
通常设置sga_target 后,内部的如shared pool java pool large pool db buffer cache redo log buffer 都会进行动态调整。因此设置sga_target 即可
alter system set sga_target=160m scope = spfile
重启数据库生效。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29757574/viewspace-2152407/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29757574/viewspace-2152407/

你可能感兴趣的文章
mongoose联表查询与一般查询合并
查看>>
jQuery--内容过滤和可见性过滤
查看>>
Android手机总是提示:存储空间不足,解决方法
查看>>
MySQL 函数之求取一个表中的某个字段的中位数
查看>>
EntityFramework 更新数据库字段的三种方法
查看>>
hdu 1253 胜利大逃亡
查看>>
python异步编程之asyncio
查看>>
leetcode算法:Trim a Binar Search Tree
查看>>
Centos 编译安装bind错误
查看>>
C#多线程学习(一) 多线程的相关概念
查看>>
OC内存管理基础
查看>>
IOS同步下载
查看>>
IOS(http几种请求)
查看>>
iOS开源项目周报1215
查看>>
vue + multer 上传图片
查看>>
设计模式之五:单件模式(巧克力工厂锅炉 模拟流程)
查看>>
Javascript动画模拟
查看>>
phpcms公共函数库 总结
查看>>
innerHTML和innerText的区别
查看>>
P3594 [POI2015]WIL-Wilcze doły
查看>>