摘 要:隨著計(jì)算機(jī)以及互聯(lián)網(wǎng)絡(luò)的發(fā)展,信息數(shù)據(jù)的構(gòu)成和管理工作更加復(fù)雜,難度不斷加大。Oracle數(shù)據(jù)庫(kù)是目前應(yīng)用最廣泛的信息數(shù)據(jù)管理系統(tǒng),在信息安全以及穩(wěn)定性上具有很大優(yōu)勢(shì)。但是由于數(shù)據(jù)庫(kù)系統(tǒng)在經(jīng)過(guò)一段時(shí)間的運(yùn)行之后,在性能上都會(huì)出現(xiàn)一些問(wèn)題,oracle數(shù)據(jù)庫(kù)也不例外,所以要對(duì)oracle數(shù)據(jù)庫(kù)的性能進(jìn)行相應(yīng)的調(diào)整和優(yōu)化。本文從影響oracle數(shù)據(jù)庫(kù)性能的幾個(gè)主要因素出發(fā),探討oracle數(shù)據(jù)庫(kù)性能調(diào)整和優(yōu)化的方法。
關(guān)鍵詞:oracle數(shù)據(jù)庫(kù);性能;調(diào)整與優(yōu)化
中圖分類號(hào):TP311.13
數(shù)據(jù)庫(kù)系統(tǒng)是計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域應(yīng)用最廣泛的信息管理工具,對(duì)于計(jì)算機(jī)用戶具有重要作用,為了更好的對(duì)數(shù)據(jù)信息進(jìn)行有效的管理,要對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行不斷的調(diào)整和優(yōu)化。Oracle數(shù)據(jù)庫(kù)是目前世界范圍內(nèi)應(yīng)用最為廣泛的信息管理系統(tǒng),所以更要加強(qiáng)oracle數(shù)據(jù)庫(kù)性能的調(diào)整與優(yōu)化,提高其系統(tǒng)的穩(wěn)定性,加強(qiáng)信息管理的效率,保障oracle數(shù)據(jù)庫(kù)系統(tǒng)的長(zhǎng)遠(yuǎn)發(fā)展。
1 數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化
數(shù)據(jù)庫(kù)的性能調(diào)整是通過(guò)對(duì)應(yīng)用程序進(jìn)行優(yōu)化,對(duì)系統(tǒng)參數(shù)進(jìn)行修改,對(duì)系統(tǒng)配置進(jìn)行改變,以此來(lái)改變數(shù)據(jù)庫(kù)系統(tǒng)的性能。性能調(diào)整所包含的內(nèi)容主要有硬件配置、操作系統(tǒng)和關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的配置,以及對(duì)于訪問(wèn)這些組件所用的應(yīng)用的細(xì)化分析和優(yōu)化[1]。調(diào)整的過(guò)程最好在數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)階段來(lái)進(jìn)行,這樣可以節(jié)約很多資源。數(shù)據(jù)庫(kù)的性能優(yōu)化是帶有一定目的性的對(duì)系統(tǒng)組件進(jìn)行調(diào)整,改善其性能,最大限度的增加數(shù)據(jù)庫(kù)的吞吐能力并且使與其對(duì)應(yīng)的響應(yīng)時(shí)間最短。性能優(yōu)化要遵循一定的原則,那就是要在獲取所需要的數(shù)據(jù)時(shí)盡最大可能去訪問(wèn)數(shù)量最少的磁盤(pán)。
2 數(shù)據(jù)庫(kù)性能評(píng)估標(biāo)準(zhǔn)
數(shù)據(jù)庫(kù)系統(tǒng)的性能會(huì)受到諸多因素的影響,隨著環(huán)境改變其性能都會(huì)發(fā)生相應(yīng)的變化,所以對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)的性能評(píng)估要參照多方面的指標(biāo)。Oracle數(shù)據(jù)庫(kù)性能評(píng)估的指標(biāo)主要有以下幾方面:
系統(tǒng)吞吐量。數(shù)據(jù)庫(kù)系統(tǒng)的吞吐量是指在一定時(shí)間之內(nèi)數(shù)據(jù)庫(kù)所能完成的結(jié)構(gòu)化查詢語(yǔ)言的語(yǔ)句數(shù)量,通常都是用每秒的事務(wù)量來(lái)表示,對(duì)于一些特定的數(shù)據(jù)系統(tǒng)來(lái)說(shuō),系統(tǒng)調(diào)整的主要目的就是調(diào)整系統(tǒng)的吞吐量。
用戶響應(yīng)時(shí)間。用戶響應(yīng)時(shí)間通常是指某一用戶在提交結(jié)構(gòu)化查詢語(yǔ)言的語(yǔ)句以后獲得了第一行結(jié)果時(shí)所用的時(shí)間,也就是應(yīng)用反應(yīng)所用的時(shí)間,通常用秒或者毫秒來(lái)表示[2]。用戶響應(yīng)時(shí)間通??梢钥闯墒莾蓚€(gè)部分,一部分是系統(tǒng)服務(wù)的時(shí)間,一部分是用戶等待的時(shí)間。這樣一來(lái),如果想要對(duì)用戶響應(yīng)時(shí)間進(jìn)行優(yōu)化,提高用戶在響應(yīng)時(shí)間上的滿意度,則可以通過(guò)兩種方式來(lái)實(shí)現(xiàn),一種是縮短系統(tǒng)服務(wù)所用的時(shí)間,也就是提高數(shù)據(jù)庫(kù)系統(tǒng)的吞吐量,第二種就是減少用戶在等待時(shí)的時(shí)間,也就是對(duì)用戶訪問(wèn)相同的數(shù)據(jù)庫(kù)的資源時(shí)的沖突率進(jìn)行調(diào)整和優(yōu)化。
數(shù)據(jù)庫(kù)命中率。緩沖區(qū)高速緩存中的數(shù)據(jù)是oracle數(shù)據(jù)庫(kù)的用戶進(jìn)程獲取所需要的數(shù)據(jù)的主要來(lái)源,緩存區(qū)的高速緩存命中率可以用來(lái)衡量?jī)?nèi)存為用戶提供數(shù)據(jù)的響應(yīng)時(shí)間以及用戶滿意度。計(jì)算方法是用高速緩存的命中總數(shù)對(duì)高速緩存的查找總數(shù)做除法,所得數(shù)值就是緩沖區(qū)高速緩存的命中率。
內(nèi)存使用情況。內(nèi)存使用情況包括可共享內(nèi)存的分配使用情況、永久性內(nèi)存的分配使用情況、運(yùn)行時(shí)的內(nèi)存分配使用情況這三個(gè)部分,對(duì)于內(nèi)存使用情況的調(diào)整和優(yōu)化目的主要有兩個(gè),一是投資的回報(bào)率最高,對(duì)能夠產(chǎn)生最大效益的問(wèn)題花大力氣解決;二是爭(zhēng)用的最小化,盡最大的努力去消除或者減小延遲和等待的時(shí)間[3]。
磁盤(pán)I/O。數(shù)據(jù)庫(kù)系統(tǒng)中的每個(gè)細(xì)小動(dòng)作差不多都會(huì)產(chǎn)生相應(yīng)類型的I/O的活動(dòng),這種活動(dòng)既包括在內(nèi)存中存在的邏輯活動(dòng),也包括存在于磁盤(pán)上的物理活動(dòng)。磁盤(pán)I/O的操作是計(jì)算機(jī)最大的開(kāi)銷,對(duì)數(shù)據(jù)庫(kù)性能的影響最大,對(duì)磁盤(pán)I/O進(jìn)行優(yōu)化就要減少?zèng)]有必要的I/O開(kāi)銷,這樣就可以提高用戶任務(wù)的吞吐量,減少響應(yīng)時(shí)間。
3 Oracle數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化的方法
3.1 環(huán)境優(yōu)化。環(huán)境優(yōu)化方面包括優(yōu)化內(nèi)存、優(yōu)化數(shù)據(jù)庫(kù)磁盤(pán)的輸入和輸出、優(yōu)化中央處理器的使用以及優(yōu)化網(wǎng)絡(luò)I/O,對(duì)環(huán)境進(jìn)行優(yōu)化可以提高oracle數(shù)據(jù)庫(kù)的工作效率,是優(yōu)化其性能的有效途徑之一。
Oracle數(shù)據(jù)庫(kù)的內(nèi)存比較敏感,其整體性能往往取決于實(shí)際內(nèi)存是否能取得足夠的物理內(nèi)存,內(nèi)存的優(yōu)化可以通過(guò)調(diào)整內(nèi)存分配來(lái)實(shí)現(xiàn)。系統(tǒng)內(nèi)存在配置上要盡量滿足減少分頁(yè)、減少內(nèi)存交換、讓內(nèi)存能夠在系統(tǒng)全局區(qū)駐留的目標(biāo)。系統(tǒng)進(jìn)行分頁(yè)操作時(shí),會(huì)將暫時(shí)沒(méi)有的信息轉(zhuǎn)移到硬盤(pán)之上,為那些需要內(nèi)存空間的程序分配出內(nèi)存,但如果分頁(yè)經(jīng)常執(zhí)行,就會(huì)使許多程序的執(zhí)行時(shí)間增加,降低系統(tǒng)的性能[4]。對(duì)內(nèi)存進(jìn)行優(yōu)化可以使用程序命令去對(duì)分頁(yè)執(zhí)行進(jìn)行監(jiān)控,也可以對(duì)沒(méi)有必要的系統(tǒng)或是應(yīng)用程序的進(jìn)程進(jìn)行有效的避免,還可以安裝更加多的內(nèi)存等,都是優(yōu)化內(nèi)存的有效方法。
數(shù)據(jù)庫(kù)磁盤(pán)的輸入和輸出速度會(huì)對(duì)整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的性能產(chǎn)生重大影響,對(duì)磁盤(pán)的輸入和輸出問(wèn)題進(jìn)行優(yōu)化,能夠使數(shù)據(jù)庫(kù)系統(tǒng)的性能得到明顯的提升??梢詰?yīng)用文件獨(dú)立原則、磁盤(pán)列陣、分區(qū)、裸設(shè)備等技術(shù)手段和方法來(lái)解決磁盤(pán)競(jìng)爭(zhēng)等影響磁盤(pán)輸入和輸出性能的主要問(wèn)題。
優(yōu)化中央處理器的使用可以通過(guò)增加中央處理器的數(shù)量或者主頻,降低服務(wù)器上的負(fù)荷,對(duì)數(shù)據(jù)庫(kù)的進(jìn)程運(yùn)行優(yōu)先級(jí)進(jìn)行相應(yīng)的提高等方法來(lái)完成,從而提高整個(gè)數(shù)據(jù)庫(kù)的性能。
3.2 數(shù)據(jù)庫(kù)參數(shù)優(yōu)化。Oracle數(shù)據(jù)庫(kù)具有四個(gè)主要參數(shù),分別是SGA_MAX_SIZE、DB_CASHE_SIZE、PGA_AGGREGATE_TARGET、SHARRED_POOL_SIZE,在對(duì)oracle數(shù)據(jù)庫(kù)的性能進(jìn)行調(diào)整和優(yōu)化時(shí),如果能夠處理好這四個(gè)參數(shù)的設(shè)置問(wèn)題,將會(huì)在很大程度上提升整個(gè)數(shù)據(jù)庫(kù)的性能[5]。
3.3 應(yīng)用優(yōu)化。Oracle數(shù)據(jù)庫(kù)的應(yīng)用優(yōu)化主要包括對(duì)于數(shù)據(jù)庫(kù)的索引優(yōu)化和對(duì)于結(jié)構(gòu)化查詢語(yǔ)言語(yǔ)句的優(yōu)化。索引對(duì)于oracle數(shù)據(jù)庫(kù)的輸入與輸出具有重大影響,利用索引對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)時(shí),可以很大程度上減少對(duì)大型表所進(jìn)行的全表的掃描,這樣就可以減少在輸入和輸出上的開(kāi)銷。使用索引進(jìn)行訪問(wèn)時(shí)可以對(duì)某些語(yǔ)句的性能進(jìn)行提高,但是也會(huì)降低另外一些語(yǔ)句的性能,所以在索引的使用上并不是數(shù)量多就會(huì)好。在利用索引進(jìn)行訪問(wèn)時(shí)要遵循一定的原則,對(duì)于不經(jīng)常更新的大表可以建立索引,對(duì)于那些經(jīng)常連接但在外鍵上沒(méi)有指定的列也可以建立索引,以此來(lái)提高數(shù)據(jù)庫(kù)的性能。
4 結(jié)束語(yǔ)
隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)的更新?lián)Q代進(jìn)程也將加快,對(duì)于oracle數(shù)據(jù)庫(kù)的性能要采取有效的方法進(jìn)行調(diào)整和優(yōu)化。在數(shù)據(jù)庫(kù)的內(nèi)存環(huán)境、參數(shù)設(shè)置和應(yīng)用程序等方面進(jìn)行合理的配置與優(yōu)化,提高oracle數(shù)據(jù)庫(kù)的性能,增加oracle數(shù)據(jù)庫(kù)的使用周期與壽命。
參考文獻(xiàn):
[1]陳志敏.基于Linux平臺(tái)的OracleRAC集群系統(tǒng)的性能調(diào)整與優(yōu)化研究[D].安徽大學(xué),2011.
[2]鄭鑫梅.ERP系統(tǒng)中ORACLE數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化[D].中南民族大學(xué),2010.
[3]馬英俊.基于Oracle數(shù)據(jù)庫(kù)與ARCSDE結(jié)合的空間數(shù)據(jù)庫(kù)性能優(yōu)化[D].北京郵電大學(xué),2011.
[4]孫樹(shù)軍.基于Oracle數(shù)據(jù)庫(kù)的性能調(diào)整及優(yōu)化技術(shù)研究[D].北京工業(yè)大學(xué),2011.
[5]任艷.Oracle數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化技術(shù)探討[J].中國(guó)新通信,2013(02):3-4.
作者簡(jiǎn)介:江李兵(1978-),男,湖南桂陽(yáng)人,工程師,學(xué)士學(xué)位,研究方向:計(jì)算機(jī);江川寧(1979-),男,江西南康人,工程師,學(xué)士學(xué)位,研究方向:計(jì)算機(jī)。
作者單位:成都雙流國(guó)際機(jī)場(chǎng),成都 610202