Oracle數據庫有很多隱藏的參數配置文件,hint這些基本上屬於不太會用到,但某些可以加入到代碼中臨時改變session參數。達到避免錯誤執行計劃的效果, 僅列出幾個第一次遇見的和鏈接
1. 隱藏配置參數, 特點以 “_”下劃線開頭,+作用點(optimizer,db etc),+ 實際控制屬性 + enabled(開關)
alter system set “_optimizer_cartesian_enabled”=FALSE [scope=spfile] ; --避免執行 笛卡爾積
alter system set “_optimizer_mjc_enabled”=FALSE [scope=spfile] ; --避免執行 merge join 笛卡爾積
hint 方法修改參數 /*+ OPT_PARAM('_optimizer_mjc_enabled','false') */,順便提一下強悍的OPT_PARAM,這玩意可以讓你在SQL級別通過加HINT的方式來調整單個SQL執行的時候所依賴的系統參數的值,相當強悍。這個是 10.2版本新引進的參數,至於哪些參數可以在這個HINT中設置,我也不知道,不過估計SESSION級別的參數應該都可以的。
refer to :http://www.dba-oracle.com/art_so_undoc_parms_p2.htm;
https://logicalread.com/oracle-11g-top-13-undocumented-initialization-parameters-mc02/#.XXmXSPkzaUn;
http://www.orafaq.com/parms/index.htm;
2. 隱藏hint
/* OPT_DYN_SAMP */ --動態執行統計信息