国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle數(shù)據(jù)庫(kù)緩沖區(qū)忙等待的原因解析

瀏覽:5日期:2023-11-13 17:14:25
眾多Oracle有關(guān)問(wèn)題中,其中最重要的一個(gè)是緩沖區(qū)忙等待(buffer busy wait)事件。緩沖區(qū)忙等待是I/O-bound Oracle系統(tǒng)中最常見(jiàn)的現(xiàn)象,尤其是在Oracle STATSPACK報(bào)告的前五個(gè)忙等待的讀(順序/分散)系統(tǒng)中,如前5個(gè)定時(shí)事件: % 總和事件等待  時(shí)間(s)消逝時(shí)間--------------------------- ------------ ----------- -----------db文件順序讀 2,5987,146  48.54db文件分散讀25,5193,246  22.04庫(kù)緩沖區(qū)載入死鎖6731,3639.26CPU時(shí)間 2,154 9347.83日志文件平行寫(xiě)  19,157 8375.68 減輕緩沖區(qū)忙等待的主要方式是減少系統(tǒng)中的I/O,這可以通過(guò)SQL使用更少的塊讀(block reads,比如添加索引)的方式得以實(shí)現(xiàn)。即使對(duì)于一個(gè)比較大的db_cache_size,我們也可以減少緩沖區(qū)忙等待的時(shí)間。 為了能夠查看整個(gè)系統(tǒng)的等待事件,我們可以查閱v$system_event性能視圖。這一性能視圖提供了等待事件的名稱,等待事件與時(shí)間的總和,以及每一事件的平均等待時(shí)間。 可以通過(guò)v$waitstat視圖來(lái)查詢導(dǎo)致等待的緩沖區(qū)的類型。這一視圖列出了每一緩沖區(qū)類型的等待,COUNT是類所有的等待總和,TIME是這一類所有等待的時(shí)間總和,如下所示: select * from v$waitstat; 類  COUNT  TIME------------------ ---------- ----------data block19611131870278segment header 34535 159082undo header233632 86239undo block  1886  1706 當(dāng)一個(gè)session訪問(wèn)緩沖區(qū)的塊時(shí),就有可能產(chǎn)生緩沖忙等待。這一緩沖區(qū)忙等待的產(chǎn)生可能由以下的原因造成的: 塊可能被其它的session讀到緩沖區(qū),所以session必須等待塊的讀入結(jié)束。 session可能有與等待的session查詢不協(xié)調(diào)的緩沖塊。 由于緩沖區(qū)忙等待是由不同特定的塊之間的競(jìng)爭(zhēng)而造成的,所以只能通過(guò)識(shí)別哪些塊發(fā)生沖突和沖突產(chǎn)生的原因,你才有可能做出判定,相應(yīng)的調(diào)整包括識(shí)別和消除塊競(jìng)爭(zhēng)的原因。 v$session_wait性能視圖,提供了識(shí)別等待產(chǎn)生原因的方法。 v$session_wait視圖的列代表的緩沖區(qū)忙等待事件如下: P1—與等待相關(guān)的數(shù)據(jù)文件的全部文件數(shù)量。 P2—P1中的數(shù)據(jù)文件的塊數(shù)量。 P3—描述等待產(chǎn)生原因的代碼。 這里是一個(gè)這些值的Oracle數(shù)據(jù)詞典查詢: select  p1 'File #'.  p2 'Block #',  p3 'Reason Code'from  v$session_waitwhere  event = 'buffer busy waits'; 假如以上查詢的結(jié)果顯示一個(gè)塊在忙等待,以下的查詢將顯示這一塊的名稱和類型: select   owner,  segment_name,  segment_typefrom   dba_extentswhere   file_id = &P1and  &P2 between block_id and block_id + blocks -1; 一旦這一塊被識(shí)別,v$segment_statistics性能視圖促使塊水平統(tǒng)計(jì)的實(shí)時(shí)監(jiān)控。這一過(guò)程使得DBA識(shí)別與獨(dú)立列表與索引有關(guān)的問(wèn)題。 我們也可以查詢dba_data_files以確定卷入等待的文件的file_name,方法是使用v$session_wait中的P1。 從v$session_wait中查詢P3(原因編碼)的值可以知道session等待的原因。原因編碼的范圍從0到300,并可以解碼。 在一個(gè)SCUR或XCUR緩沖區(qū)產(chǎn)生且沒(méi)有結(jié)束的改變。 0 塊被讀入緩沖區(qū)。 100 我們想要NEW(創(chuàng)建)一個(gè)塊,但這一塊當(dāng)前被另一session讀入。 110 我們想將當(dāng)前塊設(shè)為共享,但這一塊被另一session讀入,所以我們必須等待read()結(jié)束。 120 我們想獲得當(dāng)前的塊,但其他人已經(jīng)將這一塊讀入緩沖區(qū),所以我們只能等待他人的讀入結(jié)束。 130 塊被另一session讀入,而且沒(méi)有找到其它協(xié)調(diào)的塊,所以我們必須等待讀的結(jié)束。緩沖區(qū)死鎖后這種情況也有可能產(chǎn)生。所以必須讀入塊的CR。 200 我們想新創(chuàng)建一個(gè)block,但其他人在使用,所以我們只好等待他人使用結(jié)束。 210 Session想讀入SCUR或XCUR中的塊,假如塊交換或者session處于非連續(xù)的TX模式,所以等待可能需要很長(zhǎng)的時(shí)間。 220 在緩沖區(qū)查詢一個(gè)塊的當(dāng)前版本,但有人以不合法的模式使用這一塊,所以我們只能等待。 230 以CR/CRX方式獲得一個(gè)塊,但塊中的更改開(kāi)始并且沒(méi)有結(jié)束。 231 CR/CRX掃描找到當(dāng)前塊,但塊中的更改開(kāi)始并且沒(méi)有結(jié)束。 原因編碼 正如我在開(kāi)始時(shí)所說(shuō)的那樣,緩沖區(qū)忙等待是I/O bound系統(tǒng)中最常見(jiàn)的現(xiàn)象。數(shù)據(jù)塊等待導(dǎo)致的I/O競(jìng)爭(zhēng)通常是由當(dāng)掃描相同的索引時(shí),多個(gè)session重復(fù)讀入相同的塊。在這樣的情況下,session 1快速掃描緩沖區(qū)的塊,然后塊從磁盤(pán)被讀入。當(dāng)session 1等待磁盤(pán)讀完成過(guò)程中,其它塊掃描相同的索引,并很快捕捉session 1,并想從磁盤(pán)上讀入相同的塊。由此產(chǎn)生了緩沖區(qū)忙等待。 以下規(guī)則有助于解決提及的當(dāng)處于競(jìng)爭(zhēng)時(shí)的情況: 數(shù)據(jù)塊競(jìng)爭(zhēng)—通過(guò)改變PCTFREE或者PCTUSED值來(lái)識(shí)別和消除程序中的HOT塊,以減少數(shù)據(jù)塊的數(shù)量。 Freelist塊競(jìng)爭(zhēng)—增加FREELISTS值,當(dāng)使用Parellel服務(wù)器時(shí),一定確保每一事例有自己的FREELIST GROUPs。 Segment header競(jìng)爭(zhēng)—增加FREELISTS值,并使用FREELIST GROUPs。 Undo header塊—增加回滾段(rollback segments)的數(shù)量。 好處 緩沖區(qū)忙等待的識(shí)別和解決是比較復(fù)雜和棘手。Oracle提供了v$segment_statistics視圖有助于監(jiān)視緩沖區(qū)忙等待。當(dāng)能夠正確地識(shí)別和修正緩沖區(qū)忙等待的原因時(shí),你所努力的付出一定會(huì)得到回報(bào)的。
主站蜘蛛池模板: 亚洲网美女 | 久久草在线精品 | 欧美福利一区二区三区 | 国产成人免费在线观看 | 久久草在线观看 | 亚洲午夜一区二区三区 | 久久精品免费观看久久 | 三级免费毛片 | 美女又爽又黄视频 | 欧美特级特黄a大片免费 | 久久精品视频久久 | 亚洲mm8成为人影院 亚洲m男在线中文字幕 | 九九成人免费视频 | 欧美一级毛片特黄黄 | 国产成人毛片毛片久久网 | 精品国产成人三级在线观看 | 日本国产精品 | 亚洲欧美自拍视频 | 免费真实播放国产乱子伦 | 91精品成人福利在线播放 | 美女视频网站免费播放视 | 成人男女网18免费0 成人男女网18免费看 | 久久精品香蕉视频 | 在线免费观看国产 | 毛片啪啪视频 | 免费看a级片| 日韩欧美在线视频观看 | 看久久久久毛片婷婷色 | 日韩精品国产一区 | 免费的三级网站 | 爽爽爽爽爽爽a成人免费视频 | 一区二区三区四区产品乱码伦 | 黄色在线不卡 | 国产精品yjizz视频网一二区 | 岛国在线免费观看 | 国产日产欧产精品精品推荐在线 | 99久久精品国产自免费 | 草草视频在线免费观看 | 国产一级视频久久 | 日韩黄色片在线观看 | 亚洲一在线 |