1 引言
Oracle數據庫作為一種具有高可靠性、高安全性、高兼容性的大型關系型數據庫,在金融、通信、醫 療、生產制造等行業得到了廣泛的應用,已逐漸成為企業信息化建設的重要基礎平台。在航天領域中, Oracle數據庫應用在人力資源、型號物資、財務及研制過程管理等管理信息系統的同時,還用來存儲和管 理大量星上數據。要使Oracle數據庫適應應用需求,有效管理和利用信息時代不斷產生並急劇膨脹的數據 ,從而更好地支撐業務應用,對Oracle數據庫優化顯得尤為重要。
在實際應用中,常常會遇到Oracle數據庫性能惡化的問題,目前,性能惡化的主要表現是系統響應時 間較長,需要用戶長時間的等待。而性能惡化的原因是多種多樣的,主要包括數據庫運行環境惡化、數據 庫參數設定不當和數據庫應用不夠優化三個方面,這就需要數據庫管理員有比較全面的計算機知識,能夠 敏感地察覺到影響數據庫性能的主要原因,並及時解決問題。
Oracle的性能優化是指根據不同的實際需求,對影響其性能的多種因素進行適當調整,以得到較好的 運行狀態,達到最優化的性能。Oracle的性能優化主要從數據庫運行環境優化、數據庫參數優化和應用優 化三個方面人手,優化措施之間是相互聯系的。
此外,Oracle數據的性能優化還需要對企業的需求有深入的了解,如:數據的吞吐量、用戶對響應時 間的要求等,並能預見未來的需求變化,從而適時地進行優化配置。
2 環境優化
2.1優化內存
Oracle數據庫管理系統具有內存敏感性的特點,實例的內存結構是否能獲得足夠的物理內存,是決定 Oracle整體性能的關鍵因素,數據庫系統的效率可以通過調整內存分配得到很大的提升。
2.1.1合理配置內存
系統內存的配置應盡可能實現如下目標:
1)減少分頁;
2)減少內存交換;
3)盡可能讓系統全局區(SGA)能駐留內存。
當系統執行分頁時,會將當前沒有使用的信息從內存移到硬盤上。這樣就可以為當前需要內存的程序 分配內存。如果頻繁地發生分頁,系統性能就會嚴重降低,從而導致很多程序的執行時間變長。
當系統執行內存交換時,會將活動進程臨時地從內存移到硬盤上,這樣另一個活動進程就可以得到所 需要的內存。內存交換基於系統循環時間。如果內存交換過於頻繁,就會產生大量的輸入/輸出(I/0), 應用的性能可能會急劇惡化。
SGA是Oracle的工作區,它和Oracle進程結合組成一個Oracle數據庫實例,管理數據庫數據,應答用戶 請求,為用戶提供服務。SGA對數據庫性能有著很大的影響,保證共享池有足夠的空間尤其重要。如果SGA 被頻繁地分頁和交換,系統性能將嚴重惡化。