oracle清理無用的sql資訊

hotdog04發表於2013-07-07
無用的sql佔用大量的共享池記憶體,同樣多版本的sql也可能對sql解析造成負面影響。
11g提供了專門的清理包,使用示例如下(清理高版本):
 
begin
for i in (select sql_text,sql_id,address,hash_value,executions,loads,
                 version_count,loaded_versions
                 from v$sqlarea where loaded_versions>=50)
  loop
  dbms_shared_pool.purge(''||i.address||','||i.hash_value||'','c');
  end loop;
end;
上面的遊標可以自己定義,選擇規則進行清理。
 
不過有些已經沒有用的sql無法清理掉,具體原因不清楚。不過上面的能解決多數sql了

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20625855/viewspace-765669/,如需轉載,請註明出處,否則將追究法律責任。

相關文章