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年經驗的電腦專業人士,從事過技術培訓師、顧問與資料庫管理員等職。
注:更多精彩文章請關注三聯編程教程欄目。