如果遇到绑定窥探导致执行计划慢的情况,想要清除某条SQL的执行计划,让它硬解析,找了很久都没有找到直接操作share pool的方法(除非alter system flush shared_pool),只能通过对表ddl使SQL硬解析。现在终于找到了,使用sys.dbms_shared_pool.purge

在11g下可以直接使用,但在10g上需要 alter session set events '5614566 trace name context forever'

--特定游标对象

SELECT ADDRESS, HASH_VALUE, EXECUTIONS, PARSE_CALLS
FROM V$SQL
WHERE SQL_ID = '7q9wc51p34my2';

00000007A4E9E040 1781682114 289583 289583

ALTER SESSION SET EVENTS '5614566 trace name context forever';

BEGIN
  dbms_shared_pool.purge('00000007A4E9E040,1781682114','C');
END;
/

ALTER SESSION SET EVENTS '5614566 trace name context off';

--更新表的统计信息,使相关的游标对象失效
BEGIN
  DBMS_STATS.GATHER_TABLE_STATS(OWNNAME          => 'username',
                                TABNAME          => 'tabname',
                                ESTIMATE_PERCENT => 100,
                                METHOD_OPT       => 'for all columns size skewonly',
                                CASCADE          => TRUE,
                                NO_INVALIDATE    => FALSE);  --使相关游标失效

END;
/

对于sqlserver

2008 R2以上版本可以直接使用dbcc命令清除指定计划: DBCC FREEPROCCACHE(plan_handle);

2005相对也比较麻烦,使用系统存储过程sp_create_plan_guide和sp_control_plan_guide处理

最新文章

  1. React Native 开发之 (05) flexbox布局
  2. 2012年第三届蓝桥杯C/C++程序设计本科B组决赛
  3. pyqt5 笔记(四)cx_Freeze 实现代码打包exe
  4. Android开发之创建App Widget和更新Widget内容
  5. poj 1254 Hansel and Grethel
  6. freemarker报错之十二
  7. OGG微服务架构入门
  8. es6+的javascript拓展内容
  9. vue(基础二)_组件,过滤器,具名插槽
  10. springmvc学习路线1-基本配置
  11. centos6.6安装hadoop-2.5.0(二、伪分布式部署)
  12. spring boot 热更新配置
  13. 三角化---深度滤波器---单目稠密重建(高翔slam---十三讲)
  14. [Hbase]Hbase知识大全
  15. [JavaScript] js实现保存文件到本地
  16. Windows Server 2008远程桌面端口更改方法
  17. 《Spring2之站立会议8》
  18. 【GO基础】神奇的iota特殊常量
  19. 探秘C#中的yield关键字
  20. java Webservice(一)HttpClient使用(一)

热门文章

  1. Hbase之修改表结构
  2. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值。
  3. Django1.9开发博客(14)- 集成Xadmin
  4. css-九宫格自适应的实现
  5. 20150207读书笔记<深入理解计算机系统2-1>
  6. Sql Server 删除所有表
  7. Spring 事务管理 01 ——
  8. Educational Codeforces Round 14 D. Swaps in Permutation
  9. 读javascript高级程序设计09-BOM
  10. yii2.0高级框架配置时打开init.bat秒退的解决方法 (两种方法)