Oracle g的最優秀功能之一是顧問框架(Advisory Framework)它是一個優化顧問集合可幫助您充分利用數據庫其中的一個顧問——SQL訪問顧問(Access Advisor)——建議對模式中的索引和物化視圖進行改變來提高性能
但是由於顧問框架(Advisory Framework)被一般化以支持各種不同的顧問因此導航DBMS_ADVISOR包中的所有存儲過程和函數會十分繁瑣一個CREATE_TASK過程初始化一個新的優化任務一個SET_TASK_PARAMETER過程修改默認的參數CTEATE_SQLWKLD過程則建立一個負載對象等等
Oracle g第二版在DBMS_ADVISOR包中增加了一個QUITE_TUNE過程這個過程默認所需要的大多數參數來建立一個顧問對界面進行調整除建立一個負載對象(即進行優化的QSL語句表)外它還直接向過程提交一個單獨的SQL語句
要使用QUITE_TUNE過程——或DBMS_ADVISOR包中的任何其它工具——用戶必須具有顧問權限另外進行分析的用戶必須對查詢中引用的表至少擁有選擇許可然後只要簡單地調用過程就行如列表A所示
您可以在各種DBA_視圖中查看運行結果DBA_ADIVSOR_LOG列出您進行的任務和它生成建議的數目然後可在DBA_ADVISOR_RECOMMENDATIONS視圖中看到這些建議單個的命令可在DBA_ADVISOR_ACTIONS視圖中找到
而且您還可以讓DBMS_ADVISOR生成執行建議行為所需的完整SQL腳本GET_TASK_SCRIPT函數返回一個包含腳本的SLOB
列表B顯示了列表A的運行結果因為WHERE子句使用的AMOUNT_SOLD欄沒有編入索引需要進行全面表掃描來處理這個語句此外它暗示這是一個位圖索引因為欄中的數據有許多重復的值
From:http://tw.wingwit.com/Article/program/Oracle/201311/18810.html