摘 要:當(dāng)前我國(guó)國(guó)內(nèi)應(yīng)用最為廣泛的一種關(guān)系數(shù)據(jù)管理系統(tǒng)是Oracle數(shù)據(jù)庫(kù),Oracle數(shù)據(jù)庫(kù)具有相對(duì)較好的可移植性能,整個(gè)系統(tǒng)的操作使用相對(duì)方便,其系統(tǒng)功能較強(qiáng),工作效率高。而Oracle數(shù)據(jù)庫(kù)的系統(tǒng)性能直接影響到整個(gè)數(shù)據(jù)庫(kù)運(yùn)作的工作效率,因而對(duì)Oracle數(shù)據(jù)庫(kù)的系統(tǒng)性能進(jìn)行優(yōu)化和調(diào)整顯得十分重要。
關(guān)鍵詞:Oracle數(shù)據(jù)庫(kù);系統(tǒng)性能;調(diào)整優(yōu)化
Oracle數(shù)據(jù)庫(kù)是目前被使用得最多的大型數(shù)據(jù)管理系統(tǒng)之一,在當(dāng)前新形勢(shì)下,數(shù)據(jù)量變得越來(lái)越大,致使系統(tǒng)經(jīng)常會(huì)發(fā)生吞吐量減少的情況,進(jìn)而直接影響了整個(gè)數(shù)據(jù)系統(tǒng)的響應(yīng)時(shí)間[ 1 ]。
因此,為了讓Oracle數(shù)據(jù)庫(kù)始終保持高吞吐量運(yùn)作,有效減少系統(tǒng)響應(yīng)時(shí)間延長(zhǎng)情況,進(jìn)一步預(yù)防系統(tǒng)數(shù)據(jù)管理進(jìn)入瓶頸,對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行系統(tǒng)優(yōu)化以及調(diào)整是至關(guān)重要的,也是保障系統(tǒng)能進(jìn)行高效運(yùn)作的前提。
1 對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)性能產(chǎn)生影響的相關(guān)因素
1.1 Oracle數(shù)據(jù)庫(kù)的相應(yīng)運(yùn)作服務(wù)器性能優(yōu)劣
對(duì)于一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說,服務(wù)器便是整個(gè)系統(tǒng)正常運(yùn)作的核心,服務(wù)器的性能優(yōu)劣直接對(duì)整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)相關(guān)性能造成影響。服務(wù)器上所運(yùn)作的操作系統(tǒng)和服務(wù)器硬件實(shí)際配置好壞取決了Oracle數(shù)據(jù)庫(kù)系統(tǒng)中服務(wù)器的性能。
1.2 相關(guān)的網(wǎng)絡(luò)I/O性能
有效實(shí)現(xiàn)整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)應(yīng)用程序和服務(wù)器交互運(yùn)作,需利用網(wǎng)絡(luò)作為基礎(chǔ)方能進(jìn)行。因此,網(wǎng)絡(luò)相應(yīng)的性能好壞,對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)性能有著相當(dāng)重要的作用。
1.3 Oracle數(shù)據(jù)庫(kù)的相應(yīng)配置
Oracle數(shù)據(jù)庫(kù)的配置直接影響數(shù)據(jù)庫(kù)系統(tǒng)性能,其不僅決定了系統(tǒng)性能的優(yōu)劣,同時(shí)是有效使系統(tǒng)優(yōu)化的關(guān)鍵。Oracle數(shù)據(jù)庫(kù)的配置和相關(guān)配置調(diào)整貫穿著整個(gè)系統(tǒng)中的數(shù)據(jù)庫(kù)設(shè)計(jì)、數(shù)據(jù)庫(kù)創(chuàng)建以及數(shù)據(jù)庫(kù)實(shí)際運(yùn)行等。
1.4 Oracle數(shù)據(jù)庫(kù)的實(shí)際應(yīng)用程序性能
Oracle數(shù)據(jù)庫(kù)的實(shí)際應(yīng)用程序運(yùn)行方式會(huì)對(duì)數(shù)據(jù)庫(kù)的性能產(chǎn)生比較大的影響,尤其體現(xiàn)在數(shù)據(jù)庫(kù)運(yùn)行過程中的SQL語(yǔ)句應(yīng)用、數(shù)據(jù)庫(kù)端相應(yīng)的程序設(shè)計(jì)以及整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的連接方式等方面,這些運(yùn)作方式均對(duì)數(shù)據(jù)庫(kù)的實(shí)際執(zhí)行效率造成影響[ 2 ]。
2 Oracle數(shù)據(jù)庫(kù)系統(tǒng)性能優(yōu)化與調(diào)整策略
2.1 對(duì)Oracle數(shù)據(jù)庫(kù)的內(nèi)存區(qū)進(jìn)行調(diào)整與優(yōu)化
Oracle數(shù)據(jù)庫(kù)的內(nèi)存區(qū)主要有兩個(gè)部分組成,即包括SGA和PGA。其中SGA是Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)緩沖區(qū)、資源共享池以及相關(guān)數(shù)據(jù)日志的緩沖區(qū),上述區(qū)分配合理程度直接影響數(shù)據(jù)庫(kù)系統(tǒng)性能的優(yōu)劣性[ 3 ]。其中數(shù)據(jù)緩沖區(qū)的作用是有效將數(shù)據(jù)庫(kù)中所搜索到的相關(guān)數(shù)據(jù)進(jìn)行儲(chǔ)存。如果相關(guān)的Oracle數(shù)據(jù)庫(kù)用戶所發(fā)出的數(shù)據(jù)請(qǐng)求恰巧被儲(chǔ)存在數(shù)據(jù)緩沖區(qū),那么數(shù)據(jù)緩沖區(qū)會(huì)直接將數(shù)據(jù)返給用戶,進(jìn)而有效將檢索的時(shí)間減短。如果相關(guān)的Oracle數(shù)據(jù)庫(kù)用戶所發(fā)出的數(shù)據(jù)請(qǐng)求沒有被儲(chǔ)存在數(shù)據(jù)緩沖區(qū),那么要先經(jīng)由相應(yīng)的服務(wù)器將數(shù)據(jù)從數(shù)據(jù)文件中進(jìn)行讀取,然后再將讀取到的數(shù)據(jù)資料返給數(shù)據(jù)緩沖區(qū),再經(jīng)由數(shù)據(jù)緩存區(qū)將數(shù)據(jù)返給用戶,導(dǎo)致檢索時(shí)間延長(zhǎng)。
為進(jìn)一步保障數(shù)據(jù)庫(kù)用戶能較快的獲取數(shù)據(jù),可將數(shù)據(jù)庫(kù)相應(yīng)的數(shù)據(jù)操作性能提高。資源共享池由數(shù)據(jù)庫(kù)緩沖以及數(shù)據(jù)字典緩存兩方面組成。庫(kù)緩沖的作用是將執(zhí)行過的SQL語(yǔ)句和PL/SQL程序代碼分析以及執(zhí)行計(jì)劃等一系列的信息進(jìn)行存放。
數(shù)據(jù)字典緩存的作用主要是將數(shù)據(jù)庫(kù)系統(tǒng)中的相關(guān)對(duì)象信息和相應(yīng)的數(shù)據(jù)庫(kù)用戶權(quán)限等一系列信息進(jìn)行存放。將資源共享池進(jìn)行合理的配置,能有效提高SQL語(yǔ)句和PL/SQL程序的實(shí)際執(zhí)行效率。數(shù)據(jù)日志的緩沖區(qū)作用是將數(shù)據(jù)庫(kù)系統(tǒng)中所有的修改信息進(jìn)行存放。如果在數(shù)據(jù)日志的緩沖區(qū)中出現(xiàn)較多日志寫入失敗,則說明數(shù)據(jù)庫(kù)中的相關(guān)日志緩沖區(qū)容量過小,這將直接對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的性能造成影響。
2.2 對(duì)數(shù)據(jù)庫(kù)中的磁盤I/O進(jìn)行調(diào)整
數(shù)據(jù)庫(kù)中的磁盤I/O實(shí)際運(yùn)作速度對(duì)整個(gè)系統(tǒng)的性能影響作用相對(duì)比較大,因此有效的對(duì)磁盤I/O進(jìn)行調(diào)整,可提升數(shù)據(jù)庫(kù)系統(tǒng)性能。其中對(duì)磁盤I/O性能造成影響的因素主要有磁盤競(jìng)爭(zhēng)、過多進(jìn)行I/O操作以及相應(yīng)的數(shù)據(jù)塊空間實(shí)際分配管理等。
2.3 數(shù)據(jù)庫(kù)中的碎片整理
由于數(shù)據(jù)庫(kù)對(duì)象以及相關(guān)的數(shù)據(jù)操作都在持續(xù)不斷的變化、進(jìn)行。致使數(shù)據(jù)庫(kù)產(chǎn)生磁盤碎片。磁盤碎片主要有三個(gè)分級(jí),包括表空間級(jí)、索引級(jí)以及表級(jí)。其中表空間級(jí)主要利用表空間重組和相關(guān)命令的執(zhí)行將數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出,進(jìn)而通過操作TRUNCATE將表空間的數(shù)據(jù)進(jìn)行刪除,然后通過使用IMPORT程序?qū)敕绞綄⑾嚓P(guān)數(shù)據(jù)進(jìn)行有效的導(dǎo)入,將存在于表空間中的磁盤碎片進(jìn)行清除。索引級(jí)主要是將表空間上的相關(guān)索引數(shù)量減少,或者是通過變化頻率相對(duì)比較低的列進(jìn)行索引創(chuàng)建,通過重創(chuàng)索引等方式,有效減少磁盤中的索引碎片產(chǎn)生。表級(jí):主要是通過將系統(tǒng)數(shù)據(jù)塊的大小進(jìn)行合理設(shè)置,并利用相應(yīng)的PCTFREE等數(shù)據(jù)參數(shù),防止碎片產(chǎn)生。
3 結(jié)語(yǔ)
對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行系統(tǒng)性能優(yōu)化和調(diào)整的工程相對(duì)比較復(fù)雜。對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行系統(tǒng)優(yōu)化和調(diào)整實(shí)際上就是通過降低相應(yīng)的磁盤對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問,以獲取其所需的相關(guān)數(shù)據(jù)[ 4 ]。由此有效將系統(tǒng)的相關(guān)吞吐量提升,減少系統(tǒng)運(yùn)用的響應(yīng)時(shí)間,可將Oracle數(shù)據(jù)庫(kù)系統(tǒng)實(shí)際的可用性進(jìn)一步提高,消除數(shù)據(jù)庫(kù)瓶頸,有效將系統(tǒng)性能優(yōu)化至最佳狀態(tài)。
參考文獻(xiàn):
[1] 劉哲.基于Oracle數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)化與性能調(diào)整研究[J].綠色科技,2012,05(03):283-284+287.
[2] 江李兵,江川寧.Oracle數(shù)據(jù)庫(kù)的性能調(diào)整與優(yōu)化方法探析[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,10(01):140+142.
[3] 王春梅,陳學(xué)明.基于Oracle數(shù)據(jù)庫(kù)電信CRM經(jīng)營(yíng)分析系統(tǒng)的性能優(yōu)化[J].計(jì)算機(jī)與數(shù)字工程,2015,03(06):418-422.
[4] 黃雁.基于Oracle數(shù)據(jù)庫(kù)的性能調(diào)整及優(yōu)化技術(shù)研究[J].電腦編程技巧與維護(hù),2015,09(07):66+88.
作者簡(jiǎn)介:
張建剛(1980-),男,漢族,湖北黃石人,工程碩士,講師,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)管理,數(shù)據(jù)庫(kù)應(yīng)用。