江蘇省信用再擔(dān)保集團(tuán)有限公司 常正青
基于Oracle數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)化與性能調(diào)整研究
江蘇省信用再擔(dān)保集團(tuán)有限公司 常正青
在計(jì)算機(jī)系統(tǒng)中,數(shù)據(jù)庫(kù)系統(tǒng)發(fā)揮著數(shù)據(jù)存儲(chǔ)的功能,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,在網(wǎng)絡(luò)中出現(xiàn)了大量的計(jì)算機(jī)病毒,這些病毒導(dǎo)致數(shù)據(jù)庫(kù)系統(tǒng)所面臨的風(fēng)險(xiǎn)也越來(lái)越大,如何保障信息安全是數(shù)據(jù)庫(kù)系統(tǒng)所必須考慮的問(wèn)題。在一些企業(yè)中,數(shù)據(jù)庫(kù)系統(tǒng)的工作效率和信息安全,直接關(guān)系著企業(yè)的運(yùn)行狀況。本文就Oracle數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用及優(yōu)化,做相應(yīng)的研究。
性能優(yōu)化;內(nèi)存分頁(yè);響應(yīng)速度
計(jì)算機(jī)技術(shù)已經(jīng)融入到人們的工作和生活,在使用計(jì)算機(jī)進(jìn)行辦公和娛樂(lè)時(shí),都離不開(kāi)數(shù)據(jù)的傳輸,那么這就需要數(shù)據(jù)庫(kù)系統(tǒng)的支持和服務(wù)。Oracle數(shù)據(jù)庫(kù)系統(tǒng)是一種常見(jiàn)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它主要應(yīng)用于中大型服務(wù)器中,為客戶(hù)提供優(yōu)質(zhì)的數(shù)據(jù)傳輸服務(wù)。在企業(yè)的工作中,所需要的大量數(shù)據(jù)要及時(shí)的進(jìn)行傳輸,就離不開(kāi)優(yōu)質(zhì)的數(shù)據(jù)庫(kù)系統(tǒng)的支持,隨著信息安全概念的深入,人們不僅要求數(shù)據(jù)傳輸?shù)馁|(zhì)量,更要求數(shù)據(jù)傳輸?shù)乃俣群桶踩6霛M(mǎn)足以上要求,就有必要更新企業(yè)的數(shù)據(jù)庫(kù)系統(tǒng),但這無(wú)疑會(huì)加大企業(yè)的經(jīng)濟(jì)成本,因此在原有Oracle數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)之上,做好數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)化與性能調(diào)整工作,是很有必要的。
對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行性能優(yōu)化與調(diào)整,旨在提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)的工作效率,提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)的傳輸效率,降低Oracle數(shù)據(jù)庫(kù)系統(tǒng)發(fā)生故障的概率,因此對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行調(diào)整,主要是針對(duì)以下三個(gè)方面進(jìn)行:1.提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)的響應(yīng)速度;2.提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)在短時(shí)間內(nèi)的數(shù)據(jù)傳輸量;3.消除Oracle數(shù)據(jù)庫(kù)系統(tǒng)中的瓶頸。提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)的響應(yīng)速度,就意味著要縮短O(píng)racle數(shù)據(jù)庫(kù)系統(tǒng)的響應(yīng)時(shí)間,給客戶(hù)一種一點(diǎn)即開(kāi)的使用感受。要想實(shí)現(xiàn)這一目標(biāo),就必須要提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)在短時(shí)間內(nèi)的數(shù)據(jù)傳輸量,我們知道,當(dāng)客戶(hù)將命令輸入到計(jì)算機(jī)中,SQL語(yǔ)句就傳遞到數(shù)據(jù)庫(kù)系統(tǒng)中,然后根據(jù)SQL語(yǔ)句的請(qǐng)求,從數(shù)據(jù)庫(kù)中調(diào)取數(shù)據(jù),如果數(shù)據(jù)庫(kù)系統(tǒng)的吞吐量較小,必然會(huì)導(dǎo)致客戶(hù)漫長(zhǎng)的等待。因此在對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行優(yōu)化時(shí),重點(diǎn)提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)吞吐量和響應(yīng)速度。
數(shù)據(jù)庫(kù)操作系統(tǒng)對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)的影響是第一位的,操作系統(tǒng)的功能是否強(qiáng)大和完善,都將影響Oracle數(shù)據(jù)庫(kù)系統(tǒng)的工作效率。在對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行優(yōu)化時(shí),發(fā)現(xiàn)操作系統(tǒng)的選用不當(dāng),將會(huì)導(dǎo)致Oracle數(shù)據(jù)庫(kù)系統(tǒng)的工作效率降低,致使Oracle數(shù)據(jù)庫(kù)系統(tǒng)在調(diào)用數(shù)據(jù)時(shí)速度過(guò)慢,或無(wú)法為客戶(hù)提供更為人性化的服務(wù),降低了Oracle數(shù)據(jù)庫(kù)的服務(wù)質(zhì)量。
Oracle數(shù)據(jù)庫(kù)系統(tǒng)的工作依賴(lài)于計(jì)算機(jī)CPU的性能,CPU性能的高低影響著Oracle數(shù)據(jù)庫(kù)系統(tǒng)的響應(yīng)速度。當(dāng)用戶(hù)提交SQL語(yǔ)句后,會(huì)由CPU進(jìn)行處理,若此時(shí)的CPU緩存不足,將會(huì)導(dǎo)致CPU沒(méi)有充足的資源去處理這個(gè)SQL語(yǔ)句,致使該SQL語(yǔ)句變?yōu)橐粋€(gè)低效甚至無(wú)用的語(yǔ)句。對(duì)用戶(hù)的影響則是在多次點(diǎn)擊命令之后,Oracle數(shù)據(jù)庫(kù)系統(tǒng)依然沒(méi)有響應(yīng),給客戶(hù)一種系統(tǒng)延遲嚴(yán)重和卡死的感受。
磁盤(pán)性能是影響Oracle數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)重要因素,數(shù)據(jù)是存儲(chǔ)在硬盤(pán)上的,硬盤(pán)的轉(zhuǎn)速和傳輸速率都會(huì)影響到Oracle數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)調(diào)用速度,也就是數(shù)據(jù)庫(kù)系統(tǒng)的響應(yīng)時(shí)間。在Oracle數(shù)據(jù)庫(kù)系統(tǒng)中常常會(huì)發(fā)生多個(gè)任務(wù)進(jìn)程同時(shí)訪問(wèn)同一個(gè)硬盤(pán),而該硬盤(pán)受限于自身的性能,只能滿(mǎn)足一個(gè)任務(wù)進(jìn)程的需要,進(jìn)而導(dǎo)致了硬盤(pán)I/0沖突,影響了數(shù)據(jù)的調(diào)用和存儲(chǔ)。
在Oracle數(shù)據(jù)庫(kù)系統(tǒng)的硬件配置中,內(nèi)存是一個(gè)非常重要的硬件。但是在Oracle數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)轉(zhuǎn)開(kāi)以后,所需要的內(nèi)存十分龐大,因此調(diào)用虛擬內(nèi)存就顯得非常必要了,而一旦調(diào)用了大量的虛擬內(nèi)存,就會(huì)導(dǎo)致Oracle數(shù)據(jù)庫(kù)系統(tǒng)中其他功能的資源不足,進(jìn)而拖累了整個(gè)Oracle數(shù)據(jù)庫(kù)系統(tǒng),導(dǎo)致Oracle數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行緩慢且效率低下。
對(duì)內(nèi)存的調(diào)整和優(yōu)化,可以使Oracle數(shù)據(jù)庫(kù)系統(tǒng)的性能得到明顯提升,并且能夠滿(mǎn)足日益增加的用戶(hù)群體的使用需要。對(duì)內(nèi)存的調(diào)整應(yīng)先從數(shù)據(jù)庫(kù)內(nèi)存的分配開(kāi)始,先檢測(cè)Oracle數(shù)據(jù)庫(kù)中內(nèi)存的使用情況,然后根據(jù)檢測(cè)結(jié)果,查看那些任務(wù)進(jìn)程需要較多的內(nèi)存,由此確定需要進(jìn)行優(yōu)化和調(diào)整的項(xiàng)目。對(duì)占用內(nèi)存較大的進(jìn)程,例如deamon進(jìn)程,或是其他與Oracle數(shù)據(jù)庫(kù)系統(tǒng)無(wú)關(guān)的進(jìn)程,可以啟用任務(wù)管理器將其關(guān)閉。然后對(duì)內(nèi)存的分頁(yè)進(jìn)行優(yōu)化和調(diào)整,使用內(nèi)存檢測(cè)指令:free檢查數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)存分頁(yè)情況,查看系統(tǒng)是否有較多的內(nèi)存分頁(yè)進(jìn)程存在,若有則對(duì)內(nèi)存分頁(yè)進(jìn)行處理,在處理過(guò)程中,要重點(diǎn)注意以下幾個(gè)代碼:vflt/s、rclm/s、page-out和page-enter,通過(guò)對(duì)這幾個(gè)代碼的分析,可以檢測(cè)出內(nèi)存分頁(yè)是否存在過(guò)多和存在故障。針對(duì)內(nèi)存分頁(yè)過(guò)多導(dǎo)致Oracle數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行緩慢的情況,在硬件上可以加裝內(nèi)存條,提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)存容量。在系統(tǒng)的優(yōu)化上,可以將一些不必要的進(jìn)程放置到其他系統(tǒng)中去,降低這一部分進(jìn)程所占用的內(nèi)存資源.
對(duì)SQL語(yǔ)句的優(yōu)化主要是通過(guò)精煉、簡(jiǎn)潔的SQL語(yǔ)句,實(shí)現(xiàn)SQL識(shí)別器的快速識(shí)別,以此達(dá)到加快Oracle數(shù)據(jù)庫(kù)系統(tǒng)的響應(yīng)速度的目的。對(duì)SQL語(yǔ)句的優(yōu)化應(yīng)從SQL的工作流程開(kāi)始,SQL語(yǔ)句在輸入到Oracle數(shù)據(jù)庫(kù)后,要先由SQL識(shí)別器進(jìn)行識(shí)別和分析、然后CPU進(jìn)行處理并下達(dá)執(zhí)行命令、最后是反饋結(jié)果。對(duì)改過(guò)程進(jìn)行優(yōu)化,可以先在Oracle數(shù)據(jù)庫(kù)中針對(duì)SQL語(yǔ)句設(shè)置一個(gè)內(nèi)存分區(qū),然后在該分區(qū)中執(zhí)行Hash函數(shù),以加速SQL識(shí)別器的運(yùn)行速度。為了達(dá)到最佳的優(yōu)化效果,可以在內(nèi)存分區(qū)中,將一些常用的SQL語(yǔ)句存儲(chǔ)在主存中,從而實(shí)現(xiàn)當(dāng)SQL語(yǔ)句輸入后,先進(jìn)行驗(yàn)證是否有該語(yǔ)句,若有就直接執(zhí)行,沒(méi)有就按照SQL語(yǔ)句的執(zhí)行過(guò)程進(jìn)行執(zhí)行,此優(yōu)化措施可以加快SQL語(yǔ)句的70%的工作效率。還可以使用Oracle優(yōu)化器對(duì)SQL語(yǔ)句進(jìn)行優(yōu)化,尤其是在復(fù)雜SQL語(yǔ)句進(jìn)入系統(tǒng)中,使用Oracle優(yōu)化器可以加速SQL語(yǔ)句的編譯和分析進(jìn)程。在多SQL語(yǔ)句同時(shí)進(jìn)行時(shí),使用Oracle優(yōu)化器可以為SQL語(yǔ)句的分析開(kāi)辟一條新的處理路徑。
通過(guò)對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)的分析,在找出了Oracle數(shù)據(jù)庫(kù)中存在的性能瓶頸,并提出了相對(duì)應(yīng)的優(yōu)化措施,可以極大的提高Oracle數(shù)據(jù)庫(kù)系統(tǒng)的運(yùn)行效率。我們知道當(dāng)Oracle數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行一段時(shí)間后,由于數(shù)據(jù)碎片和緩存的累積將會(huì)導(dǎo)致Oracle數(shù)據(jù)庫(kù)系統(tǒng)的再次卡頓,因此對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)化和調(diào)整工作,是一個(gè)長(zhǎng)期而頻發(fā)的工作,需要及時(shí)的進(jìn)行調(diào)整和優(yōu)化,才能保證該系統(tǒng)的良好運(yùn)行。
[1]蔣鳳珍.Oracle數(shù)據(jù)庫(kù)性能優(yōu)化技術(shù)[J].計(jì)算機(jī)與信息技術(shù),2014,30(51): 94-96.
[2]李云波.Oracle性能調(diào)整技術(shù)研究[J].電腦知識(shí)與技術(shù),2014,4(7): 26-27.