錢(qián) 鋒
江蘇連云港市贛榆縣勞動(dòng)和社會(huì)保障局醫(yī)療保險(xiǎn)管理處,江蘇連云港 222100
ORACLE數(shù)據(jù)庫(kù)性能的調(diào)整
錢(qián) 鋒
江蘇連云港市贛榆縣勞動(dòng)和社會(huì)保障局醫(yī)療保險(xiǎn)管理處,江蘇連云港 222100
由于ORACLE具備功能和靈活性突出的優(yōu)越性,因此它是一個(gè)功能極其強(qiáng)大和靈活關(guān)系型的數(shù)據(jù)系統(tǒng)。在數(shù)據(jù)庫(kù)的應(yīng)用類型上是較為復(fù)雜的,不同類型的應(yīng)用對(duì)其系統(tǒng)的要求也是不同的,所以為了能夠滿足不同類型的應(yīng)用系統(tǒng),就必須對(duì)系統(tǒng)性能進(jìn)行定期的診斷和調(diào)整,以此來(lái)提高系統(tǒng)的運(yùn)行效率。
ORACLE;數(shù)據(jù)庫(kù);優(yōu)化和調(diào)整
隨著數(shù)據(jù)庫(kù)在信息領(lǐng)域的不斷推廣,數(shù)據(jù)庫(kù)產(chǎn)品也逐漸增多,其中ORACLE數(shù)據(jù)庫(kù)產(chǎn)品在整個(gè)數(shù)據(jù)庫(kù)產(chǎn)品的應(yīng)用中占有較為主要的部分,接近1/2,而且還有不斷上升的趨勢(shì)。因此,對(duì)于ORACLE數(shù)據(jù)庫(kù)性能的調(diào)整和優(yōu)化問(wèn)題也是人們所關(guān)注的問(wèn)題,本文就ORACLE數(shù)據(jù)庫(kù)性能的調(diào)整進(jìn)行了相應(yīng)的探討。
目前,性能調(diào)整作為一項(xiàng)活動(dòng)在進(jìn)行,活動(dòng)可以通過(guò)優(yōu)化應(yīng)用程序、修改系統(tǒng)參數(shù)和改變系統(tǒng)配置來(lái)有效的改變系統(tǒng)的性能。其中性能的調(diào)整主要包括了對(duì)硬件配置、操作系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)的配置的調(diào)整,并且對(duì)所訪問(wèn)的組件的應(yīng)用進(jìn)行詳細(xì)的分析和優(yōu)化。性能優(yōu)化主要是指具備目的性的對(duì)所需調(diào)整的組件進(jìn)行有效的改善,使數(shù)據(jù)庫(kù)的吞吐量逐漸變大,所對(duì)應(yīng)的響應(yīng)時(shí)間逐漸達(dá)到最小化。對(duì)于數(shù)據(jù)庫(kù)性能的調(diào)整和優(yōu)化來(lái)說(shuō),要盡可能的減少磁盤(pán)訪問(wèn),從中獲取所需的數(shù)據(jù),數(shù)據(jù)庫(kù)性能的調(diào)整和優(yōu)化在一定程度上說(shuō)是相互循環(huán)的,想要性能達(dá)到相應(yīng)的優(yōu)化目的,就必須進(jìn)行適當(dāng)?shù)男阅苷{(diào)整,最后再查看優(yōu)化的結(jié)果,通過(guò)這種反復(fù)的檢查,最終達(dá)到較為滿意的結(jié)果。
系統(tǒng)的吞吐量是指在單位時(shí)間內(nèi)數(shù)據(jù)庫(kù)所完成的SQL語(yǔ)句的數(shù)目,這主要是以每秒鐘的事務(wù)量來(lái)進(jìn)行表示。想要有效的提高系統(tǒng)的吞吐量,就必須通過(guò)減少服務(wù)時(shí)間,并在相同的資源環(huán)境內(nèi)做更加多的工作,或者減少總的響應(yīng)時(shí)間,從而使工作能夠做的更加快。
用戶的響應(yīng)時(shí)間主要是指用戶在提交SQL語(yǔ)句以后來(lái)獲取相應(yīng)的結(jié)果集的第一行所需要的時(shí)間,并且根據(jù)應(yīng)用做出相應(yīng)的反應(yīng)時(shí)間,這個(gè)時(shí)間一般都是使用毫秒和秒來(lái)進(jìn)行表示。這里的響應(yīng)時(shí)間包括兩個(gè)方面:系統(tǒng)的服務(wù)時(shí)間和用戶的等待時(shí)間。也可以這么說(shuō),想要獲取滿意的用戶相應(yīng)時(shí)間可以通過(guò)兩個(gè)方法來(lái)進(jìn)行,一種是減少系統(tǒng)服務(wù)的時(shí)間,以此來(lái)提高數(shù)據(jù)庫(kù)的吞吐量,另一種是減少用戶等待的時(shí)間,以此來(lái)減少用戶訪問(wèn)同一數(shù)據(jù)庫(kù)資源所產(chǎn)生的沖突率。
由于ORACLE用戶進(jìn)程中所需要的數(shù)據(jù)一般都是通過(guò)緩沖區(qū)來(lái)進(jìn)行高速緩存來(lái)獲取的,但是用戶能否對(duì)數(shù)據(jù)的要求在內(nèi)存中得到相應(yīng)的滿足,并且給出快速的響應(yīng),就可以使用緩沖區(qū)的告訴緩存命中率來(lái)進(jìn)行有效的衡量,該比率等于高速緩存命中總數(shù)除以對(duì)高速緩存的查找總數(shù)。此外,由于從磁盤(pán)中讀數(shù)據(jù)的開(kāi)銷要比高速緩存中讀數(shù)據(jù)要開(kāi)銷較大一些。因此,一般情況下必須使該命中率具備一定的高度。
CPU是服務(wù)器中一個(gè)重要的資源,在使用操作命令的時(shí)候,我們可以準(zhǔn)確的看到CPU的整體使用情況。一般情況下,UNIX操作系統(tǒng)的服務(wù)器可以使用sar - u命令來(lái)查看CPU的使用效率,對(duì)于Windows操作系統(tǒng)來(lái)說(shuō),其服務(wù)器可以使用性能管理器來(lái)查看CPU的使用效率。當(dāng)服務(wù)器處于良好的狀態(tài)時(shí),一般是在工作的高峰期,其CPU的使用率達(dá)80%以上。但是如果在繁忙的時(shí)期,CPU的使用率處于較低的狀態(tài),那么代表服務(wù)器的CPU資源較為富余,如果在空閑時(shí)間,CPU的使用率仍然在80%以上,那就說(shuō)明服務(wù)器存在一定的問(wèn)題,或者說(shuō)服務(wù)器缺乏響應(yīng)的CPU資源。
由于網(wǎng)絡(luò)的帶寬會(huì)在一定程度上影響系統(tǒng)的整體性能,從而較少了網(wǎng)絡(luò)的負(fù)載。因此,其可以起到改善系統(tǒng)性能的作用。減少網(wǎng)絡(luò)I/O主要是將應(yīng)用邏輯集中在數(shù)據(jù)庫(kù)的服務(wù)器上,可以有效的使用ORACLE數(shù)據(jù)庫(kù)的觸發(fā)器、完整約束性、存儲(chǔ)函數(shù)和存儲(chǔ)過(guò)程來(lái)使在網(wǎng)絡(luò)上傳輸?shù)闹皇钦{(diào)用過(guò)程的名字和輸出結(jié)果,這樣可以有效的減少網(wǎng)絡(luò)I/O負(fù)荷量。
由于每一個(gè)ORACLE實(shí)例都是由一組ORACLE后臺(tái)進(jìn)程和系統(tǒng)全局區(qū)的一個(gè)內(nèi)存區(qū)所組成的。用戶進(jìn)程對(duì)這個(gè)內(nèi)存區(qū)發(fā)送相應(yīng)的事務(wù),并且把這里作為調(diào)整緩存讀取命中的數(shù)據(jù)的區(qū)域,從而有效的實(shí)現(xiàn)加速的最終的目的。此外,由于SGA的缺省參數(shù)設(shè)置只能運(yùn)用在配置很低的計(jì)算機(jī)上。因此,在使用的時(shí)候要根據(jù)數(shù)據(jù)庫(kù)的運(yùn)行情況來(lái)對(duì)SGA的大小進(jìn)行相應(yīng)的調(diào)整,并且在初始化的參數(shù)文件中,有一些參數(shù)對(duì)SGA的大小有著一定的決定性影響。
綜上所述,在應(yīng)用系統(tǒng)的運(yùn)行過(guò)程中,ORACLE數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化起著極其重要的作用。工作人員需要根據(jù)實(shí)際的情況,來(lái)對(duì)系統(tǒng)進(jìn)行相應(yīng)的調(diào)整,從而使得相關(guān)應(yīng)用的性能得到有效的改善。
[1]孫風(fēng)棟,閆海珍.Oracle 10g數(shù)據(jù)庫(kù)系統(tǒng)性能優(yōu)化與調(diào)整 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2009(2).
[2]廉彥平.Oracle數(shù)據(jù)庫(kù)性能優(yōu)化策略[J].科技信息:學(xué)術(shù)研究,2008(29).
[3]刁志堅(jiān),丁娟,萬(wàn)里勇.淺談Oracle數(shù)據(jù)庫(kù)性能調(diào)優(yōu)[J]. 科技廣場(chǎng),2007(11) .
TP311
A
1674-6708(2010)22-0187-02
錢(qián)鋒,研究方向:數(shù)據(jù)庫(kù)開(kāi)發(fā)及應(yīng)用