oracle效能調整(1)

jss001發表於2009-02-16
Oracle 資料庫廣泛應用在社會的各 個領域,特別是在Client/Server模式的應用,但是應用開發者往往碰到整個系統的效能隨著資料量的增大顯著下降的問題,為了解決這個問題,從以 下幾個方面:資料庫伺服器、網路I/O、應用程式等對整個系統加以調整,充分發揮Oracle的效能,提高整個系統的效能。

1 調整資料庫伺服器的效能
  
Oracle資料庫伺服器是整個系統的核心,它的效能高低直接影響整個系統的效能,為了調整Oracle資料庫伺服器的效能,主要從以下幾個方面考慮:1.1 Oracle 調整作業系統以適合Oracle資料庫伺服器執行
  
資料庫伺服器很大程度上依賴於執行伺服器的作業系統,如果作業系統不能提供最好效能,那麼無論如何調整,Oracle資料庫伺服器也無法發揮其應有的效能。
1.1.1
為Oracle資料庫伺服器規劃系統資源
  據已有計算機可用資源
, 規劃分配給Oracle伺服器資源原則是:儘可能使Oracle伺服器使用資源最大化,特別在Client/Server中儘量讓伺服器上所有資源都來執行Oracle服務。
1.1.2
調整計算機系統中的記憶體配置
  多數作業系統都用虛存來模擬計算機上更大的記憶體,它實際上是硬碟上的一定的磁碟空間。當實際的記憶體空間不能滿足應用軟體的要求時,作業系統就將用這部分的磁碟空間對記憶體中的資訊進行頁面替換,這將引起大量的磁碟
I/O操作,使整個伺服器的效能下降。為了避免過多地使用虛存,應加大計算機的記憶體。
1.1.3
為Oracle資料庫伺服器設定作業系統程式優先順序
  不要在作業系統中調整
Oracle程式的優先順序,因為在Oracle資料庫系統中,所有的後臺和前臺資料庫伺服器程式執行的是同等重要的工作,需要同等的優先順序。所以在安裝時,讓所有的資料庫伺服器程式都使用預設的優先順序執行。1.2 Oracle 調整記憶體分配
  
數 據庫伺服器保留3個基本的記憶體快取記憶體,分別對應3種不同型別的資料:庫快取記憶體,字典快取記憶體和緩衝區快取記憶體。庫快取記憶體和字典快取記憶體一起構成共享 池,共享池再加上緩衝區快取記憶體便構成了系統全程區(SGA)。SGA是對資料庫資料進行快速訪問的一個系統全程區,若SGA本身需要頻繁地進行釋放、分 配,則不能達到快速訪問資料的目的,因此應把SGA放在主存中,不要放在虛擬記憶體中。記憶體的調整主要是指調整組成SGA的記憶體結構的大小來提高系統效能, 由於Oracle資料庫伺服器的記憶體結構需求與應用密切相關,所以記憶體結構的調整應在磁碟I/O調整之前進行。
1.2.1
庫緩衝區的調整
   庫緩衝區中包含私用和共享SQL和PL/SQL區,透過比較庫緩衝區的命中率決定它的大小。要調整庫緩衝區,必須首先了解該庫緩衝區的活動情況,庫緩衝 區的活動統計資訊保留在動態效能表v$librarycache資料字典中,可透過查詢該表來了解其活動情況,以決定如何調整。
  
Select sum(pins),sum(reloads) from v$librarycache;

  Pins
列給出SQL語句,PL/SQL塊及被訪問物件定義的總次數;Reloads列給出SQL 和PL/SQL塊的隱式分析或物件定義重灌載時在庫程式緩衝區中發生的錯誤。如果sum(reloads)/sum(pins)≈0,則庫緩衝區的命中率合適;若sum(reloads)/sum(pins)>1, 則需調整初始化引數 shared_pool_size來重新調整分配給共享池的記憶體量。
1.2.2
資料字典緩衝區的調整
  資料字典緩衝區包含了有關資料庫的結構、使用者、實體資訊。資料字典的命中率,對系統效能影響極大。資料字典緩衝區的使用情況記錄在動態效能表v$librarycache中,可透過查詢該表來了解其活動情況,以決定如何調整。
  
Select sum(gets),sum(getmisses) from v$rowcache;

  Gets
列是對相應項請求次數的統計;Getmisses 列 是引起緩衝區出錯的資料的請求次數。對於頻繁訪問的資料字典緩衝區,sum(getmisses)/sum(gets)<10%~15%。若大於此 百分數,則應考慮增加資料字典緩衝區的容量,即需調整初始化引數shared_pool_size來重新調整分配給共享池的記憶體量。
1.2.3
緩衝區快取記憶體的調整
  使用者程式所存取的所有資料都是經過緩衝區快取記憶體來存取,所以該部分的命中率,對效能至關重要。緩衝區快取記憶體的使用情況記錄在動態效能表v$sysstat中,可透過查詢該表來了解其活動情況,以決定如何調整。
  
Select name,value from v$sysstat where name in ('dbblock gets','consistent gets','physical reads');

  dbblock gets和consistent gets的值是請求資料緩衝區中讀的總次數。physical reads的值是請求資料時引起從盤中讀檔案的次數。從緩衝區快取記憶體中讀的可能性的高低稱為緩衝區的命中率,計算公式:
  Hit Ratio=1-(physical reds/(dbblock gets+consistent gets))
   如果Hit Ratio<60%~70%,則應增大db_block_buffers的引數值。db_block_buffers可以調整分配給緩衝區快取記憶體 的記憶體量,即db_block_buffers可設定分配緩衝區快取記憶體的資料塊的個數。緩衝區快取記憶體的總位元組數=db_block_buffers的 值*db_block_size的值。
db_block_size 的值表示資料塊大小的位元組數,可查詢 v$parameter 表:
  select name,value from v$parameter where name='db_block_size';
  在修改了上述資料庫的初始化引數以後,必須先關閉資料庫,在重新啟動資料庫後才能使新的設定起作用。
1.3 調整磁碟 I/O

  磁碟的I/O速度對整個系統效能有重要影響。解決好磁碟
I/O問題,可顯著提高效能。影響磁碟I/O的效能的主要原因有磁碟競爭、I/O次數過多和資料塊空間的分配管理。
  為
Oracle 資料庫伺服器建立新檔案時,不論是表空間所用的資料檔案還是資料事務登入所用的日誌檔案,都應仔細考慮資料庫伺服器上的可用磁碟資源。如果伺服器上有多個 磁碟,則可將檔案分散儲存到各個可用磁碟上,減少對資料庫的資料檔案及事務日誌檔案的競爭,從而有效地改善伺服器的效能。對於不同的應用系統都有各自的數 據集,應當創見不同的表空間分別儲存各自應用系統的資料,並且儘可能的把表空間對應的資料檔案存放在不同的磁碟上,這種從物理上把每個應用系統的表空間分 散存放的方法,可以排除兩個應用系統競爭磁碟的可能性。資料檔案、事務日誌檔案分別存放在不同的磁碟上,這樣事務處理執行的磁碟訪問不妨礙對相應的事物日 志登記的磁碟訪問。如果有多個磁碟可用,將兩個事物日誌成員放在不同的磁碟驅動器上,就可以消除日誌檔案可能產生的磁碟競爭。應把一個應用的表資料和索引 資料分散存放不同表空間上,並且儘量把不同型別的表空間存放在不同磁碟上,這樣就消除了表資料和索引資料的磁碟競爭。1.4 回 滾段是一個儲存區域,資料庫使用該儲存區域存放曾經由一個事務更新或刪除的行的原始資料值。如果使用者要回滾一個事務所做的改變,那麼資料庫就從回滾段中讀 回改變前的資料並使該事務影響的行改變為它們的原狀態。回滾段控制著資料庫處理事務的能力,因而在資料庫成功中起著關鍵性的作用,不管資料庫的其它部分設 計得多好,如果它設計得不合理,將會嚴重影響系統的效能。建立和調整回滾段的原則如下。
1.4.1
調整資料庫伺服器的回滾段
  
分離回滾段
   分離回滾段是指單獨為回滾段建立一個以上的表空間,使回滾段與資料字典、使用者資料、索引等分離開來。由於回滾段的寫入與資料和索引的寫入是並行進行的, 因此將它分離出來可以減少I/O爭用。如果回滾段與資料不分離,倘若要某個表空間離線或撤消,那麼在該表空間中的各個回滾段沒有全部離線之前,不能將這個 表空間離線或撤消。而一旦該表空間不可用,則該表空間中的所有回滾段也不能使用,這將浪費所有分配的磁碟空間。所以,獨立回滾段可使資料庫管理變得容易。 回滾段的經常性收縮,使得表空間的自由塊更容易形成碎片。分離回滾段可以減少資料庫表空間的碎片產生。
1.4.2
建立不同大小的回滾段群
   對於一些聯機事物處理,他們一般是頻繁地對少量資料進行修改,建立許多小的回滾段對之有利。每一個事物的入口項只能限於一個回滾段,回滾段應該充分大以 容納一個完整的事物處理,因此對一些較大型事物,需要較大型的回滾段。極個別離線處理事物會產生大量的回滾資訊,這時需要一個特大號的回滾段來處理。根據 這些理論,在Oracle資料庫伺服器中針對上述3種事物處理建立三組:小事物組、較大事物組、特大事物組等大小不同的回滾段群,並且將之分散到3個不同 的表空間上,群內大小相同,應能滿足該組事物處理的最大要求。
1.4.3
建立數量適當的回滾段
  一般回滾段數量與併發事物個數有關,以下給出由於併發事物個數而應建立回滾段的參考數:

併發事物(n)   回滾段數
n<16        4
16
n<32     8
n
32      n/4

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1017440/,如需轉載,請註明出處,否則將追究法律責任。

相關文章