Oracle數(shù)據(jù)庫11g:SQL計劃管理(三)(1)
來源:易賢網(wǎng) 閱讀:883 次 日期:2015-10-10 14:57:11
溫馨提示:易賢網(wǎng)小編為您整理了“Oracle數(shù)據(jù)庫11g:SQL計劃管理(三)(1)”,方便廣大網(wǎng)友查閱!

Oracle數(shù)據(jù)庫11gR1提供一套新工具集—SQL計劃管理(SPM),它讓每個Oracle DBA都可以為任何SQL語句捕獲并保存最有效的執(zhí)行計劃。本文是本系列中的最后一篇,主要講述如何使用SPM限制現(xiàn)有SQL語句第一次遇到Oracle11g的基本成本的優(yōu)化器(CBO)時性能突然倒退,同時,也一并介紹一下幾個允許非常細(xì)粒度的SQL管理庫(SMB)的管理的SQL計劃管理特色。

本系列前面的文章探討了Oracle數(shù)據(jù)庫11g新的SQL計劃管理(SPM)特色,它可以用于Oracle10g升級到Oracle11g時捕獲和載入SQL計劃基線,以便在數(shù)據(jù)庫升級過程中消除SQL語句性能倒退,前面的文章也講述了如何保證新應(yīng)用程序代碼在部署到生產(chǎn)環(huán)境之前,為SQL語句選擇最有效的執(zhí)行計劃。

本文將講述如何使用SPM:

◆當(dāng)它們嘗試?yán)肙racle11g新的優(yōu)化器特色時,限制SQL語句性能不必要的倒退。

◆通過手工方法捕獲特定SQL語句的SQL計劃基線。

◆控制現(xiàn)有SQL計劃基線的演變。

◆管理SQL計劃管理基線(SMB)的內(nèi)容,包括如何清除過時的或不希望有的SQL計劃基線。

SPM情景#3:依靠前面的優(yōu)化器版本使用SQL性能分析器(SPA)

在前面文章中的第一個情景講述了如何使用SPM為SQL語句捕獲SQL計劃基線,該SQL語句的性能在實施Oracle10g升級到Oracle11g的過程中可能倒退。那個情景實際上涉及到在一個現(xiàn)有的Oracle10g數(shù)據(jù)庫中執(zhí)行該SQL語句組成的SQL工作負(fù)載。解決這個問題的一個可選的方法是在一個現(xiàn)有的Oracle11g數(shù)據(jù)庫環(huán)境中通過控制初始化參數(shù)OPTIMIZER_FEATURES_ENABLE的值模擬一個Oracle10g環(huán)境。

模擬準(zhǔn)備

要說明這個情景,我將利用前面文章中SPM情景#2中SQL調(diào)整集STS_SPM_200中捕獲的相同的SQL語句,在我執(zhí)行任何新的分析之前,我將從SQL管理庫(SMB)中移除早先創(chuàng)建的所有SQL計劃基線,我將使用函數(shù)DBMS_SPM.DROP_SQL_PLAN_BASELINE移除那些標(biāo)記有注釋字符串“SPM_2”的語句(查看列表3.1),然后,我會準(zhǔn)備一個新的名叫SPA_SPM_300的SQL性能分析器(SPA)任務(wù),它將分析STS_SPM_200 SQL調(diào)整集中的SQL工作負(fù)載的性能(查看列表3.2)。

分析SQL工作負(fù)載

接下來,我將瞄準(zhǔn)SPA任務(wù)SPA_SPM_300,評估在Oracle10gR2和Oracle11gR1數(shù)據(jù)庫環(huán)境之間模擬的工作負(fù)載性能,首先我會清除我的Oracle11g的庫緩存和數(shù)據(jù)庫緩存,確保提供一個干凈的性能評估起點(diǎn)。然后,我會設(shè)置初始化參數(shù)OPTIMIZER_FEATURES_ENABLE的值為10.0.0.0,欺騙優(yōu)化器相信它是一個Oracle10g數(shù)據(jù)庫,最后,我會通過執(zhí)行SPA_SPM_300一次測試分析那個模式下的性能,一旦這個順序完成了,我將設(shè)置OPTIMIZER_FEATURES_ENABLE的值為11.1.0.6,然后重復(fù)相同的分析,SPA將在Oracle11g環(huán)境下評估工作負(fù)載,這里用到的代碼在列表3.3中。

比較相關(guān)的工作負(fù)載性能

一旦這兩個工作負(fù)載執(zhí)行測試完成,我下一個任務(wù)是判斷是否有SQL語句因為優(yōu)化器設(shè)置改變而性能倒退了,我使用的代碼在列表3.4中,它們比較兩個工作負(fù)載模擬情況,然后生成一個關(guān)于哪些SQL語句性能下降了的報告。為了在這里展示SQL性能分析器的靈活性,我避開使用一個相對變化的優(yōu)化成本作為我的度量值,相反,我選擇基于估計執(zhí)行時間進(jìn)行SQL語句比較。

為性能倒退的SQL語句捕獲SQL計劃基線

與分析報告顯示的結(jié)果一樣,在模擬從10.2.0.1升級到11.1.0.6時,有兩條SQL語句產(chǎn)生了負(fù)面的影響(性能降低了),我將捕獲這些語句的執(zhí)行計劃到SQL計劃基線中,這將防止CBO使用11g優(yōu)化器設(shè)置運(yùn)行這些SQL語句,它會因這些語句引起有害的性能,列表3.5中的代碼說明了如何實現(xiàn)這個。

更多信息請查看IT技術(shù)專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機(jī)網(wǎng)站地址:Oracle數(shù)據(jù)庫11g:SQL計劃管理(三)(1)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)