程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 9i數據庫中動態重配置深入分析

Oracle 9i數據庫中動態重配置深入分析

編輯:Oracle數據庫基礎

Oracle9i最重要的新特性就能動態修改幾乎所有Oracle性能參數。這使Oracle專家能在Oracle實例運行期間動態地重新配置它——不管是因為要解決當前的一個性能問題,還是因為預測到一個緊迫的性能需求。由於能動態修改系統全局區域(System Global Area,SGA)中的所有東西(SGA是Oracle的一個實例使用的RAM),所以至關重要的一點就是知道如何監視Oracle數據庫。歸納出系統訪問趨勢及訪問模式後,可因為預測到常規的資源需求而提前重新配置好數據庫。

牽涉到動態數據庫調節操作時,Oracle專家通常關心的是兩方面的問題:事先安排好的重配置,以支持常規處理需求的變化;以及基於趨勢的動態重配置,以響應從STATSPACK中獲取的信息。下面來看看Oracle如何對這兩種活動提供支持。

安排好的重配置

假定一個Oracle數據庫在白天以“聯機事務處理”(OLTP)模式運行,夜間以“決策支持”模式運行。這兩種服務為了獲得最佳的性能,分別提出了完全不同的要求。針對這種類型的數據庫,Oracle DBA可事先安排好一個任務,針對當前的處理類型,將Oracle實例重配置為最恰當的配置。

通常可選擇兩種工具之一來安排動態重配置。最常見的方式是使用一個UNIX cron作業,它啟動一個shell腳本來安排定期重配置。還可使用Oracle dbms_job實用程序。這兩種工具都允許你安排一次配置更改。

清單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/oratab|grep ^$ORACLE_SID:|cut -f2 -d':'
#ORACLE_HOME=`cat /var/opt/oracle/oratab|grep 
^$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提供了一個UNIX腳本,可用它針對決策支持處理而重配置Oracle。注意該腳本修改了shared_pool、db_cache_size以及pga_aggregate_target等參數,以滿足數據倉庫活動的需要。第二天早上可運行一個類似的腳本,將數據庫配置變回OLTP模式。

基於趨勢的動態重配置

執行基於趨勢的動態重配置時,要收集有關Oracle數據庫的歷史數據,並用這種信息來提前重配置數據庫,具體做法可能是使用dbms_job包進行臨時性更改,或使用前面討論的某種方法安排定期重配置。這類似於“准實時”生產——裝配線上需要某些零件時,那些零件就剛好出現在生產車間。同樣地,Oracle DBA可預測處理需求,並確保及時提供SGA資源,以滿足處理任務之需要。

可用STATSPACK來跟蹤重要度量指標,並揭示出訪問模式,以預測Oracle服務器即將需要的資源。度量指標通常根據一天中的不同小時以及一周中的不同天來收集,以便發現其中的訪問模式。以圖A每天各個小時的數據緩沖命中率(BHR)為例。


圖A

這幅BHR圖表明緩沖區塊反復出現短缺現象,注意重復出現的指標表明,數據緩沖區塊在2:00到3:00 AM之間出現短缺,同樣的情況在8:00到9:00 PM之間再次出現。了解這一點後,就可安排任務,在這些時段為數據緩沖重新分配RAM,以緩解問題。

還可以繪制一周中每一在的數據BHR圖,如圖B所示。從中可以看出,有問題的是周一和周五。所以,這兩天需要增大db_cache_size來糾正問題


圖B

日BHR圖揭示出較長周期內產生的問題,基於趨勢的信息對於Oracle DBA來說是一個大有潛力可挖的金礦,因為可用它揭示出Oracle數據庫中以前看不見的性能趨勢。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved