Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

0

好友

14

主题
1#
发表于 2013-3-14 21:24:17 | 查看: 3595| 回复: 3
本帖最后由 fluttersnow 于 2013-3-14 21:25 编辑

根据这篇blog:
http://www.askmaclean.com/archives/%E5%88%A9%E7%94%A8force_matching_signature%E6%8D%95%E8%8E%B7%E9%9D%9E%E7%BB%91%E5%AE%9A%E5%8F%98%E9%87%8Fsql.html

测试使用
  1. select FORCE_MATCHING_SIGNATURE, count(1)
  2.   from v$sql
  3. where FORCE_MATCHING_SIGNATURE > 0
  4.    and FORCE_MATCHING_SIGNATURE != EXACT_MATCHING_SIGNATURE
  5. group by FORCE_MATCHING_SIGNATURE
  6. having count(1) > &a
  7. order by 2;
复制代码
这个sql只能查询出在shared_pool中的未使用绑定变量的sql。

问:对于那些历史的sql怎么查询?下面这个老SQL是否可最为查询历史sql?
  1. SELECT substr(sql_text, 1, 80), count(1)
  2.   FROM v$sql
  3. GROUP BY substr(sql_text, 1, 80)
  4. HAVING count(1) > 10
  5. ORDER BY 2
复制代码
2#
发表于 2013-3-14 21:39:34
dba_hist_sqlstat.FORCE_MATCHING_SIGNATURE  

回复 只看该作者 道具 举报

3#
发表于 2013-3-16 20:49:01
本帖最后由 fluttersnow 于 2013-3-16 20:50 编辑

根据reference的定义:
DBA_HIST_SQLSTAT
displays historical information about SQL statistics. This view captures the top SQL statements based on a set of criteria and captures the statistics information from V$SQL.
这个视图只是抓取top sql ,经过测试确实是不会列出所有的非绑定变量的SQL。
这样的话还是最好在问题发生时,直接抓取share_pool中抓取相关SQL较好,下面是一条可以直接列出未使用绑定变量语句:

  1. select * from
  2.     (select sql_text,row_number() over(partition by FORCE_MATCHING_SIGNATURE order by FORCE_MATCHING_SIGNATURE) rn
  3.         from v$sql
  4.         where FORCE_MATCHING_SIGNATURE >0
  5.         and FORCE_MATCHING_SIGNATURE !=EXACT_MATCHING_SIGNATURE)
  6.         where rn>1;
复制代码

回复 只看该作者 道具 举报

4#
发表于 2013-3-17 10:23:17
fluttersnow 发表于 2013-3-16 20:49
根据reference的定义:
DBA_HIST_SQLSTAT
displays historical information about SQL statistics. This v ...

按照我的经验, 执行过的SQL ID 基本都能在DBA_HIST_SQLSTAT 中找到, 排除MMON hang住不可用的场景。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 10:37 , Processed in 0.048392 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569