文/馮文堂
在一般情況下,oraele數(shù)據(jù)庫應(yīng)用系統(tǒng)是一個(gè)軟件系統(tǒng),解決了在一個(gè)特定領(lǐng)域的問題。它的主要特點(diǎn)是,它是在處理事務(wù)效率。據(jù)調(diào)查,50%的Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能問題是發(fā)生在設(shè)計(jì)過程中。在數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)過程中,發(fā)生在未來的業(yè)務(wù)處理特殊情況不能完全預(yù)測(cè)的,所以在系統(tǒng)運(yùn)行一段時(shí)間后,一些性能問題才能被發(fā)現(xiàn)。在本文中,ORAC數(shù)據(jù)庫系統(tǒng)及其特點(diǎn),績(jī)效評(píng)價(jià)指標(biāo)和優(yōu)化策略進(jìn)行了詳細(xì)討論。
Oracle數(shù)據(jù)庫能夠分析各數(shù)據(jù)間的關(guān)聯(lián)性,然后生成反映這些數(shù)據(jù)的相關(guān)性的數(shù)據(jù)庫。Oracle不僅可以直接應(yīng)用于關(guān)系數(shù)據(jù)庫的計(jì)算機(jī)系統(tǒng),同時(shí)也為商業(yè)數(shù)據(jù)庫管理系統(tǒng)提供完整的用戶/服務(wù)設(shè)備的系統(tǒng)架構(gòu),也可以使用SQL * NET軟件層來實(shí)現(xiàn)與多個(gè)操作系統(tǒng)通信協(xié)議的融合;Oracle關(guān)系數(shù)據(jù)庫可以創(chuàng)造更多的分布條件為其它系統(tǒng)如金融系統(tǒng)服務(wù),以實(shí)現(xiàn)單點(diǎn)與多點(diǎn)的查詢。在銀行、保險(xiǎn)、煙草業(yè)和其他數(shù)據(jù)平臺(tái),Oracle數(shù)據(jù)庫具備給這些平臺(tái)以安全性、穩(wěn)定性高的服務(wù)保障。Oracle數(shù)據(jù)庫系統(tǒng)內(nèi)存結(jié)構(gòu)見圖1。
1.2.1 獨(dú)立性
Oracle獨(dú)立成一個(gè)系統(tǒng),其包括大型系統(tǒng)中,介質(zhì)系統(tǒng)、小型系統(tǒng)和微系統(tǒng)。
1.2.2 統(tǒng)一性
該數(shù)據(jù)庫減少數(shù)據(jù)爭(zhēng)用,并確保數(shù)據(jù)的一致性。
1.2.3 安全性
Oracle數(shù)據(jù)庫具有很高的安全性,數(shù)據(jù)的完整性能夠防止數(shù)據(jù)漏洞,增強(qiáng)安全性。Oracle有許多功能,如識(shí)別、權(quán)限、角色、日志和備份等。
1.2.4 兼容性
Oracle數(shù)據(jù)庫具有一定的兼容性,不僅可以在不同類型的系統(tǒng)進(jìn)行操作,而且還可以在同一制造商的不同操作系統(tǒng)運(yùn)行。
Oracle數(shù)據(jù)庫一般有三個(gè)方面的內(nèi)存系統(tǒng),即共享池、數(shù)據(jù)緩沖區(qū)、日志+程序全局緩沖區(qū)域。在此階段,一個(gè)Oracle數(shù)據(jù)庫系統(tǒng)內(nèi)存分配調(diào)整方案還沒有形成,這需要存儲(chǔ)器分配方案的持續(xù)改進(jìn)來實(shí)現(xiàn)。在完善Oracle數(shù)據(jù)庫存儲(chǔ)器分配方案的過程中,可以參考這樣的方法:物理內(nèi)存值需要被判斷,并且一些參數(shù)文件需要在初始化的過程中加強(qiáng)判斷與落實(shí);在Oracle數(shù)據(jù)庫應(yīng)用程序的存儲(chǔ)器大小的影響下,工程師要積極調(diào)整所有內(nèi)存的物理內(nèi)存,一般控制物理內(nèi)在的占用比例在50%左右。
一般情況而言,Oracle數(shù)據(jù)庫在使用CPU服務(wù)器時(shí),若負(fù)荷超過了95%的使用能力,則會(huì)影響其運(yùn)行效率。在特定情形中,也可以進(jìn)行CPU時(shí)間合成的操作。CPU的總運(yùn)行時(shí)間可以在操作CPU系統(tǒng)時(shí),將使用時(shí)間添加到操作系統(tǒng)的應(yīng)用程序集當(dāng)中。如果Oracle數(shù)據(jù)庫的CPU應(yīng)用程序使用時(shí)間超過90%的話,那么就說明CPU被占用的時(shí)間比較長(zhǎng),對(duì)于金融系統(tǒng)而言,我們要關(guān)注這一時(shí)間長(zhǎng)度,在安全的情形下讓系統(tǒng)能夠更穩(wěn)定地發(fā)展,否則CPU過熱或系統(tǒng)變慢,就會(huì)影響客戶金融數(shù)據(jù)的更新問題;Oracle數(shù)據(jù)庫應(yīng)用程序不能充分利用CPU運(yùn)行時(shí)。

圖1:Oracle數(shù)據(jù)庫系統(tǒng)內(nèi)存結(jié)構(gòu)圖
一是Oracle內(nèi)存調(diào)整。Oracle的內(nèi)存是在調(diào)整的過程,這個(gè)過程是非常繁瑣的,Oracle內(nèi)存系統(tǒng)是由多個(gè)參數(shù)的影響。在調(diào)整Oracle內(nèi)存的過程中,主要從以下內(nèi)容:sharedpool參數(shù)的優(yōu)化,這樣能夠保障共享池的內(nèi)存容量符合各平臺(tái)系統(tǒng)如金融系統(tǒng)服務(wù)所需,也符合Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)運(yùn)行的正常工程需求。通常情況下,工程師需要調(diào)整的SQL語句負(fù)載和輸出,從而避免Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)的SQL語句因素的干擾問題。另外,我們要進(jìn)一步優(yōu)化SQL語句。為了優(yōu)化SQL語句中,我們首先需要判斷SQL語句的精髓。在保證正確的數(shù)據(jù)結(jié)構(gòu)的背景下,優(yōu)化用于識(shí)別的SQL語句,然后將I / O活動(dòng)有效地被搜索,或降低引擎數(shù)量,從而提高表搜索的效率與質(zhì)量。
綜上所述,作為一個(gè)專業(yè)的數(shù)據(jù)處理系統(tǒng),Oracle數(shù)據(jù)庫要進(jìn)行系統(tǒng)與平臺(tái)的優(yōu)化,就要降低系統(tǒng)工程的成本,它通過對(duì)整個(gè)數(shù)據(jù)庫系統(tǒng)的開發(fā)運(yùn)行過程的研析,來發(fā)現(xiàn)問題、解決問題。為了實(shí)現(xiàn)Oracle數(shù)據(jù)庫系統(tǒng)性能的優(yōu)化和調(diào)整,就可以實(shí)現(xiàn)通過存儲(chǔ)區(qū)域的調(diào)整以及優(yōu)化,優(yōu)化磁盤I / O的調(diào)整,進(jìn)一步促進(jìn)CPU性能的有效調(diào)節(jié),同時(shí)也能夠完成SQL語言的更新與完善,從而全面促進(jìn)Oracle數(shù)據(jù)庫系統(tǒng)性能的優(yōu)化以及調(diào)整,有效地實(shí)現(xiàn)數(shù)據(jù)庫升級(jí),提升數(shù)據(jù)庫系統(tǒng)性能的目的。