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