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