星期三, 8月 08, 2012

Oracle 8i upgrade to 9i , 9i upgrade to 11g 遇上效能問題(CPU busy)

Case1 :  8i upgrade to 9i

目前證實是資料庫升板可能遇上相容性問題 , 9i 新的subquery 增強功能在某些狀況下 會變得緩慢 (特別是在8i upgrade to 9i 的資料庫)
有兩種方法如下:
1.
SQL>
alter session set "_UNNEST_SUBQUERY" = false;
alter session set "_ALWAYS_SEMI_JOIN" = off;
alter session set "_ALWAYS_ANTI_JOIN" = off;
 then execute your SQL command...
2.設定資料庫參數

*._UNNEST_NOTEXISTS_SQ='OFF' (需重啟)


Case 2 :  9i to 10g/11g
一樣跟subquery 機制有關聯 , 修改前後占用CPU 資源差異甚鉅
SQL>
alter session set "_optimizer_cost_based_transformation" =off;
alter session set "_gby_hash_aggregation_enabled" = FALSE;
then execute your SQL command...

詳細說明可以參考網誌內的另一篇文章
http://jaychu649.blogspot.tw/2011/12/10ggroup-by-sort.html

BTW,
如果還無效 記得分析相關表格與索引再試試.
Ref:


沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...