摘 要:隨著oracle數(shù)據(jù)的市場份額逐年增加,oracle日常維護與優(yōu)化的課題也成了數(shù)據(jù)庫研究的重要組成。Oracle數(shù)據(jù)庫在使用時有諸多優(yōu)點,尤其是靈活性,但是正是由于其靈活性,如果沒有專業(yè)人士進行維護與優(yōu)化,oracle數(shù)據(jù)庫表現(xiàn)出來的穩(wěn)定性并不讓人滿意,甚至有些人認為oracle數(shù)據(jù)庫不如其他數(shù)據(jù)庫,然而專業(yè)的數(shù)據(jù)庫需要專業(yè)的維護與優(yōu)化人員,本文著重探討oracle數(shù)據(jù)庫的日程維護與優(yōu)化策略,提高oracle數(shù)據(jù)庫性能與數(shù)據(jù)安全性。
關鍵詞:oracle數(shù)據(jù)庫;日程維護;優(yōu)化;策略
中圖分類號:TP311.138
1 oracle數(shù)據(jù)庫的日常維護
Oracle數(shù)據(jù)庫日常維護工作是非常重要的,數(shù)據(jù)庫要認真對待。本文從以下幾個方面敘述如何對oracle數(shù)據(jù)庫進行日常維護,維護策略中一些具體命令不在本文提及,需要DBA去查詢執(zhí)行。
1.1 檢查與監(jiān)控
(1)及時檢查數(shù)據(jù)庫文件狀態(tài)。數(shù)據(jù)庫文件狀態(tài)需要DBA及時檢查,保證數(shù)據(jù)庫文件狀態(tài)正常。如果出現(xiàn)異常,DBA應當更具實際情況采取相應的措施,比如恢復出問題的數(shù)據(jù)庫文件或者重建該數(shù)據(jù)庫文件所在的表空間;(2)檢查數(shù)據(jù)庫定時作業(yè)的完成情況。如果一些定時作業(yè)需要用到oracle的JOB,那么DBA需要對這些JOB進行檢查,并根據(jù)檢查結果做進一步處理;(3)監(jiān)控Oracle警告日志文件。Oracle警告日志文件十分有用,DBA日常要加大對警告日志文件的監(jiān)控,對于問題的及時處理具有顯著作用。
1.2 數(shù)據(jù)庫壞塊的處理
在日常維護工作中,如果數(shù)據(jù)庫出現(xiàn)了壞塊,在警告日志文件中DBA能夠查到相關壞塊的信息,DBA要首先檢查是否出現(xiàn)了硬件故障或者是操作系統(tǒng)故障導致壞塊,如果不是,再對發(fā)生壞塊的數(shù)據(jù)庫對象采取相應的處理措施,按照下述操作:(1)確定發(fā)生壞塊的數(shù)據(jù)庫對象;(2)根據(jù)具體情況,決定修復方法;第一,如果壞塊對象是可以根據(jù)表重建的,那么我們刪掉它重建;第二,如果數(shù)據(jù)庫備份策略完善,可以使用恢復數(shù)據(jù)庫的方式修復;第三,如果某個表的記錄沒有其他辦法進行修復,壞塊的記錄丟失,我們使用原始方法將其他數(shù)據(jù)塊的記錄讀出來,然后對表進行重建;(3)標記壞塊;(4)將表中其它塊上的記錄保存到另一張表上;(5)刪除有壞塊的表;(6)恢復原來的表;(7)如果表上存在索引,則要重建表上的索引。
1.3 數(shù)據(jù)庫備份策略
DBA需要制定完善的備份策略,這對于數(shù)據(jù)安全具有重要意義,比如數(shù)據(jù)庫結構的變化引發(fā)控制文件的變化,DBA需要對控制文件進行及時的備份。
1.4 操作系統(tǒng)相關維護
除了數(shù)據(jù)庫本身的日常維護,還需要對操作系統(tǒng)進行相關維護,主要包括:(1)維護文件系統(tǒng),根據(jù)需要清理相關日志和TRC文件;(2)對于需要提供網(wǎng)絡服務的oracle,需要保證網(wǎng)絡連接正常;(3)監(jiān)控操作系統(tǒng)的資源使用情況;(4)監(jiān)控相關硬件,保證出現(xiàn)故障時及時修復,例如磁盤、內(nèi)存報錯。
上述日常維護策略主要圍繞著數(shù)據(jù)安全問題與性能問題,在日常維護中還需要做到硬件環(huán)境的維護,做好數(shù)據(jù)庫權限和安全方面的審計工作。
2 oracle數(shù)據(jù)庫的優(yōu)化策略
我們要對oracle數(shù)據(jù)庫進行優(yōu)化首先要有優(yōu)化指標與優(yōu)化法則,優(yōu)化指標主要是響應時間,也就是性能的優(yōu)化,主要包括硬件的優(yōu)化、操作系統(tǒng)的優(yōu)化、數(shù)據(jù)庫系統(tǒng)的優(yōu)化等。
2.1 硬件的優(yōu)化
Oracle數(shù)據(jù)離不開硬件的支持,因此我們也要對硬件進行優(yōu)化。在應用程序展開的初期,硬件經(jīng)常需要調(diào)整優(yōu)化,許多性能瓶頸也得到很好的解決,但是隨著數(shù)據(jù)庫規(guī)模的不斷增長,我們需要把優(yōu)化手段集中到比較經(jīng)濟的軟優(yōu)化層面上來。
2.2 操作系統(tǒng)的優(yōu)化
操作系統(tǒng)的優(yōu)化還是要針對具體的操作系統(tǒng),以unix操作系統(tǒng)為例,我們需要優(yōu)化以下方面:(1)共享內(nèi)存(Shared Memory);(2)信號燈(Semaphores)。
對于共享內(nèi)存的優(yōu)化,有三個核心參數(shù)的優(yōu)化對于oracle數(shù)據(jù)庫的優(yōu)化意義重大,包括:SHMMAX(單個共享內(nèi)存段最大值)、SHMSEG(能夠連到單個進程上共享內(nèi)存段的最大值)、SHMALL(共享內(nèi)存段總數(shù)目),本文建議將單個oracle實例的SGA分配在一個共享內(nèi)存段。由于Oracle實例的內(nèi)存優(yōu)化對于性能的優(yōu)化有著顯著作用,如果不按最佳的方式為各種結構分配內(nèi)存,性能會大打折扣,因此合理分配內(nèi)存至關重要。一般情況下,本文建議自動管理PGA內(nèi)存和SGA內(nèi)存,使用Automatic Memory Management機制。
對于信號燈方面的優(yōu)化,本文認為當關注下面參數(shù)的優(yōu)化:SSEMMNI(系統(tǒng)里信號燈集合的最大數(shù)目)、SEMMSL(每個集合里信號燈的最大數(shù)目)、SEMMNS(系統(tǒng)范圍內(nèi)可用的信號燈的最大數(shù)目)。信號燈數(shù)要比進程多,每個oracle進程對應一個信號燈,DBA需要根據(jù)實際情況進行具體分析,做到最優(yōu)化取值。
2.3 數(shù)據(jù)庫系統(tǒng)的優(yōu)化
對于數(shù)據(jù)系統(tǒng),第一,我們需要合理分配內(nèi)存空間,表空間體系和內(nèi)部空間的參數(shù)設置要合理,盡量最優(yōu)化。第二,磁盤空間利用率應當盡可能提高,數(shù)據(jù)段的碎片應當減少。第三,減少I/O次數(shù),減少交互次數(shù),減少CPU開銷和資源消耗。第四,合理配置環(huán)境參數(shù),使等待次數(shù)減少,鎖存器沖突幾率降低。為達到這些目的,需要采取創(chuàng)建并使用正確的索引、數(shù)據(jù)分頁處理以及查詢時只需返回需要的字段等具體操作手段。
數(shù)據(jù)庫系統(tǒng)的優(yōu)化對于相關人員的經(jīng)驗要求較高,需要在不斷實踐中摸索優(yōu)化方式,在保障數(shù)據(jù)安全前提下,最大程度地提高oracle數(shù)據(jù)庫的性能是優(yōu)化的主題。
3 結束語
本文主要從硬件層面,操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)本身等方面論述了oracle數(shù)據(jù)庫日常維護與優(yōu)化策略。維護好硬件環(huán)境與操作系統(tǒng)環(huán)境,專業(yè)的數(shù)據(jù)庫需要專業(yè)的人員來管理以確保oracle數(shù)據(jù)庫應用時的數(shù)據(jù)安全與高性能,正確而且專業(yè)地對oracle進行日常維護與優(yōu)化至關重要。
參考文獻:
[1]李聰慧.試論數(shù)據(jù)庫系統(tǒng)的優(yōu)化舉措[J].信息安全與技術,2012(06).
[2]曾德云.圖書管理系統(tǒng)數(shù)據(jù)庫的優(yōu)化設計及實現(xiàn)[J].黑龍江檔案,2011(05).
[3]周渝霞,劉道踐,郝玉清.基于Oracle的OLTP與OLAP數(shù)據(jù)庫設計及實現(xiàn)[J].電腦編程技巧與維護,2012(10).
[4]魏琦,于林林,宋旭東.關系數(shù)據(jù)庫查詢優(yōu)化策略研究[J].電腦知識與技術,2010(31).
[5]張桂燕.基于數(shù)據(jù)庫的語句優(yōu)化經(jīng)驗之談[J].電腦知識與技術,2011(17).
[6]杜剛強;姜丹.數(shù)據(jù)庫系統(tǒng)的優(yōu)化[J].硅谷,2011(21).
[7]王玉瑋,王蘭.淺析Oracle數(shù)據(jù)庫性能優(yōu)化的方法[J].科技創(chuàng)新與應用,2012(29).
[8]孫國社,李艷玲,李永峰.一種基于人工神經(jīng)網(wǎng)絡的數(shù)據(jù)查詢優(yōu)化方法[J];計算機與信息技術,2010(10).
作者簡介:曹亞寧(1983.02-),女,河北人,本科,中級職稱,研究方向:計算機數(shù)據(jù)庫、信息安全;馬立坤(1980.11-),男,河北人,本科,中級職稱,研究方向:財務信息化。
作者單位:武警天津市總隊醫(yī)院,天津 300162;武警天津總隊財務處,天津 300162