?

Oracle數據庫系統性能優化與調整

2010-08-15 00:43戴偉敏
赤峰學院學報·自然科學版 2010年12期
關鍵詞:數據庫系統緩沖區日志

戴偉敏

(福州大學 陽光學院基礎部,福建 福州 350000)

Oracle數據庫系統性能優化與調整

戴偉敏

(福州大學 陽光學院基礎部,福建 福州 350000)

Oracle數據庫是當前人們應用最廣泛的數據庫之一,隨著Oracle數據庫使用用戶的數量增多,數據庫系統性能也逐漸暴露出它的缺陷。如何有效保證Oracle數據庫高效運行,優化、調整數據庫性能是我們必須解決好的問題.本文試從性能優化與調整概述入手,重點分析影響Oracle數據庫系統性能的原因,然后詳細闡述Oracle數據庫系統優化策略,通過這些數據庫系統優化策略的介紹,期望能使Oracle數據庫系統得到最優的操作性能.

Oracle數據庫;性能優化與調整;策略

Oracle數據庫是目前用戶使用最為廣泛的數據庫管理系統,選擇使用Oracle作為數據庫應用系統的用戶,一般是需要處理的數據量較多,對于這種大型數據庫來說,數據庫運行效率是最重要的.同時,運行效率也是數據庫評估的重要指標之一.然而,在實際應用中,隨著訪問量的加大,需要處理的數據日益增加,數據庫系統的性能也將下降,為此,數據庫系統性能優化與調整將突顯出其更為重要作用.

1 性能優化與調整概述

性能優化指通過改善系統組件的性能,以最大限度地增加數據庫的吞吐量和相應響應時間的最小化.Oracle數據庫性能優化所遵循的原則:通過盡量少的磁盤訪問獲得用戶需要的數據.

性能調整是指通過修改系統參數、改變系統配置、優化應用程序等方式來改變系統性能.它包括對操作系統、硬件設置等系統進行優化配置,以及對訪問這些組件的應用的詳細分析與優化.

2 影響Oracle數據庫系統性能的因素

Oracle數據庫系統的運行效率會受到來自各個方面的影響,而這些影響也在不同程度上制約著數據庫系統性能的發揮,具體說來,主要體現在以下幾個方面中:

2.1 Oracle數據庫服務器的性能.數據庫系統的關鍵部分在于服務器,而服務器性能的好壞直接決定著整個系統能否順利的運轉.而服務器的操作系統和硬件設施又直接決定著服務器性能的好壞.

2.2 數據庫的配置.實際上,數據庫的配置情況是才是影響數據庫系統性能的主要原因,可以說它是整個數據庫得以優化的關鍵和核心之所在.數據庫配置的優化主要包括內存區的優化、網絡I/O的設置、CPU優化以及碎片整理等等.

2.3 網絡I/O的設置.網絡I/O的設置對于數據庫系統性能的優劣也起著不可小覷的重要作用.因為執行命令的應用程序是要通過網絡與數據庫的服務器產生作用的.

2.4 應用程序的運用.應用程序的應用也在一定程度上影響著數據庫性能的優劣.特別是關于SQL語句的應用、程序設計、對象的使用情況、數據庫連接方式等等,這些因素都或多或少地影響了數據庫的運行效率.

3 Oracle數據庫系統性能優化與調整策略

任何一個數據庫管理系統都會面臨數據庫運行效率的問題,在了解了影響數據庫系統性能的因素之后,我們可以從這些因素入手,對癥下藥將數據庫的性能調整到最優.具體說來主要是從以下幾個方面對Oracle數據庫系統性能進行優化與調整:

3.1 內存區設置的優化

Oracle數據庫的內存結構主要分為兩部分:SGA和PGA.這兩部分內存結構的分配是否合理決定著數據庫系統的性能.其中SGA是Oracle數據庫的核心與靈魂,是對數據庫數據進行快速訪問的一個系統區域,主要是由共享池,數據緩沖區和日志緩沖區三部分組成.

3.1.1 共享池的優化與調整.共享池的優化與調整主要是通過縮短操作時間來實現的.具體說來,就是指對于之前已經分析過的模本,執行命令的語句可以在共享池中找到并進行重用,不需要再消耗時間另外進行解析.這樣一來就要求我們在對共享池進行優化的時候,要盡量保證存放在數據庫中的信息在應用程序中能夠經常被訪問到.因此,我們可以通過數據庫緩沖區的命中率來了解到共享池的合適程度.

3.1.2 數據緩沖區的調整.數據緩沖區的調整同樣可以縮短操作時間.用戶在進行數據檢索時相關數據已經存儲于緩沖區中.如果用戶進行檢索查詢的相關數據包含在緩沖區中,那么系統將會通過緩沖區直接將數據傳送給用戶,相反,如果用戶所查詢的數據不在緩沖區內,那么系統會先從數據文件中通過服務器進程將數據讀取出來發送到緩沖區里,然后再按照之前所講述的方式由緩沖區發送給用戶,這樣一來就多了一個中間環節,使得操作時間增長.因此,當用戶進行數據查詢時,也要盡可能多的保證在緩沖區內有足夠多的相關數據,只有這樣才能很好的提高數據緩沖區的性能.

3.1.3 調整日志緩沖區.日志緩沖區的作用在于將修改的數據信息存放于此.為了將日志寫進日志文件,首先要將日志放入緩沖區,然后由LGWR進程在相關條件滿足時將已存放在日志緩沖區的日志信息寫入到日志文件里.若日志緩沖區沒有足夠的空間存放信息,日志就無法寫入,也就是說寫入失敗.這樣也會導致網絡I/O的運行頻繁,嚴重影響了數據庫的系統性能.

3.1.4 PGA的調整.PGA區的主要構成部分是由會話區和排序區.其中,排序區的設置對數據庫的性能影響重大.在排序的方式上,主要有兩種方式,一種是在PGA的排序區進行排序.一種是在臨時表空間的臨時段中進行排序.但是,在使用臨時段進行排序時,因要對磁盤進行網絡I/O操作,這樣就延長了運行時間,影響了排序效率.所以,在排序時,要盡量多用排序區進行排序操作.

3.2 磁盤I/O優化

對于數據庫系統來說,磁盤I/O操作是數據庫性能優化最重要的方面,磁盤I/O性能優劣取決于多個方面的影響.其中有I/O操作次數過多,數據塊空間的分配等原因.那么減少I/O操作的次數最有效的辦法就是將使用頻率搞的數據存放在緩沖區內,同時也要降低Oracle服務器查詢信息的時間,方法之一就是分區和建立索引.

3.2.1 優化設計索引Index.數據庫中非常重要的結構就包括了索引,它是優化性能的基礎.原因在于索引能夠快速找到需查找數據的地址.有效利用索引,從而提高訪問數據庫的速度,這樣就提高了查詢效率.同時可以利用索引減少數據庫中的磁盤讀寫次數.在建立索引時,也要注意并是不建立更多的索引就越好,雖然有著合理科學的索引數據庫比沒有建立索引數據庫的效率要高好幾十倍,但如果有些索引經常需要修改,這樣不僅影響了系統性能,也占據了系統的存儲空間.

3.2.2 有效利用分區技術.分區可以將不同的信息數據保存在不同的磁盤里,這是將數據在數據庫中進行物理區分.在利用分區技術時,把需要查詢的數據在不同的分區中進行掃描,可以大大縮短查詢時間,而不要進行全表掃描.在進行分區的同時,可將數據分散到不同的磁盤中,這樣磁盤I/O也不會競爭嚴重了.

3.3 設置回滾段

在Oracle 數據庫中,回滾段設置的目的是保存數據的原始版本,利用初始版本可以撤銷用戶未保存的資料.Oracle數據庫的作用之一就是可以從系統操作的失敗中得到數據的恢復,在此,就體現出了回滾段在數據處理中的重要作用.在優化回滾段時,也要根據用處的大小建立大小不等的回滾段,并且將這些回滾段分散到不同的分區中.

3.4 碎片整理

數據碎片的產生是必然的,因為系統操作的不斷出現,數據對象的不斷變化,由此產生的碎片可以分為三類,分別為表空間級、表級和索引級.

3.4.1 表空間級碎片是最基礎的碎片,往往是由于一些基本的操作引起的,例如執行命令的建立、刪除等等.優化的措施可以通過執行導出命令將數據導出,接著利用TRUNCATE 刪除導出的數據,最后再利用有效的程度將表空間級碎片清除.

3.4.2 表級碎片的產生可以通過設置合適的數據塊來消除,它是由于數據庫存儲不連續所致.在創建數據庫時,根據所需記錄的數據大小來設置相應的數據塊大小,可以提高數據塊系統的運行效率.

3.4.3 索引級碎片是由于索引過于頻繁所致,通過干擾B-TREE結構和葉節點的排序引起的.調整的措施可以減少已建立索引的數據數量,特別是變化頻率較低的數據,這樣可以降低索引碎片的產生.

3.5 CPU性能調整

通過對CPU性能的調整可以有效利用數據庫中的各種資源,提高數據塊的性能.

3.5.1 盡可能多地使用多個CPU來處理用戶的事務,如果有可能的話,需要將服務器和CPU請求分開.

3.5.2 在進行數據查詢時,可以使用PQO查詢方式.PQO方式可以在不同的磁盤中同時進行SQL語句的執行處理,同時進行數據的讀取.

3.6 SQL語句的優化

數據庫所以的操作都是通過SQL語句來執行的.包括最簡單的添加和刪除.所以,Oracle數據庫的性能高低在很大程度上也取決于SQL語句的執行效率,為盡量提高SQL語句的執行效率,在書寫SQL語句時應注意以下幾點.

(1)建立分區后,減少全表掃描,而要分區查詢.

(2)對于需要經常進行查詢的表,可以通過建立索引減少SQL語句的執行.

(3)將多個常用表放在一個數據塊里.

(4)在查詢時,對于需要連接的查詢要有充分的連接條件.

Oracle數據庫系統性能優化與調整是一個需要通過不斷摸索、總結的過程,在實踐中,必須先了解影響數據庫系統性能的因素,針對這些不同的因素采取不同的有效措施予以調整,同時也需要我們采取更加先進的技術來對數據庫進行調優,使得數據庫系統獲得最優性能.

〔1〕仇道霞,陸偉,侯曉輝:Oracle數據庫性能調整優化[J].山東輕工業學院學報(自然科學版),2010(3).

〔2〕孫富偉,晏斌.Oracle數據庫優化策略的探討與研究[J].河南科技,2010(10).

〔3〕魏亞楠,宋義秋.oracle數據庫應用系統的性能優化[J].制造業自動化,2010(8).

TP 311.132.3

A

1673-260X(2010)12-0041-02

猜你喜歡
數據庫系統緩沖區日志
一名老黨員的工作日志
扶貧日志
基于網絡聚類與自適應概率的數據庫緩沖區替換*
游學日志
微細銑削工藝數據庫系統設計與開發
江蘇省ETC數據庫系統改造升級方案探討
實時數據庫系統數據安全采集方案
核反應堆材料數據庫系統及其應用
關鍵鏈技術緩沖區的確定方法研究
初涉緩沖區
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合