周峰
摘 要
文章首先對(duì)Oracle數(shù)據(jù)庫(kù)應(yīng)用中存在的主要問題進(jìn)行了簡(jiǎn)要分析,在此基礎(chǔ)上提出解決Oracle數(shù)據(jù)庫(kù)應(yīng)用問題的有效方案。期望通過本文的研究能夠?qū)racle數(shù)據(jù)庫(kù)的推廣應(yīng)用有所幫助。
【關(guān)鍵詞】Oracle數(shù)據(jù)庫(kù) 應(yīng)用 問題
1 Oracle數(shù)據(jù)庫(kù)應(yīng)用中存在的主要問題分析
Oracle數(shù)據(jù)庫(kù)是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其體系結(jié)構(gòu)如圖1所示。
Oracle數(shù)據(jù)庫(kù)的應(yīng)用優(yōu)勢(shì)主要體現(xiàn)在如下幾個(gè)方面:數(shù)據(jù)量大、數(shù)據(jù)保存時(shí)間長(zhǎng)、所有數(shù)據(jù)全部可以實(shí)現(xiàn)共享、數(shù)據(jù)的可靠性較高、穩(wěn)定性好等等。正是因?yàn)镺racle數(shù)據(jù)庫(kù)所具有的這些優(yōu)勢(shì),使其獲得了廣大使用者的認(rèn)可。然而,該數(shù)據(jù)庫(kù)在實(shí)際用于卻存在一些問題,這在一定程度上影響了Oracle數(shù)據(jù)庫(kù)的應(yīng)用。
1.1 表空間數(shù)據(jù)刪除引起的問題
對(duì)于Oracle數(shù)據(jù)庫(kù)而言,它的表空間之間相關(guān)的數(shù)據(jù)有兩種關(guān)系,一種是1對(duì)1的關(guān)系,另一種是1對(duì)多的關(guān)系,當(dāng)需要永久性刪除某個(gè)表空間時(shí),這個(gè)將要被刪除的表空間應(yīng)當(dāng)處于脫機(jī)狀態(tài),隨后調(diào)取數(shù)據(jù)字典將對(duì)應(yīng)的項(xiàng)目信息刪除,再將操作系統(tǒng)目錄中的數(shù)據(jù)文件刪除即可。上述刪除過程必須按照指定的順序進(jìn)行操作,若是先將表空間的數(shù)據(jù)文件刪除,該表空間便無法找到存儲(chǔ)媒體,由此可能會(huì)引起數(shù)據(jù)庫(kù)應(yīng)用異常,如數(shù)據(jù)庫(kù)無法正常啟動(dòng)或關(guān)閉等。
1.2 字符集轉(zhuǎn)換的問題
在Oracle數(shù)據(jù)庫(kù)的應(yīng)用中,中英文字符集的轉(zhuǎn)換常常會(huì)出現(xiàn)問題,例如,開始應(yīng)用該數(shù)據(jù)庫(kù)時(shí),要求使用英文的字符集,然后便選擇英文字符集進(jìn)行安裝,在使用的過程中,由于一些新項(xiàng)目的增加,要求使用中文字符集,若是不對(duì)字符集進(jìn)行轉(zhuǎn)換,新增項(xiàng)目的漢字部分將會(huì)顯示為3個(gè)“?”,由此給數(shù)據(jù)庫(kù)的應(yīng)用帶來一定的影響。
1.3 回滾段聯(lián)機(jī)產(chǎn)生的問題
在對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行應(yīng)用的過程中,回滾段聯(lián)機(jī)是一個(gè)較為常見的問題,也是困擾大部分使用者的主要問題之一。數(shù)據(jù)庫(kù)的使用者在對(duì)具體應(yīng)用項(xiàng)目進(jìn)行安裝時(shí),一般都是參照說明書的要求進(jìn)行安裝,由此可能會(huì)引起如下問題,即創(chuàng)建回滾段,然后聯(lián)機(jī),但卻并未將之加入到數(shù)據(jù)庫(kù)的初始化文件當(dāng)中,當(dāng)數(shù)據(jù)庫(kù)重啟之后,安裝的回滾段便會(huì)處于脫機(jī)狀態(tài),這對(duì)使用者的應(yīng)用帶來了一定程度的影響。
2 解決Oracle數(shù)據(jù)庫(kù)應(yīng)用問題的有效方案
為了有效解決Oracle數(shù)據(jù)庫(kù)應(yīng)用中出現(xiàn)的各種問題,應(yīng)當(dāng)對(duì)數(shù)據(jù)庫(kù)的性能進(jìn)行優(yōu)化,具體可從以下幾個(gè)方面著手:
2.1 對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化設(shè)計(jì)
想要使Oracle數(shù)據(jù)庫(kù)的應(yīng)用性達(dá)到最優(yōu),就必須要有一個(gè)良好的設(shè)計(jì)方案,從而使其各方面性能都達(dá)到使用者的要求,這樣便能夠避免實(shí)際應(yīng)用中各種問題的發(fā)生。Oracle數(shù)據(jù)庫(kù)的設(shè)計(jì)大體上可以分為兩個(gè)方面,一方面是邏輯設(shè)計(jì),另一方面是物理設(shè)計(jì),在前者的設(shè)計(jì)中主要是為了將數(shù)據(jù)庫(kù)中的一些冗余數(shù)據(jù)全部消除,借此來提高數(shù)據(jù)的吞吐速度,使數(shù)據(jù)的完整性得到保障,但對(duì)于大數(shù)據(jù)表而言,可能會(huì)影響其性能。所以,在物理設(shè)計(jì)的過程中,要進(jìn)行綜合考慮,并按照關(guān)聯(lián)表當(dāng)中的數(shù)據(jù)量大小以及對(duì)數(shù)據(jù)項(xiàng)訪問的頻繁程度,提高查詢較為頻繁的數(shù)據(jù)表冗余設(shè)計(jì),以此來滿足應(yīng)用需要。
2.2 應(yīng)用程序優(yōu)化
相關(guān)統(tǒng)計(jì)結(jié)果顯示,通過對(duì)應(yīng)用程度進(jìn)行優(yōu)化,可以使數(shù)據(jù)庫(kù)的性能提高60%左右。由此可見,對(duì)應(yīng)用程序進(jìn)行優(yōu)化是提高Oracle數(shù)據(jù)庫(kù)性能最為有效的途徑之一,隨著數(shù)據(jù)庫(kù)性能的提升,其應(yīng)用方面存在的問題會(huì)獲得有效解決??梢酝ㄟ^對(duì)源代碼和SQL語句兩個(gè)方面對(duì)應(yīng)用程序進(jìn)行優(yōu)化。通常情況下,SQL語句會(huì)消耗數(shù)據(jù)庫(kù)中70%-90%的資源,它的執(zhí)行效率高低直接關(guān)系到數(shù)據(jù)庫(kù)本身的性能。為此,可對(duì)部分劣質(zhì)的SQL語句進(jìn)行調(diào)整,并對(duì)數(shù)據(jù)庫(kù)的訪問方法進(jìn)行優(yōu)化改進(jìn),借此來改善數(shù)據(jù)庫(kù)系統(tǒng)的整體性能,從而提高其內(nèi)存區(qū)的命中率,大幅度減少對(duì)網(wǎng)絡(luò)帶寬的占用以及I/O訪問。
2.3 數(shù)據(jù)庫(kù)內(nèi)存分配的優(yōu)化調(diào)整
對(duì)于Oracle應(yīng)用實(shí)例而言,其通常都是由Oracle后臺(tái)進(jìn)程與SGA的一個(gè)內(nèi)存區(qū)組成,在應(yīng)用實(shí)例當(dāng)中,SGA使用效率的高低會(huì)對(duì)數(shù)據(jù)庫(kù)的性能產(chǎn)生極大的影響,鑒于此,可在具體應(yīng)用中按照數(shù)據(jù)庫(kù)的實(shí)際運(yùn)行情況,對(duì)SGA的大小進(jìn)行重新調(diào)整,同時(shí),由于內(nèi)存分配是在信息系統(tǒng)運(yùn)行時(shí)進(jìn)行優(yōu)化配置,所以可在對(duì)磁盤I/O的檢查時(shí)對(duì)其進(jìn)行優(yōu)化調(diào)整。
2.4 操作系統(tǒng)性能的優(yōu)化配置
在對(duì)Oracle數(shù)據(jù)庫(kù)操作系統(tǒng)的性能進(jìn)行優(yōu)化配置時(shí),可從以下兩個(gè)方面著手:
2.4.1 規(guī)劃資源
提供大量的資源是調(diào)整操作系統(tǒng)的主要目的之一,資源的具體分配原則為使Oracle服務(wù)器的可用資源最大化,尤其是在C/S架構(gòu)中,應(yīng)當(dāng)盡可能使服務(wù)器的全部資源都用來運(yùn)行Oracle服務(wù)。因此,操作系統(tǒng)應(yīng)當(dāng)為Oracle提供足夠的內(nèi)存,從而可以容納SGA、用戶進(jìn)程等,這樣可以有效解決換頁和交換的問題。
2.4.2 優(yōu)化計(jì)算機(jī)的配置
對(duì)于操作系統(tǒng)而言,擴(kuò)大內(nèi)存較為常用的方式為增加虛擬內(nèi)存,這部分內(nèi)存屬于磁盤空間,如果實(shí)際的內(nèi)存空間不足時(shí),操作系統(tǒng)便會(huì)將磁盤空間與內(nèi)存當(dāng)中的信息進(jìn)行頁面交換,由此會(huì)導(dǎo)致磁盤I/O的操作量增大,從而影響服務(wù)器的性能。通過對(duì)計(jì)算機(jī)的優(yōu)化配置,可以有效減少內(nèi)存的交換和分頁。
3 結(jié)論
綜上所述,Oracle數(shù)據(jù)庫(kù)以其自身諸多的應(yīng)用優(yōu)勢(shì)獲得了使用者的一致認(rèn)可,但在實(shí)際應(yīng)用中,卻常常會(huì)出現(xiàn)一些問題。為此,可以從提高Oracle數(shù)據(jù)庫(kù)性能方面著手,通過各種優(yōu)化措施,解決Oracle數(shù)據(jù)庫(kù)應(yīng)用中存在的問題,這對(duì)于促進(jìn)Oracle數(shù)據(jù)庫(kù)的大范圍推廣應(yīng)用具有重要意義。
參考文獻(xiàn)
[1]萬娟.Oracle數(shù)據(jù)庫(kù)應(yīng)用中出現(xiàn)的問題及其對(duì)策[J]現(xiàn)代經(jīng)濟(jì)信息,2015(18).
[2]王春麗,王海飛.Oracle數(shù)據(jù)庫(kù)安全問題探析與應(yīng)對(duì)策略[J]電子世界,2016(14).
作者單位
國(guó)防大學(xué) 北京市 100091