2、清理指定SQL语句的缓存中的执行计划
以SQL语句Select count(*) from TAB1 WHERE OWNER=‘CTISYS’;为例。
(1)查看对应SQL语句在内存中的执行计划的CACHE_ITEM(CACHE项的地址),如下:
select cache_item,sqlstr from v$cachepln where sqlstr like ‘%CTISYS%’;
(2)假如SQL语句的cache_item为140485191235648,清理如下对应的执行计划,语句如下:
SP_CLEAR_PLAN_CACHE(140485191235648);
可以清理缓存的执行计划。
方法:
1、清理所有SQL语句的缓存中执行计划:
CALL SP_CLEAR_PLAN_CACHE();
2、清理指定SQL语句的缓存中的执行计划
以SQL语句Select count(*) from TAB1 WHERE OWNER=‘CTISYS’;为例。
(1)查看对应SQL语句在内存中的执行计划的CACHE_ITEM(CACHE项的地址),如下:
select cache_item,sqlstr from v$cachepln where sqlstr like ‘%CTISYS%’;
(2)假如SQL语句的cache_item为140485191235648,清理如下对应的执行计划,语句如下:
SP_CLEAR_PLAN_CACHE(140485191235648);