国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Oracle數(shù)據(jù)庫系統(tǒng)性能優(yōu)化與調(diào)整

2010-08-15 00:43:59戴偉敏
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)緩沖區(qū)日志

戴偉敏

(福州大學(xué) 陽光學(xué)院基礎(chǔ)部,福建 福州 350000)

Oracle數(shù)據(jù)庫系統(tǒng)性能優(yōu)化與調(diào)整

戴偉敏

(福州大學(xué) 陽光學(xué)院基礎(chǔ)部,福建 福州 350000)

Oracle數(shù)據(jù)庫是當(dāng)前人們應(yīng)用最廣泛的數(shù)據(jù)庫之一,隨著Oracle數(shù)據(jù)庫使用用戶的數(shù)量增多,數(shù)據(jù)庫系統(tǒng)性能也逐漸暴露出它的缺陷。如何有效保證Oracle數(shù)據(jù)庫高效運(yùn)行,優(yōu)化、調(diào)整數(shù)據(jù)庫性能是我們必須解決好的問題.本文試從性能優(yōu)化與調(diào)整概述入手,重點(diǎn)分析影響Oracle數(shù)據(jù)庫系統(tǒng)性能的原因,然后詳細(xì)闡述Oracle數(shù)據(jù)庫系統(tǒng)優(yōu)化策略,通過這些數(shù)據(jù)庫系統(tǒng)優(yōu)化策略的介紹,期望能使Oracle數(shù)據(jù)庫系統(tǒng)得到最優(yōu)的操作性能.

Oracle數(shù)據(jù)庫;性能優(yōu)化與調(diào)整;策略

Oracle數(shù)據(jù)庫是目前用戶使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),選擇使用Oracle作為數(shù)據(jù)庫應(yīng)用系統(tǒng)的用戶,一般是需要處理的數(shù)據(jù)量較多,對(duì)于這種大型數(shù)據(jù)庫來說,數(shù)據(jù)庫運(yùn)行效率是最重要的.同時(shí),運(yùn)行效率也是數(shù)據(jù)庫評(píng)估的重要指標(biāo)之一.然而,在實(shí)際應(yīng)用中,隨著訪問量的加大,需要處理的數(shù)據(jù)日益增加,數(shù)據(jù)庫系統(tǒng)的性能也將下降,為此,數(shù)據(jù)庫系統(tǒng)性能優(yōu)化與調(diào)整將突顯出其更為重要作用.

1 性能優(yōu)化與調(diào)整概述

性能優(yōu)化指通過改善系統(tǒng)組件的性能,以最大限度地增加數(shù)據(jù)庫的吞吐量和相應(yīng)響應(yīng)時(shí)間的最小化.Oracle數(shù)據(jù)庫性能優(yōu)化所遵循的原則:通過盡量少的磁盤訪問獲得用戶需要的數(shù)據(jù).

性能調(diào)整是指通過修改系統(tǒng)參數(shù)、改變系統(tǒng)配置、優(yōu)化應(yīng)用程序等方式來改變系統(tǒng)性能.它包括對(duì)操作系統(tǒng)、硬件設(shè)置等系統(tǒng)進(jìn)行優(yōu)化配置,以及對(duì)訪問這些組件的應(yīng)用的詳細(xì)分析與優(yōu)化.

2 影響Oracle數(shù)據(jù)庫系統(tǒng)性能的因素

Oracle數(shù)據(jù)庫系統(tǒng)的運(yùn)行效率會(huì)受到來自各個(gè)方面的影響,而這些影響也在不同程度上制約著數(shù)據(jù)庫系統(tǒng)性能的發(fā)揮,具體說來,主要體現(xiàn)在以下幾個(gè)方面中:

2.1 Oracle數(shù)據(jù)庫服務(wù)器的性能.數(shù)據(jù)庫系統(tǒng)的關(guān)鍵部分在于服務(wù)器,而服務(wù)器性能的好壞直接決定著整個(gè)系統(tǒng)能否順利的運(yùn)轉(zhuǎn).而服務(wù)器的操作系統(tǒng)和硬件設(shè)施又直接決定著服務(wù)器性能的好壞.

2.2 數(shù)據(jù)庫的配置.實(shí)際上,數(shù)據(jù)庫的配置情況是才是影響數(shù)據(jù)庫系統(tǒng)性能的主要原因,可以說它是整個(gè)數(shù)據(jù)庫得以優(yōu)化的關(guān)鍵和核心之所在.數(shù)據(jù)庫配置的優(yōu)化主要包括內(nèi)存區(qū)的優(yōu)化、網(wǎng)絡(luò)I/O的設(shè)置、CPU優(yōu)化以及碎片整理等等.

2.3 網(wǎng)絡(luò)I/O的設(shè)置.網(wǎng)絡(luò)I/O的設(shè)置對(duì)于數(shù)據(jù)庫系統(tǒng)性能的優(yōu)劣也起著不可小覷的重要作用.因?yàn)閳?zhí)行命令的應(yīng)用程序是要通過網(wǎng)絡(luò)與數(shù)據(jù)庫的服務(wù)器產(chǎn)生作用的.

2.4 應(yīng)用程序的運(yùn)用.應(yīng)用程序的應(yīng)用也在一定程度上影響著數(shù)據(jù)庫性能的優(yōu)劣.特別是關(guān)于SQL語句的應(yīng)用、程序設(shè)計(jì)、對(duì)象的使用情況、數(shù)據(jù)庫連接方式等等,這些因素都或多或少地影響了數(shù)據(jù)庫的運(yùn)行效率.

3 Oracle數(shù)據(jù)庫系統(tǒng)性能優(yōu)化與調(diào)整策略

任何一個(gè)數(shù)據(jù)庫管理系統(tǒng)都會(huì)面臨數(shù)據(jù)庫運(yùn)行效率的問題,在了解了影響數(shù)據(jù)庫系統(tǒng)性能的因素之后,我們可以從這些因素入手,對(duì)癥下藥將數(shù)據(jù)庫的性能調(diào)整到最優(yōu).具體說來主要是從以下幾個(gè)方面對(duì)Oracle數(shù)據(jù)庫系統(tǒng)性能進(jìn)行優(yōu)化與調(diào)整:

3.1 內(nèi)存區(qū)設(shè)置的優(yōu)化

Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)主要分為兩部分:SGA和PGA.這兩部分內(nèi)存結(jié)構(gòu)的分配是否合理決定著數(shù)據(jù)庫系統(tǒng)的性能.其中SGA是Oracle數(shù)據(jù)庫的核心與靈魂,是對(duì)數(shù)據(jù)庫數(shù)據(jù)進(jìn)行快速訪問的一個(gè)系統(tǒng)區(qū)域,主要是由共享池,數(shù)據(jù)緩沖區(qū)和日志緩沖區(qū)三部分組成.

3.1.1 共享池的優(yōu)化與調(diào)整.共享池的優(yōu)化與調(diào)整主要是通過縮短操作時(shí)間來實(shí)現(xiàn)的.具體說來,就是指對(duì)于之前已經(jīng)分析過的模本,執(zhí)行命令的語句可以在共享池中找到并進(jìn)行重用,不需要再消耗時(shí)間另外進(jìn)行解析.這樣一來就要求我們在對(duì)共享池進(jìn)行優(yōu)化的時(shí)候,要盡量保證存放在數(shù)據(jù)庫中的信息在應(yīng)用程序中能夠經(jīng)常被訪問到.因此,我們可以通過數(shù)據(jù)庫緩沖區(qū)的命中率來了解到共享池的合適程度.

3.1.2 數(shù)據(jù)緩沖區(qū)的調(diào)整.數(shù)據(jù)緩沖區(qū)的調(diào)整同樣可以縮短操作時(shí)間.用戶在進(jìn)行數(shù)據(jù)檢索時(shí)相關(guān)數(shù)據(jù)已經(jīng)存儲(chǔ)于緩沖區(qū)中.如果用戶進(jìn)行檢索查詢的相關(guān)數(shù)據(jù)包含在緩沖區(qū)中,那么系統(tǒng)將會(huì)通過緩沖區(qū)直接將數(shù)據(jù)傳送給用戶,相反,如果用戶所查詢的數(shù)據(jù)不在緩沖區(qū)內(nèi),那么系統(tǒng)會(huì)先從數(shù)據(jù)文件中通過服務(wù)器進(jìn)程將數(shù)據(jù)讀取出來發(fā)送到緩沖區(qū)里,然后再按照之前所講述的方式由緩沖區(qū)發(fā)送給用戶,這樣一來就多了一個(gè)中間環(huán)節(jié),使得操作時(shí)間增長.因此,當(dāng)用戶進(jìn)行數(shù)據(jù)查詢時(shí),也要盡可能多的保證在緩沖區(qū)內(nèi)有足夠多的相關(guān)數(shù)據(jù),只有這樣才能很好的提高數(shù)據(jù)緩沖區(qū)的性能.

3.1.3 調(diào)整日志緩沖區(qū).日志緩沖區(qū)的作用在于將修改的數(shù)據(jù)信息存放于此.為了將日志寫進(jìn)日志文件,首先要將日志放入緩沖區(qū),然后由LGWR進(jìn)程在相關(guān)條件滿足時(shí)將已存放在日志緩沖區(qū)的日志信息寫入到日志文件里.若日志緩沖區(qū)沒有足夠的空間存放信息,日志就無法寫入,也就是說寫入失敗.這樣也會(huì)導(dǎo)致網(wǎng)絡(luò)I/O的運(yùn)行頻繁,嚴(yán)重影響了數(shù)據(jù)庫的系統(tǒng)性能.

3.1.4 PGA的調(diào)整.PGA區(qū)的主要構(gòu)成部分是由會(huì)話區(qū)和排序區(qū).其中,排序區(qū)的設(shè)置對(duì)數(shù)據(jù)庫的性能影響重大.在排序的方式上,主要有兩種方式,一種是在PGA的排序區(qū)進(jìn)行排序.一種是在臨時(shí)表空間的臨時(shí)段中進(jìn)行排序.但是,在使用臨時(shí)段進(jìn)行排序時(shí),因要對(duì)磁盤進(jìn)行網(wǎng)絡(luò)I/O操作,這樣就延長了運(yùn)行時(shí)間,影響了排序效率.所以,在排序時(shí),要盡量多用排序區(qū)進(jìn)行排序操作.

3.2 磁盤I/O優(yōu)化

對(duì)于數(shù)據(jù)庫系統(tǒng)來說,磁盤I/O操作是數(shù)據(jù)庫性能優(yōu)化最重要的方面,磁盤I/O性能優(yōu)劣取決于多個(gè)方面的影響.其中有I/O操作次數(shù)過多,數(shù)據(jù)塊空間的分配等原因.那么減少I/O操作的次數(shù)最有效的辦法就是將使用頻率搞的數(shù)據(jù)存放在緩沖區(qū)內(nèi),同時(shí)也要降低Oracle服務(wù)器查詢信息的時(shí)間,方法之一就是分區(qū)和建立索引.

3.2.1 優(yōu)化設(shè)計(jì)索引Index.數(shù)據(jù)庫中非常重要的結(jié)構(gòu)就包括了索引,它是優(yōu)化性能的基礎(chǔ).原因在于索引能夠快速找到需查找數(shù)據(jù)的地址.有效利用索引,從而提高訪問數(shù)據(jù)庫的速度,這樣就提高了查詢效率.同時(shí)可以利用索引減少數(shù)據(jù)庫中的磁盤讀寫次數(shù).在建立索引時(shí),也要注意并是不建立更多的索引就越好,雖然有著合理科學(xué)的索引數(shù)據(jù)庫比沒有建立索引數(shù)據(jù)庫的效率要高好幾十倍,但如果有些索引經(jīng)常需要修改,這樣不僅影響了系統(tǒng)性能,也占據(jù)了系統(tǒng)的存儲(chǔ)空間.

3.2.2 有效利用分區(qū)技術(shù).分區(qū)可以將不同的信息數(shù)據(jù)保存在不同的磁盤里,這是將數(shù)據(jù)在數(shù)據(jù)庫中進(jìn)行物理區(qū)分.在利用分區(qū)技術(shù)時(shí),把需要查詢的數(shù)據(jù)在不同的分區(qū)中進(jìn)行掃描,可以大大縮短查詢時(shí)間,而不要進(jìn)行全表掃描.在進(jìn)行分區(qū)的同時(shí),可將數(shù)據(jù)分散到不同的磁盤中,這樣磁盤I/O也不會(huì)競爭嚴(yán)重了.

3.3 設(shè)置回滾段

在Oracle 數(shù)據(jù)庫中,回滾段設(shè)置的目的是保存數(shù)據(jù)的原始版本,利用初始版本可以撤銷用戶未保存的資料.Oracle數(shù)據(jù)庫的作用之一就是可以從系統(tǒng)操作的失敗中得到數(shù)據(jù)的恢復(fù),在此,就體現(xiàn)出了回滾段在數(shù)據(jù)處理中的重要作用.在優(yōu)化回滾段時(shí),也要根據(jù)用處的大小建立大小不等的回滾段,并且將這些回滾段分散到不同的分區(qū)中.

3.4 碎片整理

數(shù)據(jù)碎片的產(chǎn)生是必然的,因?yàn)橄到y(tǒng)操作的不斷出現(xiàn),數(shù)據(jù)對(duì)象的不斷變化,由此產(chǎn)生的碎片可以分為三類,分別為表空間級(jí)、表級(jí)和索引級(jí).

3.4.1 表空間級(jí)碎片是最基礎(chǔ)的碎片,往往是由于一些基本的操作引起的,例如執(zhí)行命令的建立、刪除等等.優(yōu)化的措施可以通過執(zhí)行導(dǎo)出命令將數(shù)據(jù)導(dǎo)出,接著利用TRUNCATE 刪除導(dǎo)出的數(shù)據(jù),最后再利用有效的程度將表空間級(jí)碎片清除.

3.4.2 表級(jí)碎片的產(chǎn)生可以通過設(shè)置合適的數(shù)據(jù)塊來消除,它是由于數(shù)據(jù)庫存儲(chǔ)不連續(xù)所致.在創(chuàng)建數(shù)據(jù)庫時(shí),根據(jù)所需記錄的數(shù)據(jù)大小來設(shè)置相應(yīng)的數(shù)據(jù)塊大小,可以提高數(shù)據(jù)塊系統(tǒng)的運(yùn)行效率.

3.4.3 索引級(jí)碎片是由于索引過于頻繁所致,通過干擾B-TREE結(jié)構(gòu)和葉節(jié)點(diǎn)的排序引起的.調(diào)整的措施可以減少已建立索引的數(shù)據(jù)數(shù)量,特別是變化頻率較低的數(shù)據(jù),這樣可以降低索引碎片的產(chǎn)生.

3.5 CPU性能調(diào)整

通過對(duì)CPU性能的調(diào)整可以有效利用數(shù)據(jù)庫中的各種資源,提高數(shù)據(jù)塊的性能.

3.5.1 盡可能多地使用多個(gè)CPU來處理用戶的事務(wù),如果有可能的話,需要將服務(wù)器和CPU請求分開.

3.5.2 在進(jìn)行數(shù)據(jù)查詢時(shí),可以使用PQO查詢方式.PQO方式可以在不同的磁盤中同時(shí)進(jìn)行SQL語句的執(zhí)行處理,同時(shí)進(jìn)行數(shù)據(jù)的讀取.

3.6 SQL語句的優(yōu)化

數(shù)據(jù)庫所以的操作都是通過SQL語句來執(zhí)行的.包括最簡單的添加和刪除.所以,Oracle數(shù)據(jù)庫的性能高低在很大程度上也取決于SQL語句的執(zhí)行效率,為盡量提高SQL語句的執(zhí)行效率,在書寫SQL語句時(shí)應(yīng)注意以下幾點(diǎn).

(1)建立分區(qū)后,減少全表掃描,而要分區(qū)查詢.

(2)對(duì)于需要經(jīng)常進(jìn)行查詢的表,可以通過建立索引減少SQL語句的執(zhí)行.

(3)將多個(gè)常用表放在一個(gè)數(shù)據(jù)塊里.

(4)在查詢時(shí),對(duì)于需要連接的查詢要有充分的連接條件.

Oracle數(shù)據(jù)庫系統(tǒng)性能優(yōu)化與調(diào)整是一個(gè)需要通過不斷摸索、總結(jié)的過程,在實(shí)踐中,必須先了解影響數(shù)據(jù)庫系統(tǒng)性能的因素,針對(duì)這些不同的因素采取不同的有效措施予以調(diào)整,同時(shí)也需要我們采取更加先進(jìn)的技術(shù)來對(duì)數(shù)據(jù)庫進(jìn)行調(diào)優(yōu),使得數(shù)據(jù)庫系統(tǒng)獲得最優(yōu)性能.

〔1〕仇道霞,陸偉,侯曉輝:Oracle數(shù)據(jù)庫性能調(diào)整優(yōu)化[J].山東輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2010(3).

〔2〕孫富偉,晏斌.Oracle數(shù)據(jù)庫優(yōu)化策略的探討與研究[J].河南科技,2010(10).

〔3〕魏亞楠,宋義秋.oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能優(yōu)化[J].制造業(yè)自動(dòng)化,2010(8).

TP 311.132.3

A

1673-260X(2010)12-0041-02

猜你喜歡
數(shù)據(jù)庫系統(tǒng)緩沖區(qū)日志
嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計(jì)與實(shí)現(xiàn)
一名老黨員的工作日志
扶貧日志
心聲歌刊(2020年4期)2020-09-07 06:37:14
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
電子測試(2018年14期)2018-09-26 06:04:24
游學(xué)日志
微細(xì)銑削工藝數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與開發(fā)
實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
核反應(yīng)堆材料數(shù)據(jù)庫系統(tǒng)及其應(yīng)用
關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
一種基于粗集和SVM的Web日志挖掘模型
桦南县| 安塞县| 大城县| 西丰县| 瓮安县| 日土县| 庆元县| 伊通| 启东市| 工布江达县| 云阳县| 商都县| 贺州市| 如东县| 平顶山市| 关岭| 桐乡市| 英山县| 台江县| 罗城| 赤峰市| 阜新| 绵竹市| 丰城市| 太仓市| 衡水市| 疏勒县| 元朗区| 崇信县| 衡山县| 景谷| 鄂伦春自治旗| 宝应县| 萨嘎县| 鸡西市| 兴宁市| 咸阳市| 绍兴市| 安福县| 溧水县| 扶绥县|