您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

记录一次Oracle 'Execute to parse'问题解决

bubuko 2022/1/25 20:06:40 其他 字数 7771 阅读 943 来源 http://www.bubuko.com/infolist-5-1.html

oracle版本:12.2,单实例,操作系统:rhel6.8 awr报告中Execute to Parse非常低,意味着SQL执行进行过程中进行解析比例比较高。 综合各方老师观点:1、如果Soft Parse %和Execute to Parse %两个参数同时很低时,说明硬解析次数多,建议使用绑定 ...

oracle版本:12.2,单实例,操作系统:rhel6.8

awr报告中Execute to Parse非常低,意味着SQL执行进行过程中进行解析比例比较高。

技术分享图片

 

综合各方老师观点:
1、如果Soft Parse %和Execute to Parse %两个参数同时很低时,说明硬解析次数多,建议使用绑定变量。
本例中分别为0.12,100,不属于这种情况。
2、如果Soft Parse %高,而Execute to Parse %低时(<40%),说明执行解析比率低,可以通过静态sql、动态绑定、调整session_cached_cursor参数、调整open_cursor等方法来减少软解析。

本应用为Java开发的批处理程序,使用Druid作为数据源。

做了两个方面的变更:
1、修改session_cached_cursor参数

alter system set session_cached_cursors=100 scope=spfile;

 


重启数据库(shutdown immediate /startup)
2、开启客户端statement缓存:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 打开PSCache,并且指定每个连接上PSCache的大小(Oracle使用)-->
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="100" />
</bean>

 



再次观察发现有了明显改善,达到98%

技术分享图片

 

 

 


相关SQL:

SELECT session_cached_cursors PARAMETER,
LPAD(VALUE, 5) VALUE,
DECODE(VALUE, 0,  n/a, TO_CHAR(100 * USED / VALUE, 990) || %) USAGE
FROM (SELECT MAX(S.VALUE) USED
FROM V$STATNAME N, V$SESSTAT S,v$session c
WHERE N.NAME = session cursor cache count AND s."SID"=c."SID" AND c."MACHINE"=KFPCServer-4 
AND S.STATISTIC# = N.STATISTIC#),
(SELECT VALUE FROM V$PARAMETER WHERE NAME = session_cached_cursors)
UNION ALL
SELECT open_cursors,
LPAD(VALUE, 5),
TO_CHAR(100 * USED / VALUE, 990) || %
FROM (SELECT MAX(SUM(S.VALUE)) USED
FROM V$STATNAME N, V$SESSTAT S
WHERE N.NAME IN
(opened cursors current, session cursor cache count)
AND S.STATISTIC# = N.STATISTIC#
GROUP BY S.SID),
(SELECT VALUE FROM V$PARAMETER WHERE NAME = open_cursors);

 

注意:machine要改为客户端机器名称,避免由于plsql等客户端长时间连接影响统计准确性。

 

技术分享图片

 usage表示使用率,如果达到100%,则建议/需要增加该参数。

 

记录一次Oracle 'Execute to parse'问题解决

原文:https://www.cnblogs.com/T495/p/12458563.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶