DBA手记:共享池的改进与ORA-04031的变化
------------------------------ ---------- ----------
shared pool (1): 788529152 752
shared pool (2): 788529192 752
shared pool (3): 771751936 736
shared pool (Total): 2348810280 2240
现在每个子池的空闲内存达到了20MB~60MB左右:
SUBPOOL NAME SUM(BYTES) MB
------------------------------ -------------------------- ---------- ----------
shared pool (1): free memory 56014080 53.42
shared pool (2): free memory 20292704 19.35
shared pool (3): free memory 67884912 64.74
调整后具体的内存使用情况如下,我们注意到,保留池的大块的空闲内存(R-free)数量大大增加,这样在要请求大块内存时,就更容易获得共享内存资源:
SUBPOOL SGA_HEAP CHUNKCOMMENT size COUNT(*) STATUS BYTES
------- ---------------- ---------------- ----- ---------- -------- ----------
。。。。。。
1 sga heap(1,0) free memory 8-9k 6 free 48016
1 sga heap(1,0) free memory > 10K 4 free 45448
。。。。。。
1 sga heap(1,0) free memory 9-10k 22 R-free 197536
1 sga heap(1,0) free memory > 10K 144 R-free 2606992
。。。。。。
2 sga heap(2,0) free memory 9-10k 8 free 72784
2 sga heap(2,0) free memory > 10K 15 free 172616
......
2 sga heap(2,0) free memory 9-10k 22 R-free 195280
2 sga heap(2,0) free memory > 10K 155 R-free 2839248
。。。。。。
3 sga heap(3,0) free memory 8-9k 14 free 111736
3 sga heap(3,0) free memory 9-10k 1 free 8808
。。。。。。
3 sga heap(3,0) free memory 9-10k 29 R-free 261272
3 sga heap(3,0) free memory > 10K 186 R-free 3434512
客户的系统是一个双节点RAC环境,在运行中,应用设置为只连接其中的一个节点,另外一个空闲节点的Shared Pool使用情况如下,列举供参考:
SUBPOOL SGA_HEAP CHUNKCOMMENT size COUNT(*) STATUS BYTES
------- --------------- ---------------- ----- ---------- -------- ----------
1 sga heap(1,0) free memory 0-1K 373 free 41144
1 sga heap(1,0) free memory 1-2K 1 free 1488
1 sga heap(1,0) free memory 2-3K 1 free 1936
1 sga heap(1,0) free memory 3-4K 1 free 2704
1 sga heap(1,0) free memory 4-5K 1 free 3776
1 sga heap(1,0) free memory 9-10k 4 free 34864
1 sga heap(1,0) free memory > 10K 157 free 460271664
1 sga heap(1,0) free memory > 10K 38 R-free 25520800
2 sga heap(2,0) free memory 0-1K 357 free 37376
2 sga heap(2,0) free memory 3-4K 2 free 6152
2 sga heap(2,0) free memory 4-5K 1 free 3776
2 sga heap(2,0) free memory > 10K 130 free 454592888
2 sga heap(2,0) free memory > 10K 38 R-free 25520800
3 sga heap(3,0) free memory 0-1K 425 free 51280
3 sga heap(3,0) free memory 3-4K 1 free 2704
3 sga heap(3,0) free memory 7-8k 1 free 6664
3 sga heap(3,0) free memory > 10K 44 free 467930312
3 sga heap(3,0) free memory > 10K 38 R-free 25520800
ORA-04031出现时,可能共享池没有足够空闲内存,但是Shared Pool保留池(shared_pool_reserved_size)还有一定的内存空闲,所以我们可以释放降低使用保留池的内存大小,在这个案例中,降低_shared_pool_reserved_min_alloc参数设置,也帮助数据库更好地利用了保留内存。
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:eygle 来源: Oracle Life
- 标签: 共享池
- 发布时间:2011-02-27 22:47:12
- [46] IOS安全–浅谈关于IOS加固的几种方法
- [45] 图书馆的世界纪录
- [45] 如何拿下简短的域名
- [45] Oracle MTS模式下 进程地址与会话信
- [43] android 开发入门
- [42] 【社会化设计】自我(self)部分――欢迎区
- [41] 界面设计速成
- [41] 读书笔记-壹百度:百度十年千倍的29条法则
- [39] 视觉调整-设计师 vs. 逻辑
- [35] Go Reflect 性能