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

浙公网安备 33010602011771号