王麗靜
摘 要:伴隨著逐年提高的ORACLE數(shù)據(jù)庫(kù)市場(chǎng)份額,很多的優(yōu)點(diǎn)在ORACLE數(shù)據(jù)庫(kù)使用過(guò)程中都可以體現(xiàn),特別是其靈活性的體現(xiàn)。但如果我們對(duì)ORACLE數(shù)據(jù)庫(kù)的使用技巧和維護(hù)策略不夠了解,其靈活性就會(huì)使ORACLE數(shù)據(jù)庫(kù)表現(xiàn)出不穩(wěn)定性,造成ORACLE數(shù)據(jù)庫(kù)不如其他數(shù)據(jù)庫(kù)的現(xiàn)象,因此值得重視。
關(guān)鍵詞:ORACLE數(shù)據(jù)庫(kù);使用技巧;維護(hù)策略
專(zhuān)業(yè)的ORACLE數(shù)據(jù)庫(kù)需要一些使用技巧和維護(hù)策略的應(yīng)用。本文對(duì)ORACLE數(shù)據(jù)庫(kù)的使用技巧和維護(hù)策略進(jìn)行著重討論,使得ORACLE數(shù)據(jù)庫(kù)的靈活性能在使用過(guò)程中得到完全的體現(xiàn)。
1 ORACLE數(shù)據(jù)庫(kù)概述
ORACLE數(shù)據(jù)庫(kù)系統(tǒng)是應(yīng)用最為廣泛、使用最為方便,是世界上最受歡迎的數(shù)據(jù)庫(kù)管理系統(tǒng),它是美國(guó)甲骨文公司研發(fā)的核心數(shù)據(jù)庫(kù)產(chǎn)品。在功能上,它是一套具有通用性的數(shù)據(jù)管理功能的數(shù)據(jù)庫(kù)系統(tǒng),舉例來(lái)說(shuō),ORACLE數(shù)據(jù)庫(kù)系統(tǒng)使得共享數(shù)據(jù)得以實(shí)現(xiàn),數(shù)據(jù)持久性、安全性和可靠性都得到了充分的保障。除此之外,ORACLE數(shù)據(jù)庫(kù)還具有相當(dāng)完善的數(shù)據(jù)庫(kù)關(guān)系,在分布式數(shù)據(jù)處理上有著特別顯著的作用。只要我們將ORACLE數(shù)據(jù)庫(kù)的知識(shí)進(jìn)行掌握,在各種機(jī)器上,都可以將這些優(yōu)秀的技術(shù)進(jìn)行應(yīng)用。ORACLE數(shù)據(jù)庫(kù)在上個(gè)世紀(jì)六十年代至今都得到了迅猛發(fā)展,廣泛應(yīng)用于學(xué)校教育部門(mén)、政府機(jī)關(guān)、通信、制造業(yè)和金融企業(yè)單位。應(yīng)用特別普遍的是該系統(tǒng)在統(tǒng)計(jì)數(shù)據(jù)方面的作用,ORACLE數(shù)據(jù)庫(kù)將一種全新的工作模式帶到人類(lèi)面前。
2 ORACLE數(shù)據(jù)庫(kù)的使用技巧
2.1 系統(tǒng)的檢查
第一,使用時(shí)要對(duì)數(shù)據(jù)庫(kù)文件的狀態(tài)進(jìn)行及時(shí)檢查。在ORACLE數(shù)據(jù)庫(kù)系統(tǒng)的使用過(guò)程當(dāng)中,系統(tǒng)中的文件狀態(tài)要及時(shí)地使用DBA進(jìn)行檢查,對(duì)ORACLE數(shù)據(jù)庫(kù)系統(tǒng)中的每一個(gè)文件狀態(tài)都要保證其正常。一旦被發(fā)現(xiàn)出異常,根據(jù)實(shí)際情況,DBA會(huì)采取相對(duì)應(yīng)的解決方法。舉例來(lái)說(shuō),將ORACLE數(shù)據(jù)庫(kù)文件所在的表空間進(jìn)行重建,或者將存在問(wèn)題的數(shù)據(jù)庫(kù)文件進(jìn)行恢復(fù)。第二,對(duì)ORACLE數(shù)據(jù)庫(kù)系統(tǒng)的日志警告文件進(jìn)行監(jiān)控,ORACLE數(shù)據(jù)庫(kù)系統(tǒng)日志警告文件特別重要。在日常系統(tǒng)使用中DBA要對(duì)警告日志文件增強(qiáng)監(jiān)控,便于數(shù)據(jù)庫(kù)系統(tǒng)問(wèn)題的及時(shí)正確處理。第三,要對(duì)ORACLE數(shù)據(jù)庫(kù)系統(tǒng)定時(shí)作業(yè)完成情況進(jìn)行檢查。假如需要使用ORACLE數(shù)據(jù)庫(kù)的JOB,進(jìn)行定時(shí)作業(yè)的完成。那么這些JOB就必須要被DBA檢查,下一步的處理方法,要用檢查結(jié)果作為依據(jù)。
2.2 備份數(shù)據(jù)庫(kù)
在使用ORACLE數(shù)據(jù)庫(kù)系統(tǒng)的過(guò)程中,進(jìn)行數(shù)據(jù)庫(kù)備份,是必須掌握的使用技巧。備份數(shù)據(jù)庫(kù)的方法需要DBA進(jìn)行完善的制定,這對(duì)保護(hù)數(shù)據(jù)安全具有重要的作用。舉例來(lái)說(shuō),當(dāng)控制文件由于ORACLE數(shù)據(jù)庫(kù)結(jié)構(gòu)變化而引起變化時(shí),控制文件就需要被DBA進(jìn)行安全及時(shí)有效的備份。
2.3 處理數(shù)據(jù)庫(kù)壞塊
在ORACLE數(shù)據(jù)庫(kù)系統(tǒng)日常使用過(guò)程中,一旦數(shù)據(jù)庫(kù)中存在壞塊,DBA就可以在警告日志文件中將相關(guān)壞塊的信息進(jìn)行查詢(xún)。首先DBA要對(duì)操作系統(tǒng)故障和硬件故障進(jìn)行查找,是否是硬件或者軟件故障導(dǎo)致的,如果未發(fā)現(xiàn)硬件或操作系統(tǒng)的故障,就要對(duì)發(fā)生壞塊的數(shù)據(jù)庫(kù)采取以下處理措施:(1)將發(fā)生壞塊的數(shù)據(jù)庫(kù)進(jìn)行確定。(2)選擇修復(fù)方法要依據(jù)數(shù)據(jù)庫(kù)的具體情況。第一,假如ORACLE數(shù)據(jù)庫(kù)進(jìn)行了完善的備份,修復(fù)方法就可以采取恢復(fù)數(shù)據(jù)庫(kù)的方式。第二,假如某個(gè)數(shù)據(jù)庫(kù)中表記錄沒(méi)有修復(fù)的辦法,壞塊中的數(shù)據(jù)記錄也已經(jīng)丟失,我們就必須使用最傳統(tǒng)的方法,讀出其他數(shù)據(jù)塊的記錄,重建數(shù)據(jù)庫(kù)表。第三,如果數(shù)據(jù)庫(kù)中壞塊對(duì)象可以進(jìn)行表重建,就可以將其刪除進(jìn)行重新建立。(3)對(duì)壞塊進(jìn)行標(biāo)記。(4)新建另一張表來(lái)保存該表中其他塊的記錄。(5)將有壞塊的表進(jìn)行刪除。(6)將原來(lái)的表進(jìn)行恢復(fù)。(7)假如表上有索引,就要對(duì)表上的索引進(jìn)行重新建立。
2.4 操作系統(tǒng)的維護(hù)使用
除了學(xué)習(xí)ORACLE數(shù)據(jù)庫(kù)本身的使用技巧,使用者還要掌握一些操作系統(tǒng)的使用和維護(hù)技巧。主要包含:(1)ORACLE數(shù)據(jù)庫(kù)系統(tǒng)資源使用狀況進(jìn)行監(jiān)控管理;(2)對(duì)ORACLE系統(tǒng)相關(guān)硬件進(jìn)行監(jiān)控。在使用過(guò)程中出現(xiàn)故障時(shí)確保故障可以被及時(shí)的修復(fù)。舉例來(lái)說(shuō),系統(tǒng)內(nèi)存出現(xiàn)錯(cuò)誤和系統(tǒng)硬盤(pán)出現(xiàn)錯(cuò)誤;(3)部分ORACLE數(shù)據(jù)庫(kù)系統(tǒng)需要進(jìn)行網(wǎng)絡(luò)服務(wù)的提供,這就需要將網(wǎng)絡(luò)進(jìn)行正常連接保證ORACLE數(shù)據(jù)庫(kù)系統(tǒng)可以流暢地使用網(wǎng)絡(luò)連接;(4)將文件系統(tǒng)進(jìn)行及時(shí)的維護(hù),將不需要的TRC文件和相關(guān)日志進(jìn)行及時(shí)的清理。
3 ORACLE數(shù)據(jù)庫(kù)的維護(hù)策略
3.1 操作系統(tǒng)的維護(hù)
不同的操作系統(tǒng)的維護(hù)方式不同。在Unix操作系統(tǒng)之中,維護(hù)的方面主要有:(1)信號(hào)燈。(2)內(nèi)存共享。關(guān)于信號(hào)燈的維護(hù),信號(hào)燈在每個(gè)集合里最大數(shù)量、可用信號(hào)燈在系統(tǒng)范圍內(nèi)的最大數(shù)量和信號(hào)燈集合系統(tǒng)里最大數(shù)量是我們應(yīng)該關(guān)注的維護(hù)參數(shù),進(jìn)程的數(shù)量沒(méi)有信號(hào)燈多,每一個(gè)ORACLE數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)程和一個(gè)信號(hào)燈進(jìn)行對(duì)應(yīng)。以實(shí)際情況作為依據(jù),DBA進(jìn)行更為具體的分析,從而達(dá)到操作系統(tǒng)維護(hù)的最優(yōu)效果。關(guān)于內(nèi)存共享的維護(hù),可以分配ORACLE數(shù)據(jù)庫(kù)系統(tǒng)的SGA在一個(gè)共享內(nèi)存段,由于對(duì)ORACLE數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)存進(jìn)行維護(hù),有助于整個(gè)系統(tǒng)性能的提升,假如結(jié)構(gòu)內(nèi)存分配沒(méi)有按照最佳方式,操作系統(tǒng)的維護(hù)就會(huì)起不到作用,所以合理分配內(nèi)存非常的重要。一般情況下,使用自動(dòng)化的記憶管理機(jī)制來(lái)對(duì)SGA內(nèi)存和PGA內(nèi)存進(jìn)行自動(dòng)管理。
3.2 硬件的維護(hù)
硬件支持是ORACLE數(shù)據(jù)庫(kù)系統(tǒng)離不開(kāi)的,所以硬件的維護(hù)極其重要。在應(yīng)用程序開(kāi)展的初級(jí)階段,經(jīng)常性地進(jìn)行硬件調(diào)整維護(hù)就能將一些性能上的問(wèn)題進(jìn)行完美的解決。但是伴隨著ORACLE數(shù)據(jù)庫(kù)不斷發(fā)展的規(guī)模,硬件的維護(hù)成本較大,將操作系統(tǒng)和ORACLE數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行專(zhuān)業(yè)的維護(hù),可以達(dá)到更加經(jīng)濟(jì)化的ORACLE數(shù)據(jù)庫(kù)維護(hù)目標(biāo)。
3.3 數(shù)據(jù)庫(kù)系統(tǒng)的維護(hù)
維護(hù)數(shù)據(jù)庫(kù)的系統(tǒng),首先,我們要盡可能地提高磁盤(pán)空間利用率,減少數(shù)據(jù)段中的碎片。第二,將交互次數(shù)進(jìn)行減少,將CPU的資源消耗和使用進(jìn)行減少。第三,要對(duì)內(nèi)存空間進(jìn)行合理的分配,合理設(shè)置內(nèi)部空間參數(shù)和表空間體系,做到維護(hù)的最優(yōu)化。第四,環(huán)境參數(shù)要進(jìn)行合理的設(shè)置,同時(shí)減少等待次數(shù),降低鎖存器沖突現(xiàn)象發(fā)生幾率,創(chuàng)建正確索引,處理數(shù)據(jù)分頁(yè),來(lái)達(dá)到數(shù)據(jù)庫(kù)系統(tǒng)的維護(hù)。
4 結(jié)束語(yǔ)
現(xiàn)在,計(jì)算機(jī)技術(shù)伴隨著社會(huì)經(jīng)濟(jì)的發(fā)展,已經(jīng)廣泛地應(yīng)用在企業(yè)信息管理和科學(xué)研究領(lǐng)域,計(jì)算機(jī)應(yīng)用系統(tǒng)與信息的核心部分也逐漸被數(shù)據(jù)庫(kù)所占據(jù),業(yè)務(wù)發(fā)展得越快數(shù)據(jù)庫(kù)也就變得越來(lái)越復(fù)雜。我們通過(guò)ORACLE數(shù)據(jù)庫(kù)的使用,享受到了數(shù)據(jù)獲取的便利,帶來(lái)了可觀的經(jīng)濟(jì)利益。在此過(guò)程中,人們應(yīng)該更加去關(guān)注ORACLE數(shù)據(jù)庫(kù)的使用技巧和維護(hù)策略,ORACLE數(shù)據(jù)庫(kù)要想穩(wěn)定地運(yùn)行就必須要有日常維護(hù)、對(duì)問(wèn)題進(jìn)行有效診斷和解決來(lái)作為保障。所以O(shè)RACLE數(shù)據(jù)庫(kù)的正常運(yùn)行發(fā)揮需要使用者對(duì)使用技巧、開(kāi)發(fā)管理和維護(hù)策略同時(shí)進(jìn)行掌握,才能發(fā)揮數(shù)據(jù)庫(kù)的最大功能。
參考文獻(xiàn)
[1]寇文濤,郭偉.ORACLE數(shù)據(jù)庫(kù)日常使用中的維護(hù)和技巧[J].內(nèi)蒙古廣播與電視技術(shù),2013(03):13-14.
[2]曹亞寧,馬立坤.論oracle數(shù)據(jù)庫(kù)日常維護(hù)與優(yōu)化[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014(05):22-23.
[3]宋慧艷.Oracle數(shù)據(jù)庫(kù)統(tǒng)計(jì)應(yīng)用的結(jié)構(gòu)設(shè)計(jì)與維護(hù)技巧[J].科技傳播,2014(02):08-09.