ORACLE資料庫效能優化概述

wq4113發表於2011-03-22
實際上,為了保證ORACLE資料庫執行在最佳的效能狀態下,在資訊系統開發之前就應該考慮資料庫的優化策略。優化策略一般包括伺服器作業系統引數調整、ORACLE資料庫引數調整、網路效能調整、應用程式SQL語句分析及設計等幾個方面,其中應用程式的分析與設計是在資訊系統開發之前完成的。

  分析評價ORACLE資料庫效能主要有資料庫吞吐量、資料庫使用者響應時間兩項指標。資料庫吞吐量是指單位時間內資料庫完成的SQL語句數目;資料庫使用者響應時間是指使用者從提交SQL語句開始到獲得結果的那一段時間。資料庫使用者響應時間又可以分為系統服務時間和使用者等待時間兩項,即:

  資料庫使用者響應時間=系統服務時間 + 使用者等待時間

  上述公式告訴我們,獲得滿意的使用者響應時間有兩個途徑:一是減少系統服務時間,即提高資料庫的吞吐量;二是減少使用者等待時間,即減少使用者訪問同一資料庫資源的衝突率。

  效能優化包括如下幾個部分:

  ORACLE資料庫效能優化之一:調整資料結構的設計。

  這一部分在開發資訊系統之前完成,程式設計師需要考慮是否使用ORACLE資料庫的分割槽功能,對於經常訪問的資料庫表是否需要建立索引等。

  ORACLE資料庫效能優化之二:調整應用程式結構設計。

  這一部分也是在開發資訊系統之前完成,程式設計師在這一步需要考慮應用程式使用什麼樣的體系結構,是使用傳統的Client/Server兩層體系結構,還是使用Browser/Web/Database的三層體系結構。不同的應用程式體系結構要求的資料庫資源是不同的。

  ORACLE資料庫效能優化之三:調整資料庫SQL語句。

  應用程式的執行最終將歸結為資料庫中的SQL語句執行,因此SQL語句的執行效率最終決定了ORACLE資料庫的效能。ORACLE公司推薦使用ORACLE語句優化器(Oracle Optimizer)和行鎖管理器(row-level manager)來調整優化SQL語句。

  ORACLE資料庫效能優化之四:調整伺服器記憶體分配。

  記憶體分配是在資訊系統執行過程中優化配置的,資料庫管理員可以根據資料庫執行狀況調整資料庫系統全域性區(SGA區)的資料緩衝區、日誌緩衝區和共享池的大小;還可以調整程式全域性區(PGA區)的大小。需要注意的是,SGA區不是越大越好,SGA區過大會佔用作業系統使用的記憶體而引起虛擬記憶體的頁面交換,這樣反而會降低系統。

  ORACLE資料庫效能優化之五:調整硬碟I/O,這一步是在資訊系統開發之前完成的。

  資料庫管理員可以將組成同一個表空間的資料檔案放在不同的硬碟上,做到硬碟之間I/O負載均衡。

  ORACLE資料庫效能優化之六:調整作業系統引數。

  例如:執行在UNIX作業系統上的ORACLE資料庫,可以調整UNIX資料緩衝池的大小,每個程式所能使用的記憶體大小等引數。

  實際上,上述ORACLE資料庫效能優化措施之間是相互聯絡的。ORACLE資料庫效能惡化表現基本上都是使用者響應時間比較長,需要使用者長時間的等待。但效能惡化的原因卻是多種多樣的,有時是多個因素共同造成了效能惡化的結果,這就需要資料庫管理員有比較全面的計算機知識,能夠敏感地察覺到影響資料庫效能的主要原因所在。另外,良好的資料庫管理工具對於優化資料庫效能也是很重要的。

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

相關文章