劉暢
【摘 要】隨著科學(xué)技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,加大了信息數(shù)據(jù)的管理工作和構(gòu)成的難度和復(fù)雜度,為信息的保密性帶來嚴(yán)峻挑戰(zhàn),目前應(yīng)用最為廣泛的信息數(shù)據(jù)管理系統(tǒng)就是Oracle數(shù)據(jù)庫,其穩(wěn)定性和信息安全性優(yōu)勢(shì)顯著。在數(shù)據(jù)庫系統(tǒng)運(yùn)行時(shí)間不斷延長的趨勢(shì)下,其性能出現(xiàn)了各種問題,影響其運(yùn)行,因此需要對(duì)其性能進(jìn)行調(diào)整和優(yōu)化。本文對(duì)Oracle數(shù)據(jù)庫進(jìn)行簡單介紹,探索Oracle數(shù)據(jù)庫調(diào)整和Oracle數(shù)據(jù)庫優(yōu)化的手段。
【關(guān)鍵詞】性能優(yōu)化;性能調(diào)整;Oracle數(shù)據(jù)庫
0 前言
計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域應(yīng)用較為普遍的信息管理工具就是數(shù)據(jù)庫系統(tǒng),而Oracle數(shù)據(jù)庫是應(yīng)用最為廣泛的信息數(shù)據(jù)管理系統(tǒng),為計(jì)算機(jī)用戶帶來了極大的便利,為了達(dá)到數(shù)據(jù)庫系統(tǒng)能夠有效管理數(shù)據(jù)信息的目標(biāo),需要不斷調(diào)整優(yōu)化Oracle數(shù)據(jù)庫性能,為其安全穩(wěn)定運(yùn)行提高保障,保證Oracle數(shù)據(jù)庫的持久發(fā)展。
1 Oracle數(shù)據(jù)庫簡介
1.1 Oracle數(shù)據(jù)庫概述
Oracle數(shù)據(jù)庫功能相當(dāng)強(qiáng)大,起源較早,最開始出現(xiàn)的形式是關(guān)系型數(shù)據(jù)庫技術(shù),可以實(shí)現(xiàn)對(duì)數(shù)據(jù)之間的關(guān)系的了解,并通過信息庫的構(gòu)造將這些關(guān)系真實(shí)的反映出來。1984年Oracle數(shù)據(jù)庫實(shí)現(xiàn)了桌面計(jì)算機(jī)與關(guān)系數(shù)據(jù)庫的有效結(jié)合,隨著Oracle數(shù)據(jù)庫的不斷發(fā)展,其各項(xiàng)功能也不斷健全,并提供給企業(yè)類的、網(wǎng)絡(luò)工作組、高可靠性的、產(chǎn)業(yè)化的應(yīng)用可靠的技術(shù)支撐,實(shí)現(xiàn)對(duì)關(guān)系數(shù)據(jù)的高效處理[1]。
1.2 Oracle數(shù)據(jù)庫主要特點(diǎn)
Oracle數(shù)據(jù)庫的主要特點(diǎn)有支持多用戶和大數(shù)據(jù)的高性能事務(wù)處理、硬件環(huán)境獨(dú)立、對(duì)完整性和安全性的良好控制,同時(shí)Oracle數(shù)據(jù)庫還遵守網(wǎng)絡(luò)通信協(xié)議、數(shù)據(jù)存取語言等相關(guān)的工業(yè)標(biāo)準(zhǔn)。另外Oracle數(shù)據(jù)庫支持分布式數(shù)據(jù)庫和分布處理,擁有可連接性、可兼容性、可移植性的特征。實(shí)現(xiàn)不同型號(hào)的計(jì)算機(jī)和不同操作系統(tǒng)下可以運(yùn)行Oracle數(shù)據(jù)庫的需求,其自身獨(dú)有的特點(diǎn)滿足了不同用戶的不同要求,符合時(shí)代發(fā)展潮流。
2 Oracle數(shù)據(jù)庫性能調(diào)整
2.1 調(diào)整Oracle數(shù)據(jù)庫內(nèi)存參數(shù)
Oracle數(shù)據(jù)庫內(nèi)存參數(shù)的調(diào)整主要是針對(duì)其系統(tǒng)全局區(qū)進(jìn)行的。其主要組成部分有日志緩沖區(qū)、數(shù)據(jù)緩沖區(qū)、共享池。系統(tǒng)全局區(qū)伴隨著環(huán)境的變化做出相應(yīng)改變,在對(duì)其進(jìn)行調(diào)整的過程中要考慮數(shù)據(jù)庫的運(yùn)行模式、操作系統(tǒng)的內(nèi)存容量、系統(tǒng)的類型是裸設(shè)備還是文件系統(tǒng)、物理內(nèi)存的大小。系統(tǒng)全局區(qū)大約占數(shù)據(jù)庫物理內(nèi)存的40%-60%,系統(tǒng)全局區(qū)大小直接受初始化參數(shù)的決定性影響,主要參數(shù)有WORK
AREASIZEPOLICY、LOGBBUFFER、SHARED_POOL_SIZE、DB_CACHE_
SIZE、DB_BLOCK_SIZE。WORKAREASIZEPOLICY參數(shù)的有MANUAL和AUTO兩種可選值,可根據(jù)實(shí)際情況進(jìn)行選擇;LOGBBUFFER能夠指定Oracle數(shù)據(jù)庫內(nèi)存空間的大小,即寫入到重做日志文件中的通過緩沖區(qū)寫入的重做日志;SHARED_POOL_SIZE對(duì)數(shù)據(jù)庫共享內(nèi)存池其直接決定作用;DB_CACHE_SIZE對(duì)默認(rèn)緩沖池的大小產(chǎn)生決定效用;DB_BLOCK_SIZE對(duì)創(chuàng)建數(shù)據(jù)庫每個(gè)模塊的尺寸產(chǎn)生直接影響。對(duì)這些參數(shù)進(jìn)行調(diào)整有利于實(shí)現(xiàn)Oracle數(shù)據(jù)庫的內(nèi)部優(yōu)化,為Oracle數(shù)據(jù)庫的穩(wěn)定運(yùn)行提供可靠的后臺(tái)保障[2]。
2.2 調(diào)整Oracle數(shù)據(jù)庫操作系統(tǒng)資源
運(yùn)行服務(wù)器的操作系統(tǒng)對(duì)Oracle數(shù)據(jù)庫服務(wù)器產(chǎn)生直接影響,操作系統(tǒng)的性能若是出現(xiàn)故障,則無法進(jìn)行Oracle數(shù)據(jù)庫性能的有效調(diào)整。首先,需要對(duì)操作系統(tǒng)的換頁空間進(jìn)行適當(dāng)?shù)恼{(diào)整,優(yōu)化配置其內(nèi)存分配,通過數(shù)據(jù)庫的實(shí)際運(yùn)行情況的調(diào)查,相關(guān)的管理人員可以調(diào)整內(nèi)在資源,同時(shí)對(duì)操作系統(tǒng)的換頁空間也要做出相應(yīng)的調(diào)整。在換頁空間的大小檢查過程中,當(dāng)換頁空間的物理內(nèi)存大于2G時(shí),就需要對(duì)其進(jìn)行適當(dāng)?shù)恼{(diào)整,如果物理內(nèi)存小于2G,則需要將換頁空間的大小設(shè)定為物理內(nèi)存的1.5倍。另外在創(chuàng)建換頁空間的時(shí)候,應(yīng)盡量將換頁空間設(shè)置在不同的硬盤中,提高換頁空間的性能,通過smitty mpks增加換頁空間或者是利用smitty chps對(duì)原有的換頁空間的大小進(jìn)行修改,以此來調(diào)整其性能。其次,對(duì)數(shù)據(jù)庫的硬盤I/O進(jìn)行調(diào)整,在I/O的設(shè)計(jì)階段管理員就應(yīng)當(dāng)優(yōu)化調(diào)整其操作方式,管理員想要實(shí)現(xiàn)的系統(tǒng)類型與與I/O設(shè)計(jì)聯(lián)系密切,不同的數(shù)據(jù)庫系統(tǒng)需要不同的I/O設(shè)計(jì)方案和不同類型的I/O模式。當(dāng)創(chuàng)建系統(tǒng)之后就需要對(duì)系統(tǒng)的內(nèi)存進(jìn)行調(diào)整,將磁盤I/O調(diào)移,以此保證磁盤I/O調(diào)整工作順利進(jìn)行,簡化調(diào)整程序,不必考慮緩沖區(qū)命中率過低的問題。對(duì)于數(shù)據(jù)庫的性能來說磁盤I/O操作發(fā)揮了極大的作用。影響磁盤I/O性能的因素有I/O次數(shù)過多和磁盤競(jìng)爭(zhēng)等,對(duì)其調(diào)整時(shí)可以將組成同表的數(shù)據(jù)分置在不同的磁盤中,使硬盤之間的I/O負(fù)載達(dá)到均衡。最后是對(duì)數(shù)據(jù)庫的核心參數(shù)配置進(jìn)行調(diào)整,通常情況下設(shè)置系統(tǒng)核心參數(shù)時(shí)都會(huì)設(shè)置較低的參數(shù)值,需要在運(yùn)行的過程中不斷進(jìn)行調(diào)整,在運(yùn)行Oracle數(shù)據(jù)庫過程中將Default128增加到500,調(diào)整maxuproc來發(fā)揮效用,保證Oracle數(shù)據(jù)庫的穩(wěn)定運(yùn)行。
3 Oracle數(shù)據(jù)庫性能優(yōu)化
3.1 優(yōu)化Oracle數(shù)據(jù)庫索引
由于索引在用戶使用數(shù)據(jù)庫的過程中為用戶檢索提供了便利,所以O(shè)racle要優(yōu)化數(shù)據(jù)庫中的索引,索引出現(xiàn)問題直接影響Oracle數(shù)據(jù)庫的利用效率,為用戶的數(shù)據(jù)庫使用和查詢帶來不便。對(duì)Oracle數(shù)據(jù)庫索引進(jìn)行優(yōu)化主要有兩種方式,第一種是手動(dòng)優(yōu)化,在Oracle數(shù)據(jù)庫中通過手動(dòng)方法對(duì)其索引進(jìn)行優(yōu)化主要依靠Oracle數(shù)據(jù)庫的圖形性能工具Oracle Enterprise Manager Console,在相應(yīng)的Oracle數(shù)據(jù)庫中,通過用戶的登陸權(quán)限登陸到指定的索引界面,找出SYAPP數(shù)據(jù)庫中的位于索引區(qū)里的XTWHZDBMB_X功能菜單,點(diǎn)擊鼠標(biāo)右鍵選擇功能菜單中的“移去”選項(xiàng),將不正確的索引選中并刪除,或者將不符合數(shù)據(jù)庫實(shí)際信息內(nèi)容的索引進(jìn)行修改,及時(shí)更新數(shù)據(jù)庫的索引列表。第二種索引優(yōu)化的方法是命令行方法,根據(jù)Oracle數(shù)據(jù)庫提供的相關(guān)SQL環(huán)境,利用特有的命令語句,在索引命令設(shè)置時(shí)輸入DROP INDEX XTWHZDBMB_X命令語句,利用該命令執(zhí)行刪除不必要索引的的指令,或者輸入其他的命令將索引進(jìn)行索引替換、更新命令執(zhí)行語句,對(duì)Oracle數(shù)據(jù)庫的索引進(jìn)行優(yōu)化。通過這兩種方式實(shí)現(xiàn)Oracle數(shù)據(jù)庫索引的優(yōu)化,從而保證Oracle數(shù)據(jù)庫的安全運(yùn)行,為用戶數(shù)據(jù)利用和檢索查詢帶來便利。
3.2 優(yōu)化Oracle數(shù)據(jù)庫內(nèi)存
對(duì)Oracle數(shù)據(jù)庫的內(nèi)存進(jìn)行優(yōu)化主要是在SGA調(diào)整的基礎(chǔ)上進(jìn)行優(yōu)化,在使用Oracle數(shù)據(jù)庫過程中不斷檢查,首先,對(duì)共享池優(yōu)化,對(duì)其優(yōu)化的原因是它能夠高速緩存PL/SQL、SQL語句,通過最少算法進(jìn)行管理的功能程序,當(dāng)共享池內(nèi)的SQL語句超出額定值之后,該算法則除掉不常使用或很少訪問的語句,為新的SQL語句提供更多的空間。使用共享池的這項(xiàng)功能可以實(shí)現(xiàn)Oracle數(shù)據(jù)庫將用戶常用和流行的PL/SQL、SQL語句保存在數(shù)據(jù)庫中,逐步將不常用的語句更新?lián)Q代,優(yōu)化Oracle數(shù)據(jù)庫的內(nèi)存,得到最新的信息,以此來適應(yīng)用戶對(duì)數(shù)據(jù)庫不同的需求。其次,是對(duì)緩沖區(qū)高速緩沖存儲(chǔ)器進(jìn)行優(yōu)化工作,實(shí)現(xiàn)用戶對(duì)自己的PL/SQL和SQL語句緩存版本的檢索,還可以查找到請(qǐng)求的相關(guān)數(shù)據(jù)。充分發(fā)揮緩沖區(qū)高速緩沖存儲(chǔ)器的作用。用戶在使用的過程中常用LRU列表進(jìn)行管理,用戶對(duì)應(yīng)用程序的訪問模塊大多存放在最近使用端,通過全表掃描對(duì)對(duì)常訪問的表進(jìn)行優(yōu)化檢查,當(dāng)發(fā)現(xiàn)常用表較小的時(shí)候,就有很能全表掃描對(duì)該表進(jìn)行訪問。但當(dāng)全表掃描在LRU列表的最少使用端放置該表的緩沖區(qū),這些該緩沖區(qū)就容易被移走,只有程序用戶重新利用的時(shí)候,才會(huì)在內(nèi)存中看到,解決這一問題,采取的優(yōu)化方式就是在全表掃描的過程中,將緩沖區(qū)存儲(chǔ)在LUR列表的最多使用端,利用這種方式可以將內(nèi)存中的緩沖區(qū)留存的時(shí)間更久,便于用戶對(duì)其進(jìn)行有效訪問。提高Oracle數(shù)據(jù)庫的利用效率。
3.3 優(yōu)化Oracle數(shù)據(jù)庫分區(qū)
Oracle數(shù)據(jù)庫引用分區(qū)技術(shù)有效的解決了大索引、大表的可用性和相關(guān)性能的問題,通過對(duì)其拆分,在對(duì)操作資源的請(qǐng)求上進(jìn)行限制,分區(qū)變小就會(huì)加快系統(tǒng)的訪問速度,提高系統(tǒng)效率。Oracle數(shù)據(jù)庫的分區(qū)技術(shù)還可以有效的解決信息資源管理數(shù)據(jù)庫的其他檢索和相關(guān)表的使用問題,對(duì)Oracle數(shù)據(jù)庫分區(qū)進(jìn)行優(yōu)化同時(shí)可以實(shí)現(xiàn)對(duì)其他性能的優(yōu)化。Oracle數(shù)據(jù)庫雖然擁有分區(qū)技術(shù),但在實(shí)際應(yīng)用中仍存在缺陷,Oracle數(shù)據(jù)庫中已有的普通表無法實(shí)現(xiàn)直接修改屬性轉(zhuǎn)換為分區(qū)表,只有通過重建的方法才能進(jìn)行轉(zhuǎn)換,但是信息資源數(shù)據(jù)管理系統(tǒng)適用的時(shí)間較長,一旦投入使用其各項(xiàng)性能設(shè)計(jì)都已經(jīng)定型,很難通過重建對(duì)普通表進(jìn)行分區(qū)表轉(zhuǎn)換。這時(shí)在優(yōu)化的時(shí)候可以利用交換分區(qū)技術(shù)和在線定義功能對(duì)普通表進(jìn)行分區(qū)化轉(zhuǎn)化,實(shí)現(xiàn)對(duì)Oracle數(shù)據(jù)庫分區(qū)的優(yōu)化。在線定義功能是指在保證數(shù)據(jù)的一致性的基礎(chǔ)上對(duì)操作表進(jìn)行命令指示,進(jìn)行DML操作,切換完成后可以不進(jìn)行其他額外管理程序。交換分區(qū)是修改表的定義,對(duì)數(shù)據(jù)不進(jìn)行任何操作行為,從而提高數(shù)據(jù)庫優(yōu)化的效率,準(zhǔn)確的檢查表中的數(shù)據(jù)的完整性。在對(duì)其分區(qū)轉(zhuǎn)化之后,就可以實(shí)現(xiàn)對(duì)Oracle數(shù)據(jù)庫的優(yōu)化,從而提高Oracle數(shù)據(jù)庫工作效率。
4 結(jié)論
綜上所述,通過對(duì)Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化的分析研究,可以看出Oracle數(shù)據(jù)庫性能的調(diào)整和優(yōu)化意義重大,完善Oracle數(shù)據(jù)庫各項(xiàng)功能有助于實(shí)現(xiàn)Oracle數(shù)據(jù)庫的穩(wěn)定運(yùn)行,在使用過程中不斷的進(jìn)行優(yōu)化檢查,及時(shí)對(duì)性能進(jìn)行優(yōu)化,實(shí)現(xiàn)Oracle數(shù)據(jù)庫的持久發(fā)展,推動(dòng)數(shù)據(jù)庫技術(shù)的發(fā)展,為人們提供利用和服務(wù)。
【參考文獻(xiàn)】
[1]劉哲.基于Oracle數(shù)據(jù)庫系統(tǒng)的優(yōu)化與性能調(diào)整研究[J].綠色科技,2015,05:283-284+287.
[2]胡鐵峰.淺議如何調(diào)整優(yōu)化Oracle 9i數(shù)據(jù)庫的性能[J].黑龍江科技信息,2014,22:86.
[責(zé)任編輯:王楠]