shared pool主要由保存数据字典的data_dictionary和保存SQL和PL/SQL代码和执行计划的library cache组成 。还包括其它供系统不同特性和技术使用的若干缓冲区,如为shared server模式提供的UGA等。
优化shared pool的思路:
1)根据设置经验,例如,可设置shared_pool_size=sga_target*(10%~15%)。
2)重点关注保存SQL和PL/SQL代码和执行计划的library cache相关指标。查看AWR报告Load Profile部分,分析Hard Parses/s等指标。分析Instance Efficiency Percentages (Target 100%)中Library Hit %、Execute to Parse %、Soft Parse %等
需要关注的等待事件:
Latch:library cache
Latch:shared pool
3)查看Time Model Statistics中与shared pool相关指标(parse time elapsed与hard parse elapsed time)。
如果hard parse elapsed time所占比例较高,说明应用的语句共享性存在严重问题。
优化方法:
1)评估语句共享性
Execute to Parse %=(execute次数-Parse次数)/Execute次数*100%
如果Execute to Parse %太低,说明解析次数非常高,系统整体共享性差。一般该指标达到70%以上,就说明语句共享性不错。 AWR报告中Library Hit %、Soft Parse %和Hard Parses/s。Parse包含Hard Parse与Soft Parse次数,但我们应关注Hard Parses。 查询非共享的sql语句(执行次数为1):
select sql_text from v$sqlarea where executions=1 order by upper(sql_text);
Oracle 查看隐藏参数Oracle 10g AWR Report 分析相关资讯 Oracle数据库 Oracle入门教程 oracle数据库教程
- Oracle数据库全球化 (03月01日)
- Oracle数据库日期过滤方法性能比较 (02/02/2015 13:20:26)
- Oracle数据库安装中端口被占用问题 (10/29/2014 07:42:24)
| - 在CentOS 6.6上搭建C++运行环境并 (10/10/2015 19:44:40)
- Oracle数据库无法使用localhost和 (11/14/2014 16:39:10)
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
|
本文评论 查看全部评论 (0)