2010-08-05
Oracle中清除游标缓存的几种方法
9i以后引入了bind peeking绑定变量窥视特性,但该特性常有帮当忙之嫌,所以有了11g的自适应游标特性。排除因绑定变量窥视造成的因素外,统计信息讹误也会造成执行计划偏差,这时我们就可能需要清除指定游标的缓存信息,从而达到重新解析的目的。 下面我们列举几种可以达到清除游标缓存的方法,权作抛砖引玉: 1. alter system flush shared_pool; /* 最简单最粗暴的方法,清除所有游标缓存,可能造成短期内大量解析,不推荐*/ 2. dbms_shared_pool 包很早就有了,但该包名下的purge过程却要到10.2.0.4才出现,Bug 5614566最早在2006年描述了需要清除游标缓存接口的要求: Hdr: 5614566 10.2.0.2 RDBMS 10.2.0.2 DICTIONARY PRODID-5 PORTID-176…
#POST
6 MIN READ