设为首页 收藏本站
查看: 967|回复: 0

[经验分享] ORACLE 过时技术之(三)--PGA手动管理

[复制链接]

尚未签到

发表于 2016-8-2 13:44:12 | 显示全部楼层 |阅读模式
ORACLE的PGA是指程序全局区,主要包括排序空间(SORT_AREA_SIZE),HASH连接空间(HASH_AREA_SIZE),位图合并空间(BITMAP_MERGE_AREA_SIZE)等等。
在ORACLE9i以前,这些参数都需要单独配置,设置的空间给每个会话保留使用,如:
SORT_AREA_SIZE=1M
HASH_AREA_SIZE=5M
BITMAP_MERGE_AREA_SIZE=10M
假设系统有100个会话,那么PGA大小约为 100*(1+5+10)=1600M。对于一个2G内存的系统,一般去除SGA和操作系统内存后,留给PGA的空间只有400M左右,要分配PGA=1.6G是不可能的,所以只能减少相应的空间。但是减少相应的空间必将产生大量的磁盘数据交换,这将会严重影响系统性能。对于这种应用只能对普通会话设置较小的*_AREA_SIZE,对于一些大数据批处理会话,可以单独指定相应的*_AREA_SIZE,这样可以适当的缓解问题,但是配置比较麻烦,实际效果也不太好。
Oracle从9i开始增加了PGA自动管理的功能,可以说是打开了ORACLE内存自动管理的新篇章。通过PGA自动管理,ORACLE把所有的用户*_AREA_SIZE当做统一的内存来分配,这样可以做到资源的合理利用,根据ORACLE标准PGA参数算法,每个会话最大可以用到PGA*5%的空间,也就是说,如果分配400M的PGA,那么每个会话可以最大用到400*5%=20M的内存,这样PGA自动管理就把以前的*_area_size比较难配置的问题基本解决了。
在ORACLE9i中PGA的自动管理只能用于专用服务器中,ORACLE10g中共享服务器也可以配置PGA自动管理了,所以传统指定每个*_AREA_SIZE的PGA手动管理方法已经很少使用。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-252087-1-1.html 上篇帖子: PLSQL/ORACLE 数据库 技巧(不断更新中) 下篇帖子: 本机不安装Oracle客户端 使用PL SQL Developer
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表