jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks

          公告

          歡迎交流鏈接,給我留言

          常用鏈接

          留言簿(40)

          隨筆分類(592)

          隨筆檔案(400)

          Domestic

          Foreign

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          http://www.oracle.com/technology/global/cn/obe/11gr1_db/manage/sqlaccadv/sqlaccadv.htm 

          利用 SQL Access Advisor 改進模式設計

          本教程將向您說明如何使用 SQL Access Advisor 改進模式設計。

          大約 40 分鐘

          主題

          本教程包括下列主題:

          將鼠標置于此圖標上可以加載和查看本教程的所有屏幕截圖。 (警告:因為此操作會同時加載所有屏幕截圖,所以網速較慢時,響應時間可能會比較長。)

          注:此外,您還可以在下列步驟中將鼠標放在每個單獨的圖標上,從而僅加載和查看與該步驟相關的屏幕截圖。可以通過單擊各個屏幕截圖來將其隱藏。

          概述

          定義相應的訪問結構以優化 SQL 查詢始終是 Oracle DBA 要考慮的問題。因此,為解決這一問題,人們編寫了許多技術文章和腳本,還開發了不少高端工具。此外,隨著分區和物化視圖技術的發展,確定訪問結構變得愈加復雜。為解決這一非常重要的需求,Oracle 數據庫 10g 和 11g 引入了 SQL Access Advisor,從而改進了可管理性。

          SQL Access Advisor 通過建議要創建、刪除或保留的索引、物化視圖、物化視圖日志或分區來確定并幫助解決與 SQL 語句執行相關的性能問題。它可以通過 Database Control 運行,也可以通過命令行使用 PL/SQL 過程運行。

          返回主題列表

          開始本教程之前,您應該:

          1.

          安裝 Oracle 數據庫 11g。

          2.

          下載 sqlaccadv.zip 文件并將其解壓縮到您的工作目錄(即 wkdir),然后導航到您的工作目錄。

          返回主題列表

          使用 SQL Access Advisor

          SQL Access Advisor 將實際負載作為輸入,Advisor 也可以通過模式獲得假定的負載。然后,它會建議可提供更快執行路徑的訪問結構。它具有以下優點:

          • 無需掌握專業知識。
          • 根據實際駐留在基于成本的優化器中的規則做決定。
          • 與優化器和 Oracle 數據庫增強同步。
          • 是一個涵蓋 SQL 訪問方法各個方面的單一顧問程序。
          • 提供簡單、用戶友好的 GUI 向導。
          • 生成腳本來實施建議。

          下面的例子說明了 SQL Access Advisor 可以提供的建議的類型。該例子還使用 SQL Performance Analyzer 證明 SQL Access Advisor 提供的建議很好。

          執行以下步驟,了解 SQL Access Advisor 的用法:

          1.

          在以 oracle 用戶身份連接的終端會話中,執行 sqlaccessadv_setup.sh 腳本。該腳本將生成本 OBE 中使用的所有必需的數據。尤其是,它將生成用于表示要分析的負載的 SQL 調整工具集。

          ./sqlaccessadv_setup.sh

           

          2.

          sh用戶身份(口令 sh)連接到 Enterprise Manager Database Control。進入 Home 頁面后,單擊 Related Links 部分中的 Advisor Central 鏈接。

           

          3.

          在 Advisor Central 頁面中,單擊 SQL Advisors 鏈接。然后在 SQL Advisors 頁面中,單擊 SQL Access Advisor 鏈接。

           

          4.

          在 Initial Options 頁面中,選擇 Inherit Options from a previously saved Task or Template,然后選擇 SQLACCESS_WAREHOUSE 模板。完成以上操作后,單擊 Continue

           

          5.

          在 Workload Source 頁面中,選擇 Use an existing SQL Tuning Set 并在 SQL Tuning Set 域中輸入 SH.SQLSET_MY_SQLACCESS_WORKLOAD。該 SQL 調整工具集是以前生成的。它表示您要分析的倉庫負載。完成以上操作后,單擊 Continue

           

          6.

          在 Recommendation Options 頁面中,確保已選擇所有可能的訪問結構并選擇了 Comprehensive。完成以上操作后,單擊 Continue

           

          7.

          在 Schedule 頁面的 Task Name 域中輸入 MY_SQLACCESS_TASK。從提供的列表中選擇第一個時區(單擊火炬圖標)。完成以上操作后,單擊 Continue

           

          8.

          在 Review 頁面中,單擊 Submit

           

          9.

          返回 Advisor Central 頁面,單擊 Refresh。完成以上操作后,單擊 Results 表中的 MY_SQLACCESS_TASK 鏈接。該任務應處于 COMPLETED 狀態。

           

          10.

          這將轉至 Results 頁面。通過該頁面,您可以看到針對該負載實施 SQL Access Advisor 建議的潛在好處。單擊 Recommendation 子選項卡。

           

          11.

          在 Recommendations 子頁面中,您可以查看建議的高級概述。基本上,會為該負載生成所有可能的建議類型。確保已選擇所有建議,單擊 Recommendation Details 按鈕。這將轉至 Details 頁面,您可以在其中看到有關每個建議的更多詳細信息,以及該負載中受這些建議影響的相應 SQL 語句。單擊 OK

           

          12.

          返回 Recommendations 子頁面,單擊 Schedule Implementation 按鈕。

           

          13.

          在 Schedule Implementation 頁面中,顯示一個警告,表明該向導不會嘗試實施其建議,因為某些建議是非常重要的更改,應由管理員認真查看。因此,單擊 Show SQL 按鈕查看您可以用來實施所有建議的腳本。事實上,您已經創建了該腳本并將在本 OBE 的稍后部分使用。查看了該腳本之后,單擊 Done。返回 Schedule Implementation 頁面,單擊 Cancel

           

          14.

          單擊右上角的 Database 選項卡,然后單擊 Software and Support 選項卡。進入 Software and Support 頁面后,單擊 SQL Performance Analyzer 鏈接。您現在希望證明實施建議是有益處的。

           

          15.

          在 SQL Performance Analyzer 頁面中,單擊 Guided Workflow 鏈接。

           

          16.

          在 Guided Workflow 頁面中,單擊與第 1 步對應的行上的 Execute 圖標。在 Create SQL Performance Analyzer Task 中,在 SQL Performance Analyzer Task 的 Name 域中輸入 MY_SPA_TASK。然后,在 SQL 調整工具集的 Name 域中輸入 SH.SQLSET_MY_SQLACCESS_WORKLOAD。完成以上操作后,單擊 Create

           

          17.

          返回 Guided Workflow 頁面,單擊第 2 步的 Execute 圖標。在 Create Replay Trial 頁面的 Replay Trial Name 域中輸入 MY_SQL_REPLAY_BEFORE,確保選中 Trial environment established 復選框。然后,單擊 Submit

           

          18.

          在終端會話中,在 SQL*Plus 下以 sh用戶身份(口令 sh)連接。在 SQL*Plus 會話中,執行 implement.sql 腳本。該腳本是與 SQL Access Advisor 會話先前生成的建議對應的預創建腳本。

          @implement.sql

           

          19.

          返回 Guided Workflow Enterprise Manager 頁面,單擊與第 3 步相對應的 Execute 圖標。在 Create Replay Trial 頁面的 Replay Trial Name 域中輸入 MY_SQL_REPLAY_AFTER。確保已選中 Trial environment established 復選框,然后單擊 Submit

           

          20.

          返回 Guided Workflow Enterprise Manager 頁面,單擊與第 4 步對應的 Execute 圖標。在 Run Replay Trial Comparison 頁面中,確保創建一個 MY_SQL_REPLAY_BEFORE 和 MY_SQL_REPLAY_AFTER 之間的比較。單擊 Submit

           

          21.

          返回 Guided Workflow Enterprise Manager 頁面,單擊與第 5 步對應的 Execute 圖標。在 SQL Performance Analyzer Task Result 頁面上,您可以清楚地看到第二次試用較第一次快得多。

           

          返回主題列表

          在本教程中,您學習了如何使用 SQL Access Advisor。

          posted on 2009-10-24 13:59 jinfeng_wang 閱讀(1342) 評論(0)  編輯  收藏 所屬分類: oracle
          主站蜘蛛池模板: 锦州市| 西丰县| 南木林县| 沙湾县| 共和县| 曲靖市| 朝阳市| 马关县| 新密市| 奉节县| 普兰县| 都匀市| 射洪县| 腾冲县| 绵竹市| 炎陵县| 贵定县| 湖北省| 洞头县| 海林市| 武川县| 庆阳市| 江津市| 绥化市| 萨迦县| 固始县| 睢宁县| 巴青县| 文登市| 清水河县| 和平区| 平远县| 潜山县| 潼南县| 饶阳县| 河曲县| 凤凰县| 潮州市| 彭山县| 吴堡县| 武定县|