文章詳情頁
Oracle9i數(shù)據(jù)庫如何支持動態(tài)重配置
瀏覽:25日期:2023-11-16 17:52:15
Oracle9i最重要的新特性就能動態(tài)修改幾乎所有Oracle性能參數(shù)。這使Oracle專家能在Oracle實(shí)例運(yùn)行期間動態(tài)地重新配置它——不管是因?yàn)橐鉀Q當(dāng)前的一個(gè)性能問題,還是因?yàn)椴聹y到一個(gè)緊迫的性能需求。由于能動態(tài)修改系統(tǒng)全局區(qū)域(System Global Area,SGA)中的所有東西(SGA是Oracle的一個(gè)實(shí)例使用的RAM),所以至關(guān)重要的一點(diǎn)就是知道如何監(jiān)視Oracle數(shù)據(jù)庫。歸納出系統(tǒng)訪問趨勢及訪問模式后,可因?yàn)椴聹y到常規(guī)的資源需求而提前重新配置好數(shù)據(jù)庫。 牽涉到動態(tài)數(shù)據(jù)庫調(diào)節(jié)操作時(shí),Oracle專家通常關(guān)心的是兩方面的問題:事先安排好的重配置,以支持常規(guī)處理需求的變化;以及基于趨勢的動態(tài)重配置,以響應(yīng)從STATSPACK中獲取的信息。下面來看看Oracle如何對這兩種活動提供支持。 安排好的重配置 假定一個(gè)Oracle數(shù)據(jù)庫在白天以“聯(lián)機(jī)事務(wù)處理”(OLTP)模式運(yùn)行,夜間以“決策支持”模式運(yùn)行。這兩種服務(wù)為了獲得最佳的性能,分別提出了完全不同的要求。針對這種類型的數(shù)據(jù)庫,Oracle DBA可事先安排好一個(gè)任務(wù),針對當(dāng)前的處理類型,將Oracle實(shí)例重配置為最恰當(dāng)?shù)呐渲谩?通常可選擇兩種工具之一來安排動態(tài)重配置。最常見的方式是使用一個(gè)UNIX cron作業(yè),它啟動一個(gè)shell腳本來安排定期重配置。還可使用Oracle dbms_job實(shí)用程序。這兩種工具都答應(yīng)你安排一次配置更改。 清單A如下: Listing A: Script to change to DSS-mode #!/bin/ksh # First, we must set the environment . . . . ORACLE_SID=$1 eXPort ORACLE_SID ORACLE_HOME=`cat /etc/oratabgrep ^$ORACLE_SID:cut -f2 -d':'#ORACLE_HOME=`cat /var/opt/oracle/oratabgrep ^$ORACLE_SID:cut -f2 -d':'` export ORACLE_HOME PATH=$ORACLE_HOME/bin:$PATH export PATH $ORACLE_HOME/bin/sqlplus –s /nologin<alter system set db_cache_size=1500m;alter system set shared_pool_size=500m;alter system set pga_aggregate_target=4000m;exit !清單A提供了一個(gè)UNIX腳本,可用它針對決策支持處理而重配置Oracle。注重該腳本修改了shared_pool、db_cache_size以及pga_aggregate_target等參數(shù),以滿足數(shù)據(jù)倉庫活動的需要。第二天早上可運(yùn)行一個(gè)類似的腳本,將數(shù)據(jù)庫配置變回OLTP模式。基于趨勢的動態(tài)重配置 執(zhí)行基于趨勢的動態(tài)重配置時(shí),要收集有關(guān)Oracle數(shù)據(jù)庫的歷史數(shù)據(jù),并用這種信息來提前重配置數(shù)據(jù)庫,具體做法可能是使用dbms_job包進(jìn)行臨時(shí)性更改,或使用前面討論的某種方法安排定期重配置。這類似于“準(zhǔn)實(shí)時(shí)”生產(chǎn)——裝配線上需要某些零件時(shí),那些零件就剛好出現(xiàn)在生產(chǎn)車間。同樣地,Oracle DBA可猜測處理需求,并確保及時(shí)提供SGA資源,以滿足處理任務(wù)之需要。 可用STATSPACK來跟蹤重要度量指標(biāo),并揭示出訪問模式,以猜測Oracle服務(wù)器即將需要的資源。度量指標(biāo)通常根據(jù)一天中的不同小時(shí)以及一周中的不同天來收集,以便發(fā)現(xiàn)其中的訪問模式。以圖A天天各個(gè)小時(shí)的數(shù)據(jù)緩沖命中率(BHR)為例。
圖A這幅BHR圖表明緩沖區(qū)塊反復(fù)出現(xiàn)短缺現(xiàn)象,注重重復(fù)出現(xiàn)的指標(biāo)表明,數(shù)據(jù)緩沖區(qū)塊在2:00到3:00 AM之間出現(xiàn)短缺,同樣的情況在8:00到9:00 PM之間再次出現(xiàn)。了解這一點(diǎn)后,就可安排任務(wù),在這些時(shí)段為數(shù)據(jù)緩沖重新分配RAM,以緩解問題。 還可以繪制一周中每一在的數(shù)據(jù)BHR圖,如圖B所示。從中可以看出,有問題的是周一和周五。所以,這兩天需要增大db_cache_size來糾正問題。
圖B日BHR圖揭示出較長周期內(nèi)產(chǎn)生的問題,基于趨勢的信息對于Oracle DBA來說是一個(gè)大有潛力可挖的金礦,因?yàn)榭捎盟沂境鯫racle數(shù)據(jù)庫中以前看不見的性能趨勢。我的下一篇文章將更研究聰明的Oracle專家喜歡使用的一些重要指標(biāo),可根據(jù)它們確定如何動態(tài)調(diào)節(jié)Oracle9i數(shù)據(jù)庫。
圖A這幅BHR圖表明緩沖區(qū)塊反復(fù)出現(xiàn)短缺現(xiàn)象,注重重復(fù)出現(xiàn)的指標(biāo)表明,數(shù)據(jù)緩沖區(qū)塊在2:00到3:00 AM之間出現(xiàn)短缺,同樣的情況在8:00到9:00 PM之間再次出現(xiàn)。了解這一點(diǎn)后,就可安排任務(wù),在這些時(shí)段為數(shù)據(jù)緩沖重新分配RAM,以緩解問題。 還可以繪制一周中每一在的數(shù)據(jù)BHR圖,如圖B所示。從中可以看出,有問題的是周一和周五。所以,這兩天需要增大db_cache_size來糾正問題。
圖B日BHR圖揭示出較長周期內(nèi)產(chǎn)生的問題,基于趨勢的信息對于Oracle DBA來說是一個(gè)大有潛力可挖的金礦,因?yàn)榭捎盟沂境鯫racle數(shù)據(jù)庫中以前看不見的性能趨勢。我的下一篇文章將更研究聰明的Oracle專家喜歡使用的一些重要指標(biāo),可根據(jù)它們確定如何動態(tài)調(diào)節(jié)Oracle9i數(shù)據(jù)庫。 標(biāo)簽:
Oracle
數(shù)據(jù)庫
排行榜

網(wǎng)公網(wǎng)安備