a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

關(guān)于Oracle服務(wù)器性能全面調(diào)整攻略

2024-08-29 13:50:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Oracle服務(wù)器是高度可調(diào)的數(shù)據(jù)庫(kù)系統(tǒng),它提供了許多特性,正確地設(shè)置和調(diào)整可以有效提高系統(tǒng)性能,因此,對(duì)系統(tǒng)進(jìn)行調(diào)整是數(shù)據(jù)庫(kù)治理員的主要責(zé)任。由于應(yīng)用設(shè)計(jì)人員很少或根本不會(huì)給數(shù)據(jù)庫(kù)治理人員提供必要的信息,因此只能采用對(duì)已有應(yīng)用系統(tǒng)影響最小的調(diào)整方式:重新分配內(nèi)存、調(diào)整磁盤I/O來(lái)提高性能。 調(diào)整內(nèi)存 Oracle服務(wù)器將信息存儲(chǔ)在兩個(gè)地方:內(nèi)存、磁盤。因?yàn)閮?nèi)存的存取比磁盤的存取快得多,為了獲得最佳的性能,總是希望將數(shù)據(jù)盡可能多地放在內(nèi)存供用戶讀取??墒窍到y(tǒng)內(nèi)存資源是有限的,不可能將所有數(shù)據(jù)放在內(nèi)存,因此,要在現(xiàn)有內(nèi)存資源的基礎(chǔ)上,通過(guò)調(diào)整內(nèi)存分配來(lái)獲得盡可能好的性能。調(diào)整內(nèi)存的分配,實(shí)際上就是對(duì)Oracle數(shù)據(jù)庫(kù)內(nèi)存結(jié)構(gòu)分配恰當(dāng)尺寸的可用內(nèi)存。 為了取得好的效果,調(diào)整要按如下順序進(jìn)行:調(diào)整操作系統(tǒng)、調(diào)整共享池、調(diào)整緩沖區(qū)高速緩存。由于后面調(diào)整所作的改變可能需要對(duì)前面的調(diào)整再次進(jìn)行判定和調(diào)整,因此,調(diào)整的過(guò)程可能需要若干次循環(huán)。 調(diào)整操作系統(tǒng) 操作系統(tǒng)運(yùn)行得好,是Oracle調(diào)整內(nèi)存分配的基礎(chǔ),其方法如下: 減少調(diào)頁(yè)或交換 過(guò)度的調(diào)頁(yè)或交換必定會(huì)降低操作系統(tǒng)的性能??梢杂貌僮飨到y(tǒng)提供的實(shí)用程序進(jìn)行監(jiān)控,如發(fā)現(xiàn)有過(guò)度的調(diào)頁(yè)或交換,則說(shuō)明系統(tǒng)總內(nèi)存存放不下已經(jīng)分配在內(nèi)存中的信息。解決的辦法是增加系統(tǒng)內(nèi)存總量,或減少已經(jīng)分配的內(nèi)存量。 調(diào)整系統(tǒng)全局區(qū)(SGA) SGA是Oracle數(shù)據(jù)庫(kù)存放系統(tǒng)信息的一塊區(qū)域,由所有的服務(wù)器和客戶進(jìn)程共享,主要由以下四部分組成:數(shù)據(jù)高速緩沖區(qū)、字典緩沖區(qū)、重演日志緩沖區(qū)、共享SQL池。建SGA的目的是為了將數(shù)據(jù)放在內(nèi)存以便快速存取,假如SGA過(guò)大內(nèi)存放不下,就要被交換到磁盤,產(chǎn)生過(guò)度交換或調(diào)頁(yè),數(shù)據(jù)存取就快不了。在大多數(shù)系統(tǒng)里,過(guò)度調(diào)頁(yè)的壞處比大SGA的好處對(duì)性能的影響要大得多,因此寧可SGA小些,也要保證整個(gè)SGA能被內(nèi)存容下。 可利用SQL*DBA語(yǔ)句SHOW SGA來(lái)查看分配了多少內(nèi)以及每個(gè)內(nèi)部結(jié)構(gòu)的大小。
該機(jī)系統(tǒng)內(nèi)存256M,SGA大小約為115M,應(yīng)用過(guò)程中不會(huì)發(fā)生調(diào)頁(yè)或交換。為了提高性能,還可以在初始化參數(shù)文件INIT.ORA中添加參數(shù) PRE_PAGE_SGA=FALSE,使得Oracle在啟動(dòng)Instance時(shí)將整個(gè)SGA讀入內(nèi)存。該設(shè)置雖然會(huì)增加Instance啟動(dòng)時(shí)間,但會(huì)減少Oracle在啟動(dòng)后達(dá)到性能峰值所用的時(shí)間。 調(diào)整共享池 調(diào)整共享池主要包括三個(gè)方面:庫(kù)高速、數(shù)據(jù)字典緩存、對(duì)話信息。由于Oracle治理共享池中數(shù)據(jù)的算法,使得數(shù)據(jù)字典緩存中的數(shù)據(jù)比庫(kù)高速緩存中的數(shù)據(jù)在內(nèi)存中存留的時(shí)間長(zhǎng),因此,只要把庫(kù)高速緩存調(diào)整成可以接受的命中率,就能提高數(shù)據(jù)字典緩存的命中率。 檢查、調(diào)整庫(kù)高速緩存 可以通過(guò)動(dòng)態(tài)性能表V$LIBRARYCACHE來(lái)查詢Instance啟動(dòng)以來(lái)所有庫(kù)高速緩存的活動(dòng)。 V$LIBRARYCACHE表中以下幾列反映了庫(kù)高速緩存在執(zhí)行調(diào)用階段的不命中: PINS列,它的值顯示在庫(kù)高速緩存中執(zhí)行的次數(shù); RELOADS列,它的值顯示在執(zhí)行階段庫(kù)高速緩存不命中的數(shù)目。
   一般來(lái)說(shuō),庫(kù)高速緩存總不命中數(shù)與總存取數(shù)之比應(yīng)當(dāng)接近零,本例為0.001%,說(shuō)明庫(kù)高速緩存命中率很高,該比率假如接近或大于1%,就應(yīng)當(dāng)立即采取措施來(lái)減少這種不命中。 措施一:增加初始化參數(shù)shared_pool_size的值,提高庫(kù)高速緩存可用的內(nèi)存數(shù)量,同時(shí)為了取得好的效果,可能還要增加初始化參數(shù)open_cursors的值,以提高對(duì)話答應(yīng)的光標(biāo)數(shù)。需要注重的是:為庫(kù)高速緩存分配了太多的內(nèi)存可能引起調(diào)頁(yè)或交換。 措施二:寫等價(jià)的SQL語(yǔ)句,盡可能讓SQL語(yǔ)句和PL/SQL塊共享一個(gè)SQL區(qū),來(lái)減少庫(kù)高速緩存的不命中。這是應(yīng)用設(shè)計(jì)人員應(yīng)該做到的:SQL語(yǔ)句或PL/SQL塊的文本必須每一個(gè)字符都等價(jià),包括大小寫和空格。 檢查、調(diào)整數(shù)據(jù)字典高速緩存 在應(yīng)用已經(jīng)運(yùn)行,數(shù)據(jù)庫(kù)達(dá)到了一種相對(duì)“穩(wěn)定的狀態(tài)”之后,可以通過(guò)動(dòng)態(tài)性能表V$ROWCACHE來(lái)查詢數(shù)據(jù)字典高速緩存的活動(dòng)。 V$ROWCACHE表中以下幾列反映了數(shù)據(jù)字典高速緩存的使用和有效性: GETS列,它的值顯示請(qǐng)求相應(yīng)項(xiàng)的總數(shù)。 GETMISSES列,它的值顯示造成高速緩存不命中的數(shù)據(jù)請(qǐng)求數(shù)。
   一般來(lái)說(shuō),數(shù)據(jù)字典高速緩存總不命中數(shù)與總存取數(shù)之比應(yīng)當(dāng)接近零,本例為1.616%,說(shuō)明數(shù)據(jù)字典高速緩存命中率比較高,該比率假如大于10%,甚至在應(yīng)用過(guò)程中該比率還在增長(zhǎng)時(shí),就應(yīng)當(dāng)立即通過(guò)增加初始化參數(shù)shared_pool_size的值,來(lái)提高數(shù)據(jù)字典高速緩存可用的內(nèi)存數(shù)量,從而減少這種不命中。
檢查、調(diào)整對(duì)話信息占用共享池的大小 多線程服務(wù)器答應(yīng)進(jìn)程共享內(nèi)存和連接,能支持大量用戶同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)。使用多線程服務(wù)器結(jié)構(gòu)時(shí),需要將共享池分得大一些以容納對(duì)話信息??梢酝ㄟ^(guò)動(dòng)態(tài)性能表V$SESSTAT來(lái)查詢Oracle收集對(duì)話信息使用的總內(nèi)存統(tǒng)計(jì)。 V$SESSTAT表中session memory列,顯示分配給對(duì)話的內(nèi)存字節(jié)數(shù)。 max session memory列,顯示分配給對(duì)話的最大內(nèi)存數(shù)。
   第二個(gè)結(jié)果比第一個(gè)結(jié)果大,但第一個(gè)結(jié)果能更好地估計(jì)共享內(nèi)存應(yīng)該多大,除非所有對(duì)話幾乎在同一時(shí)間都達(dá)到最大分配。假如共享池不夠,可以通過(guò)增加初始化參數(shù)shares_pool_size的值來(lái)增加。本例中共享池的大小為52428800,容納對(duì)話信息綽綽有余。調(diào)整緩沖區(qū)高速緩存 Oracle啟動(dòng)后不斷收集和統(tǒng)計(jì)數(shù)據(jù)存取的情況,并將其存放在動(dòng)態(tài)性能表V$SYSSTAT中。表中對(duì)調(diào)整緩沖區(qū)高速緩存有用的為以下幾項(xiàng)統(tǒng)計(jì): dbblock gets 該統(tǒng)計(jì)值為數(shù)據(jù)請(qǐng)求的總數(shù); consistent gets 該統(tǒng)計(jì)值為通過(guò)對(duì)內(nèi)存緩沖區(qū)存取即能滿足的請(qǐng)求數(shù); physical reads 該統(tǒng)計(jì)值為磁盤文件存取的總數(shù)。 下面語(yǔ)句可以監(jiān)控在一段時(shí)間內(nèi)V$SYSSTAT表中的統(tǒng)計(jì):  
  用以下公式計(jì)算緩沖區(qū)高速緩存的命中率 :命中率=1-( physical reads /(db block gets+ consistent gets))。根據(jù)以上查詢出的統(tǒng)計(jì)數(shù)據(jù),計(jì)算出緩沖區(qū)高速緩存的存取命中率為99.198%。
   該例中,命中率很高,說(shuō)明緩沖區(qū)高速緩存夠用,性能良好。假如高速緩存大到足以容納最經(jīng)常存取的數(shù)據(jù),在保持高命中率的前提下,可以通過(guò)適當(dāng)減少初始化參數(shù)db_block_buffers的值來(lái)減少高速緩存的大小,從而可將省出來(lái)的內(nèi)存用于其他Oracle內(nèi)存結(jié)構(gòu)。假如命中率低于70%的話,性能就會(huì)造成下降,就應(yīng)該立即通過(guò)增加初始化參數(shù)db_block_buffers的值(它的最大值為65535),來(lái)擴(kuò)大緩沖區(qū)高速緩存的大小。 重新分配內(nèi)存 經(jīng)過(guò)上述對(duì)Oracle內(nèi)存結(jié)構(gòu)分配的調(diào)整,可以再次對(duì)庫(kù)高速緩存、數(shù)據(jù)字典高速緩存和緩沖區(qū)高速緩存的性能作出評(píng)估。假如有可能減少某種結(jié)構(gòu)的內(nèi)存消耗,就可以考慮給其他結(jié)構(gòu)多分配一些內(nèi)存,以得到增加可用內(nèi)存的好處。但要注重,經(jīng)過(guò)調(diào)整后的Oracle內(nèi)存結(jié)構(gòu),假如使SGA過(guò)大而不能全部填入主存,就可能會(huì)使操作系統(tǒng)引起過(guò)度調(diào)頁(yè)或分配,從而降低性能。 在重新分配內(nèi)存的過(guò)程中,假如發(fā)現(xiàn)要取得Oacle最佳內(nèi)存結(jié)構(gòu)十分困難,就需要考慮花費(fèi)資金,通過(guò)在計(jì)算機(jī)中增加更多的內(nèi)存來(lái)進(jìn)一步改進(jìn)性能。


上一篇:Oracle數(shù)據(jù)庫(kù)中大型表查詢優(yōu)化研究

下一篇:Oracle使用ANYDATA列對(duì)數(shù)據(jù)串行化方法

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 成人免费在线看片 | 日韩一级免费 | 五月婷婷av| 亚洲视频在线观看免费 | japanhd熟睡侵犯| 日韩欧美在线一区 | 日韩三级电影视频 | 综合久草| 国产精品久久久久一区二区三区 | 色欧美综合 | 一区二区三区在线 | 精品国产高清一区二区三区 | 在线观看黄色av | 国产高清精品一区二区三区 | 亚洲久草在线 | 精品亚洲一区二区三区 | 欧美日日干 | www.欧美精品| 国外成人在线视频 | 国产综合在线视频 | 日批视频在线播放 | 一区二区三区在线 | 久久高清 | 日韩精品观看 | 先锋影音在线 | 欧美视频在线一区 | 国产午夜久久 | 福利电影在线观看 | 天天干 夜夜操 | 国产精品嫩草99av在线 | 日本在线黄色 | 国产精品天堂 | 99免费精品 | 久久免费国产精品 | 一级毛片视频 | 欧美怡红院视频一区二区三区 | 日本亚洲天堂 | 精品一二区 | 国产精品国产a级 | 成人国产精品久久久 | 久久天堂av综合合色蜜桃网 |