oracle中如何快速找出未使用绑定变量的sql语句?

oracle中如何快速找出未使用绑定变量的sql语句?

参与19

4同行回答

renou2012renou2012数据库管理员KE
可以根据FORCE_MATCHING_SIGNATURE来查询FORCE_MATCHING_SIGNATURENUMBERSignature used when the CURSOR_SHARING parameter is set to FORCEselect * from v$sql where FORCE_MATCHING_SIGNATURE>0或者V$SQLAREA、V$SQLSTATS都有记录 可以根据你需要的规则进行聚合...显示全部

可以根据FORCE_MATCHING_SIGNATURE来查询
FORCE_MATCHING_SIGNATURE
NUMBER
Signature used when the CURSOR_SHARING parameter is set to FORCE

select * from v$sql where FORCE_MATCHING_SIGNATURE>0
或者V$SQLAREA、V$SQLSTATS都有记录 可以根据你需要的规则进行聚合排序得出频繁类似的SQL
更多参考
http://docs.oracle.com/database/122/REFRN/V-SQL.htm#REFRN30246

收起
金融其它 · 2017-08-30
浏览2154
彬彬陈锐 邀答
陈锐陈锐项目经理打杂
with force_mathces as (select l.force_matching_signature mathces, max(l.sql_id || l.child_number) max_sql_child, dense_rank() over(order by count(*) desc) ranking from v$sql l where l.force_matching_signature <> 0 and l.parsing_schema_nam...显示全部

with force_mathces as (select l.force_matching_signature mathces, max(l.sql_id || l.child_number) max_sql_child, dense_rank() over(order by count(*) desc) ranking from v$sql l where l.force_matching_signature &lt;> 0 and l.parsing_schema_name &lt;> 'SYS' group by l.force_matching_signature having count(*) > 10) select v.sql_id, v.sql_text, v.parsing_schema_name, fm.mathces, fm.ranking from force_mathces fm, v$sql v where fm.max_sql_child = (v.sql_id || v.child_number) and fm.ranking <= 15 order by fm.ranking;

收起
金融其它 · 2017-08-30
浏览1996
penguin23penguin23系统运维工程师广州佳杰科技有限公司
http://blog.csdn.net/robinson1988/article/details/4793962请参考,希望能帮到你,请叫我雷锋。@—@显示全部

http://blog.csdn.net/robinson1988/article/details/4793962

请参考,希望能帮到你,请叫我雷锋。@—@

收起
保险 · 2017-08-30
浏览2008
陈锐 邀答
y18511664518y18511664518技术总监长城超云
找出未使用绑定变量的语句不是目的,你要明白你是要优化还是要做调整。显示全部

找出未使用绑定变量的语句不是目的,你要明白你是要优化还是要做调整。

收起
金融其它 · 2017-08-30
浏览1992
彬彬陈锐 邀答

提问者

陈锐
项目经理打杂
擅长领域: 系统运维服务器中间件

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-08-30
  • 关注会员:4 人
  • 问题浏览:3207
  • 最近回答:2017-08-30
  • X社区推广