oracle数据库 清除执行计划
如果有特定sql用如下方法
SQL> SELECT ADDRESS,HASH_VALUE FROM V$SQLAREA WHERE ROWNUM<=1; ADDRESS HASH_VALUE ---------------- ---------- 000000006B734450 1227751471r
SQL> EXEC DBMS_SHARED_POOL.PURGE('000000006B734450,1227751471','C'); C表示的是游标
PL/SQL procedure successfully completed.
快速清空一个表中的执行计划
BEGIN DBMS_STATS.GATHER_TABLE_STATS(ownname => 'C##HRZ', tabname => 'BRICKS', estimate_percent => 100, 看下边优化建议 method_opt => 'for all columns size auto', 自动判断是否收集直方图 no_invalidate => FALSE, 是游标失效 degree => 1, 根据自己cpu数量 granularity => 'ALL', 收集分区表 cascade => TRUE); 收集索引 END; / estimate_percent : <1GB 建议采样比100% 1GB~5GB 建议采样比50% >5GB 建议采样比30%
本文来自博客园,作者:蚌壳里夜有多长,转载请注明原文链接:https://www.cnblogs.com/dbahrz/p/17264932.html