SQL調整工具集(SQL Tuning Set,STS)是Oracle 10g的SQL Tuning Advisor特性的一個組成部分。每個調整工具集都包含一個或幾個SQL語句,以及正確解釋它們所需的上下文信息。SQL Tuning Advisor用一個調整工具集作為輸入,檢查其中的語句並為它們提出優化建議。
由於沒有辦法在不同的實例間移動調整工具集,Oracle 10g的最初版本要求在具有SQL Tuning Set的同一台機器上執行這種分析。這增加了生產系統的管理開銷,並且需要在生產實例中給開發者比正常情況下更高的特權。
Oracle 10g第二版(release 2)中增加了移動SQL Tuning Set的功能。使用一個中轉表和DBMS_SQLTUNE類中的過程,你就可以從創建SQL Tuning Set的實例中將它們輸出,然後輸入到一個測試實例中進行分析。
《Oracle數據庫性能調整指導》一文詳細說明了這個轉換過程。簡單來說,這個過程包括以下步驟:
建立一個或幾個SQL Tuning Set。STS可以在Oracle Enterprise Manager中通過現有的AWR快照、保存的快照集或一個定義的SQL歷史時期來創建。它們還可以使用DBMS_SQLTUNE中的過程手動創建。
使用DBMS_SQLTUNE中的PAC_STGTAB_SQLSET過程建立一個中轉表,保存將要傳輸的STS。
使用PAC_STGTAB_SQLSET過程加載含有現存調整工具集的中轉表。
像移動其它表一樣(如通過Datapump輸出和輸入)移動中轉表。
在目標系統中,使用UNPACK_STGTAB_SQLSET過程將調整工具集輸入到系統中。然後就可以使用DBMS_SQLTUNE或Enterprise Manager對它們進行分析。
Bob Watkins(OCP、MCDBA、MCSE、MCT)是一位有25年經驗的計算機專業人士,從事過技術培訓師、顧問與數據庫管理員等職。
注:更多精彩文章請關注三聯編程教程欄目。