欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

ORACLE的bufferbusywait等待事件怎么解決

本文小編為大家詳細(xì)介紹“ORACLE的buffer busy wait等待事件怎么解決”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“ORACLE的buffer busy wait等待事件怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

創(chuàng)新互聯(lián)公司網(wǎng)站設(shè)計(jì),為客戶量身定制各類網(wǎng)站建設(shè)業(yè)務(wù),包括企業(yè)型、電子商務(wù)型、自適應(yīng)網(wǎng)站建設(shè)、行業(yè)門戶型等各類網(wǎng)站,實(shí)戰(zhàn)經(jīng)驗(yàn)豐富,成功案例眾多。以客戶利益為出發(fā)點(diǎn),創(chuàng)新互聯(lián)公司網(wǎng)站制作為客戶規(guī)劃、定制設(shè)計(jì)符合企業(yè)需求、帶有營銷價(jià)值的網(wǎng)絡(luò)建站方案認(rèn)真對(duì)待每一個(gè)客戶,我們不用口頭的語言來吹擂我們的優(yōu)秀,近1000家的成功案例見證著我們的成長(zhǎng)。

1. ORACLE 訪問Data buffer block的過程:
1)依據(jù)數(shù)據(jù)塊的地址計(jì)算出數(shù)據(jù)塊所在的bucket
2)獲得保護(hù)這個(gè)bucket的cbc latch
3)在這個(gè)鏈表上找尋我們需要的數(shù)據(jù)塊,找到后,pin這個(gè)buffer(讀取s,修改x)
4)釋放cbc latch
5)讀取/修改數(shù)據(jù)塊的內(nèi)容
6)獲取cbc latch
7)unpin這個(gè)buffer
8)釋放cbc latch

2.buffer busy wait 等待事件形成原因:
(1). 讀讀
當(dāng)一個(gè)session 讀取一個(gè)block時(shí),該block在cache中不存在,需要從disk讀取至cache,此時(shí)其他session 想要讀取該block時(shí),就會(huì)發(fā)生buffer busy wait 等待事件。

(2). 寫寫
當(dāng)一個(gè)session 修改block時(shí),首先會(huì)對(duì)該block 進(jìn)行buffer pin(修改x),因此其他session在對(duì)該block進(jìn)行修改時(shí)都要等待上一個(gè)session unpin buffer。

(3). 讀寫
1)當(dāng)讀取的進(jìn)程發(fā)現(xiàn)內(nèi)存塊正在被修改的時(shí)候(如果有x模式的buffer pin,就說明正在被修改),它只能等待,它不能clone塊,因?yàn)檫@個(gè)時(shí)候內(nèi)存塊正在變化過程中ing,這個(gè)時(shí)候clone是不安全的。很多人說,oracle里讀寫是互相不阻塞的,oracle可以clone內(nèi)存塊,把讀寫的競(jìng)爭(zhēng)分開。其實(shí)要看情況,在讀的時(shí)候發(fā)現(xiàn)內(nèi)存塊正在被寫,是不能夠clone的,因?yàn)槭遣话踩摹_@個(gè)時(shí)候讀的進(jìn)程只能等待buffer busy waits。
2)當(dāng)寫的進(jìn)程發(fā)現(xiàn)內(nèi)存塊正在被讀,這個(gè)時(shí)候,讀是不阻塞寫的,因?yàn)镺RACLE可以很容易的clone出一個(gè)xcur的數(shù)據(jù)塊,然后在clone的塊上進(jìn)行寫,這個(gè)時(shí)候clone是安全的,因?yàn)樽x內(nèi)存塊的進(jìn)程不會(huì)去修改數(shù)據(jù)塊,保證了clone的安全性。

3.buffer busy wait 常見發(fā)生原因
(1). 性能差的QUERY訪問相同的block 并發(fā)執(zhí)行時(shí),產(chǎn)生大量的物理讀。 
(2). freelist 設(shè)置過小,導(dǎo)致并發(fā)insert table時(shí),頻繁掃描freelist,產(chǎn)生爭(zhēng)用。
(3). 大量session 并發(fā)修改相同的index block

4.常用解決方法
(1). tuning sql 減少物理讀
(2). 刪除一些hot row 并重新insert 至其他block中
(3). 如果table 較小,可以考慮將其數(shù)據(jù) cache至keep data buffer中
(4). 減少low cardinality index的使用。 避免index block 爭(zhēng)用。
(5). 增加extents size。 避免oracle頻繁分配空間而造成的extent map 爭(zhēng)用。

5. 產(chǎn)生等待的block 類型及解決方法

Block Type Possible Actions
data blocks Eliminate HOT blocks from the application.                        Check for repeatedly scanned / unselective indexes.                        Change PCTFREE and/or PCTUSED. Check for 'right-                        hand-indexes' (indexes that get inserted into at the                         same point by many processes). Increase INITRANS.                         Reduce the number of rows per block.
segment header Increase of number of FREELISTs.                         Use FREELIST GROUPs (even in single instance this                         can make a difference).
freelist blocks Add more FREELISTS. In case of Parallel Server                         make sure that each instance has its own FREELIST                         GROUP(s).
undo header Add more rollback segments. 

6.相關(guān)命令

 SELECT p1 "File", p2 "Block", p3 "Reason"
    FROM v$session_wait 
   WHERE event='enq: TX - row lock contention';
   
select objd, file#,block#,class#,ts#,cachehint,status,dirty from v$bh where file#=546 and block#=1289912;

select * from dba_objects where object_id = 124269

select current_obj#,obj.object_name,count(*) from dba_hist_active_sess_history , dba_objects obj
where event='buffer busy waits' 
and sample_time>=to_date('2017-07-09 00:00:00','yyyy-mm-dd hh34:mi:ss') 
and sample_time<=to_date('2017-07-10 00:00:00','yyyy-mm-dd hh34:mi:ss') 
and obj.data_object_id = current_obj#
group by current_obj#,obj.object_name

讀到這里,這篇“ORACLE的buffer busy wait等待事件怎么解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享文章:ORACLE的bufferbusywait等待事件怎么解決
當(dāng)前URL:http://chinadenli.net/article32/iecgpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司動(dòng)態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站