于泳波
摘要:計算機技術(shù)在發(fā)展并服務(wù)于社會各個領(lǐng)域,并且在不斷的普及,這有效的促進了計算機數(shù)據(jù)庫的快速發(fā)展。伴隨著數(shù)據(jù)庫的不斷更新完善,其規(guī)模在進一步擴大,在這種背景下數(shù)據(jù)庫往往容易出現(xiàn)出現(xiàn)響應(yīng)遲鈍、吞吐量變低的情況。對于提高Oracle數(shù)據(jù)庫運行效率的研究一直在進行,采取怎樣的調(diào)整措施,以能夠突破數(shù)據(jù)庫性能提升的瓶頸是當前的重要命題。通過對當前Oracle數(shù)據(jù)庫性能優(yōu)化現(xiàn)狀進行闡述,總結(jié)影響數(shù)據(jù)庫性能的因素,深入探究Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化技術(shù),以改善數(shù)據(jù)庫性能和工作效率。
Abstract: Computer technology is developing and serving all fields of society, and it is continuously popularized, which effectively promotes the rapid development of computer databases. With the continuous updating and perfecting of the database, its scale is further expanded. Under this background, the database tends to appear the situations of slow response and low throughput. The research on improving the operating efficiency of Oracle database has been ongoing. What kind of adjustment measures are taken to overcome the bottleneck of database performance improvement is the current important proposition. The current status of Oracle database performance optimization is elaborated, the factors that affect database performance are summarized, and the Oracle database performance adjustment and optimization techniques are thoroughly explored to improve database performance and work efficiency.
關(guān)鍵詞:Oracle;數(shù)據(jù)庫性能;內(nèi)存;系統(tǒng)性能;調(diào)整;優(yōu)化
Key words: Oracle;database performance;memory;system performance;adjustment;optimization
中圖分類號:G250.74 文獻標識碼:A 文章編號:1006-4311(2018)13-0228-02
0 引言
數(shù)據(jù)庫技術(shù)應(yīng)用已經(jīng)受到了廣泛的關(guān)注,高端數(shù)據(jù)庫市場中Oracle數(shù)據(jù)庫已經(jīng)成為主要支柱型產(chǎn)品。但是,數(shù)據(jù)庫在不間斷的進行大量信息的存儲,數(shù)據(jù)量類型更加多元化、數(shù)量更加龐大,進行數(shù)據(jù)處理運算過程愈加復雜。這種情況下,數(shù)據(jù)庫本身的性能要求得到了新的挑戰(zhàn)。進行合理的調(diào)整優(yōu)化,提升Oracle數(shù)據(jù)庫性能,是當前數(shù)據(jù)庫領(lǐng)域的重要研究研項目。
1 Oracle數(shù)據(jù)庫性能優(yōu)化現(xiàn)狀分析
隨著計算機技術(shù)的高速發(fā)展,信息化建設(shè)的步伐正在加快,社會各個領(lǐng)域?qū)τ嬎銠C技術(shù)、信息化建設(shè)的依賴性越來越強,這也為市場經(jīng)濟建設(shè)與發(fā)展貢獻了巨大力量。為了能夠使數(shù)據(jù)庫運算效率加快以滿足當前不斷增加的工作任務(wù),Oracle數(shù)據(jù)庫性能需進行進一步優(yōu)化,以滿足用戶數(shù)據(jù)檢索過程中數(shù)據(jù)庫的高質(zhì)量并提供永久性服務(wù),信息化發(fā)展過程中數(shù)據(jù)資源的優(yōu)化利用顯得尤為重要。Oracle數(shù)據(jù)庫對于內(nèi)存空間節(jié)省方面可以極大的降低處理器的性能要求,以達到Oracle數(shù)據(jù)庫的普及和優(yōu)化。
Oracle數(shù)據(jù)庫數(shù)據(jù)庫性能的優(yōu)化與提升以數(shù)據(jù)庫的內(nèi)存配置優(yōu)化為主。首先,將SQL執(zhí)行命令的語法結(jié)構(gòu)進行修改,通過語句精簡進行信息量的增加,數(shù)據(jù)庫命令讀取速率、數(shù)據(jù)處理數(shù)據(jù)自然會隨之提升。之后,通過加強數(shù)據(jù)庫中優(yōu)化器的優(yōu)化效能使數(shù)據(jù)庫運行過程中能夠?qū)鴶?shù)據(jù)及時處理,同時加強對數(shù)據(jù)信息的高效率整合,起到優(yōu)化數(shù)據(jù)庫性能的目的。當前,Oracle數(shù)據(jù)庫性能優(yōu)化方面仍然需要依靠計算機系統(tǒng)操作為基礎(chǔ),因此提升計算機系統(tǒng)操作性能同樣能夠提升數(shù)據(jù)庫效率水平。將計算機系統(tǒng)的優(yōu)化與Oracle數(shù)據(jù)庫性能的優(yōu)化相互聯(lián)系并形成系統(tǒng)化的運作,能夠?qū)嶋H數(shù)據(jù)庫性能提升起到關(guān)鍵性作用。通過不同方式、形式的調(diào)整和優(yōu)化,能夠促進數(shù)據(jù)庫性能提升,滿足人們對數(shù)據(jù)庫性能不斷嚴格的需求。
2 影響數(shù)據(jù)庫性能因素總結(jié)
2.1 數(shù)據(jù)庫磁盤性能
影響Oracle數(shù)據(jù)庫性能指標的主要因素是磁盤性能。對于磁盤性能評測,需要通過SQL語句在磁盤的I/O占用進行計算,并且通過對最大前25位是否占用進行對比,如果最大前25位存儲空間不能夠進行SQL語句內(nèi)容的有效存儲,那么數(shù)據(jù)庫與磁盤間的協(xié)調(diào)運轉(zhuǎn)將形成較為復雜的處理環(huán)境,加重數(shù)據(jù)庫處理任務(wù),容易造成一定的處理障礙。
磁盤中數(shù)據(jù)塊鏈接也是影響數(shù)據(jù)庫性能因素之一,數(shù)據(jù)塊是固定的存儲空間,因此數(shù)據(jù)塊進行數(shù)據(jù)存儲時一個數(shù)據(jù)款數(shù)據(jù)填充完成后將啟用下一個數(shù)據(jù)塊,以此類推,這樣進行鏈接來保證數(shù)據(jù)鏈接的不間斷性和完整性。但是這也使得數(shù)據(jù)庫存在著安全隱患,數(shù)據(jù)塊鏈接成為重要的數(shù)據(jù)安全問題,一旦出現(xiàn)鏈接問題,數(shù)據(jù)庫數(shù)據(jù)的存儲、讀取等相關(guān)操作將發(fā)生終端,這對于數(shù)據(jù)庫性能有著直接的影響。
2.2 優(yōu)化器配置與調(diào)整
運行優(yōu)化器可以實現(xiàn)Oracle數(shù)據(jù)庫的性能優(yōu)化,優(yōu)化器執(zhí)行SQL語句內(nèi)容是通過不同形式的路徑進行,這有效的調(diào)整了數(shù)據(jù)塊結(jié)構(gòu),優(yōu)化了數(shù)據(jù)庫性能。例如,對于數(shù)據(jù)庫存儲,優(yōu)化器進行數(shù)據(jù)索引方式調(diào)整能夠優(yōu)化數(shù)據(jù)庫性能,其主要是通過執(zhí)行SQL語句中的OPTIMIZER等命令,進而通過數(shù)據(jù)庫存儲路徑及方式的調(diào)整實現(xiàn)最終的數(shù)據(jù)庫性能的優(yōu)化。優(yōu)化器配置與調(diào)整過程的運行模式選擇直接影響著對SQL語句的執(zhí)行狀態(tài),因此,運行模式的不同會使SQL語句執(zhí)行效率有所影響,這對于數(shù)據(jù)庫處理效率有所影響。
2.3 服務(wù)器的CPU性能
Oracle數(shù)據(jù)庫進行數(shù)據(jù)處理對服務(wù)器CPU有著較高的要求,CPU的運行效率對數(shù)據(jù)庫的性能有著重要的影響。CPU是實現(xiàn)計算機系統(tǒng)之間數(shù)據(jù)連接、傳輸、交換等重要環(huán)節(jié)的關(guān)鍵性裝置,對數(shù)據(jù)庫關(guān)于數(shù)據(jù)存儲、讀取有著直接的影響,并且關(guān)乎數(shù)據(jù)庫性能的優(yōu)化提升。
Oracle數(shù)據(jù)庫進行數(shù)據(jù)查詢時,查詢方式有很多種,不同形式方法的查詢使數(shù)據(jù)庫存儲、調(diào)用、讀取等方式也有一定的區(qū)別,這使得CPU運行時壓力在不斷增加和變化,直接影響Oracle數(shù)據(jù)庫的綜合性能。
3 Oracle數(shù)據(jù)庫系統(tǒng)調(diào)整與優(yōu)化技術(shù)探究
3.1 規(guī)范化與反規(guī)范化設(shè)計數(shù)據(jù)庫
數(shù)據(jù)系統(tǒng)中規(guī)范化設(shè)計具有能夠有效消除數(shù)冗余、節(jié)約存儲空間、減少相應(yīng)邏輯和物理的I/O次數(shù)、數(shù)據(jù)信息修改速率加快等等諸多優(yōu)點。但是規(guī)范化設(shè)計不等于最優(yōu)性能,規(guī)范化的設(shè)計并非是最有效、最直接的運算方式方法,部分規(guī)范化設(shè)計反而會增加數(shù)據(jù)庫運算成本,例如進行查詢時,通過規(guī)范化設(shè)計的連接運算使得計算機運行消耗過大,運行過程中效率受到一定損耗。
在此基礎(chǔ)下,部分特定查詢、應(yīng)用進行規(guī)范規(guī)則破壞達到設(shè)計目的過程,也可以達到運行效率、數(shù)據(jù)庫性能的提升。因此,非規(guī)范化約束的保留應(yīng)選擇性的進行,規(guī)范化設(shè)計與反規(guī)范化設(shè)計應(yīng)結(jié)合進行,以提升數(shù)據(jù)庫系統(tǒng)性能及運算速率為最終目的進行最為恰當?shù)脑O(shè)計選擇。
反規(guī)范化設(shè)計需要將數(shù)據(jù)存取需求作為設(shè)計的主要考慮因素,從而進行數(shù)據(jù)庫系統(tǒng)的設(shè)計和后續(xù)運行操作。目前,反規(guī)范設(shè)計技術(shù)主要包括以下幾方面:增加冗余;派生列,對表進行合并、分割;增加重復表等等。反規(guī)范設(shè)計是數(shù)據(jù)庫系統(tǒng)設(shè)計中較為反常的技術(shù)運用,因此要仔細斟酌后才可進行實際應(yīng)用,對數(shù)據(jù)存取需求、實際性能特點需要進行詳實的研究分析方可進行反規(guī)范化設(shè)計。規(guī)范化設(shè)計與反規(guī)范化設(shè)計并非是水火不容、相互對立的,通過兩者的結(jié)合和互補,取長補短,能夠改善數(shù)據(jù)庫結(jié)構(gòu),提升數(shù)據(jù)庫性能。
3.2 數(shù)據(jù)庫內(nèi)存區(qū)的調(diào)整與優(yōu)化
Oracle數(shù)據(jù)庫中的內(nèi)存區(qū)是數(shù)據(jù)的直接存儲場所,其結(jié)構(gòu)分配對數(shù)據(jù)庫的工作性能有著直接影響。因此,數(shù)據(jù)庫中的內(nèi)存區(qū)資源通過進一步的優(yōu)化可以對Oracle數(shù)據(jù)庫結(jié)構(gòu)進行有效調(diào)整。數(shù)據(jù)緩沖區(qū)、共享池、PGA是Oracle數(shù)據(jù)庫的三大內(nèi)存區(qū),它們具有不同的運行方式,在進行優(yōu)化時也有著不同的特點和方式。
針對數(shù)據(jù)緩沖區(qū)的優(yōu)化,主要是通過數(shù)據(jù)訪問方式的改變來進行。簡單而言,用戶訪問位于緩沖區(qū)數(shù)據(jù)時,由于是直接由數(shù)據(jù)緩沖區(qū)調(diào)取數(shù)據(jù)進行顯示,數(shù)據(jù)庫能夠直接將緩沖區(qū)的數(shù)據(jù)呈現(xiàn)給用戶,這是以縮短系統(tǒng)響應(yīng)時間的方式進行用戶數(shù)據(jù)訪問優(yōu)化,大大縮短了用戶的訪問時間,提高了訪問效率。但是,數(shù)據(jù)訪問時,當數(shù)據(jù)資料在共享池或PGA時,用戶訪問時,系統(tǒng)需要先將數(shù)據(jù)資料由共享池、PGA發(fā)送到緩沖區(qū)后,才能夠進行對用戶的信息表達,這不利于數(shù)據(jù)庫性能的提升,以及工作效率的保證。因此,優(yōu)化數(shù)據(jù)庫共享池性能是實現(xiàn)數(shù)據(jù)庫內(nèi)存區(qū)調(diào)整優(yōu)化的重點方向。具體的優(yōu)化措施則是調(diào)整共享池的大小,將其與數(shù)據(jù)緩沖區(qū)工作效率相對應(yīng),通過協(xié)調(diào)系統(tǒng)結(jié)構(gòu)中信息資源的調(diào)用模式實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)訪問速率的提升,最終實現(xiàn)數(shù)據(jù)庫性能提升。
3.3 數(shù)據(jù)碎片的有效整理
在數(shù)據(jù)庫進行數(shù)據(jù)處理時數(shù)據(jù)碎片的產(chǎn)生是難以避免的,而且由于Oracle數(shù)據(jù)庫數(shù)據(jù)量非常龐大,這使得數(shù)據(jù)庫系統(tǒng)處理運作過程中數(shù)據(jù)碎片的處理有著嚴格的要求。有效的進行數(shù)據(jù)碎片處理能夠為數(shù)據(jù)庫節(jié)約更多的可用空間,也能夠規(guī)避碎片影響數(shù)據(jù)庫處理運行的風險。Oracle數(shù)據(jù)庫中關(guān)于碎片處理主要分三種,分別是數(shù)字庫級、索引級、數(shù)據(jù)模塊級。在進行碎片處理之前,首先要對數(shù)據(jù)索引類型進行分類,通過分類得出數(shù)據(jù)索引段,以段為單位進行系統(tǒng)化的碎片處理,這樣才能夠更加有效地對碎片進行清除。數(shù)據(jù)庫級的數(shù)據(jù)碎片處理過程中,主要以調(diào)整B-TREE結(jié)構(gòu)的方式進行,對具體節(jié)點中的數(shù)據(jù)隨便進行全面清除以得到穩(wěn)定的B-TREE數(shù)據(jù)結(jié)構(gòu),以此為基礎(chǔ),對數(shù)據(jù)隨便進行有效整理,并優(yōu)化數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)。
3.4 磁盤的I/O調(diào)整
磁盤的I/O次數(shù)是Oracle數(shù)據(jù)庫中磁盤性能的主要影響因素。磁盤的I/O調(diào)整與數(shù)據(jù)庫磁盤數(shù)據(jù)錄入與輸出有著直接的關(guān)系,因此數(shù)據(jù)塊劃分和磁盤空間分配的調(diào)整能夠?qū)Υ疟P的I/O調(diào)整進行影響,進而影響Oracle數(shù)據(jù)庫性能。數(shù)據(jù)庫中數(shù)據(jù)塊劃分的科學合理性與否與Oracle數(shù)據(jù)庫性能有著較強的關(guān)聯(lián)性。因此,數(shù)據(jù)檢索方式優(yōu)化措施通常是通過索引中Index索引方式的加入以建立通過索引進行數(shù)據(jù)調(diào)用的模式,通過這樣的方式進行檢索方式的優(yōu)化。Oracle數(shù)據(jù)庫中有效簡化磁盤數(shù)據(jù)檢索方式,也能夠使數(shù)據(jù)表中的邏輯數(shù)值得以在RowID中直接映射,以此得到更加具有針對性的數(shù)據(jù)調(diào)用,與此同時對數(shù)據(jù)調(diào)取速率和準確性有著較大幫助。在對數(shù)據(jù)庫磁盤進行I/O調(diào)整過程中,還能夠利用數(shù)據(jù)庫磁盤以分區(qū)處理的形式合理有效的分類數(shù)據(jù)庫數(shù)據(jù),如此不僅縮短了數(shù)據(jù)檢索與調(diào)用時間,還有利于數(shù)據(jù)錄入與調(diào)用的速率提升,有利于Oracle數(shù)據(jù)庫性能的提升。
4 結(jié)束語
Oracle數(shù)據(jù)庫規(guī)模在現(xiàn)今時代背景下發(fā)展越來越迅速,規(guī)模也在不斷擴大,用戶量也隨之增加,Oracle數(shù)據(jù)庫性能及運算效率受到了更多方面的關(guān)注。Oracle數(shù)據(jù)庫性能優(yōu)化調(diào)整需要對數(shù)據(jù)庫性能影響因素進行詳實的研究和理解,通過對不同影響因素的分析,制定合理的調(diào)整計劃和策略,通過不同方法措施進行Oracle數(shù)據(jù)庫性能優(yōu)化。提升Oracle數(shù)據(jù)庫性能并非一朝一夕之事,隨著相關(guān)技術(shù)水平的提升,在Oracle數(shù)據(jù)庫性能優(yōu)化的同時大膽啟用新技術(shù),使Oracle數(shù)據(jù)庫能夠不斷創(chuàng)新發(fā)展,表現(xiàn)其更加深層的價值。
參考文獻:
[1]常正青.基于Oracle數(shù)據(jù)庫系統(tǒng)的優(yōu)化與性能調(diào)整研究[J].電子世界,2017(17).
[2]王振宇.大型Oracle數(shù)據(jù)庫系統(tǒng)的優(yōu)化設(shè)計方案[J].電子技術(shù)與軟件工程,2016(06).
[3]庫爾班江·托乎提,于會松,滕良娟.基于Oracle數(shù)據(jù)庫系統(tǒng)的優(yōu)化與性能調(diào)整研究[J].信息系統(tǒng)工程,2014(08).
[4]洪健.大型Oracle數(shù)據(jù)庫系統(tǒng)的優(yōu)化設(shè)計研究[J].電子技術(shù)與軟件工程,2014(11).
[5]高原,耿國華,劉曉寧.Oracle數(shù)據(jù)庫系統(tǒng)事后優(yōu)化研究[J].計算機工程與應(yīng)用,2005(32).
[6]劉博.Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化[D].大連理工大學,2007.