Oracle Study之--Oracle等待事件(7)
創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為景德鎮(zhèn)等服務(wù)建站,景德鎮(zhèn)等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為景德鎮(zhèn)企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
Free buffer waits
當(dāng)一個會話將數(shù)據(jù)塊從磁盤讀到內(nèi)存中時,它需要到內(nèi)存中找到空閑的內(nèi)存空間來存放這些數(shù)據(jù)塊,當(dāng)內(nèi)存中沒有空閑的空間時,就會產(chǎn)生這個等待;除此之外,還有一種情況就是會話在做一致性讀時,需要構(gòu)造數(shù)據(jù)塊在某個時刻的前映像(p_w_picpath),此時需要申請內(nèi)存來存放這些新構(gòu)造的數(shù)據(jù)塊,如果內(nèi)存中無法找到這樣的內(nèi)存塊,也會發(fā)生這個等待事件。
當(dāng)數(shù)據(jù)庫中出現(xiàn)比較嚴(yán)重的free buffer waits等待事件時,可能的原因是:
(1)data buffer 太小,導(dǎo)致空閑空間不夠
(2)內(nèi)存中的臟數(shù)據(jù)太多,DBWR無法及時將這些臟數(shù)據(jù)寫到磁盤中以釋放空間
這個等待事件包含2個參數(shù):
File#: 需要讀取的數(shù)據(jù)塊所在的數(shù)據(jù)文件的文件號。
Block#: 需要讀取的數(shù)據(jù)塊塊號。
案例分析:
11:14:33 SYS@ prod>show parameter cache NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_16k_cache_size big integer 24M db_cache_advice string ON db_cache_size big integer 16M db_keep_cache_size big integer 0 db_recycle_cache_size big integer 12M
11:21:17 SYS@ prod>conn scott/tiger Connected. 11:23:16 SCOTT@ prod>begin 11:25:04 2 for i in 1..100000 loop 11:25:04 3 insert into t1 values (i); 11:25:04 4 end loop; 11:25:04 5 end; 11:25:04 6 / PL/SQL procedure successfully completed. 11:23:29 SYS@ prod>conn tom/tom Connected. 11:23:38 TOM@ prod>create table t1 as select * from scott.t1; Table created. Elapsed: 00:00:02.19 11:23:52 TOM@ prod>begin 11:24:59 2 for i in 1..100000 loop 11:24:59 3 insert into t1 values (i); 11:24:59 4 end loop; 11:24:59 5 end; 11:24:59 6 / PL/SQL procedure successfully completed. 11:25:12 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT,EVENT_ID from v$system_event 2* where event like '%buffer%' EVENT TOTAL_WAITS AVERAGE_WAIT EVENT_ID ---------------------------------------------------------------- ----------- ------------ ---------- latch: cache buffers chains 3 .2 2779959231 free buffer waits 14 .86 2701153470 buffer busy waits 2 .23 2161531084 log buffer space 7 40.42 3357856061 latch: cache buffers lru chain 17 .32 3401628503 buffer deadlock 11 .03 218992928 6 rows selected.
Latch free
在10g之前的版本里,latch free 等待事件代表了所有的latch等待,在10g以后,一些常用的latch事件已經(jīng)被獨立了出來:
11:25:2name1 SYS@ prod>select name from v$event_name where name like 'latch%' order by 1; NAME ---------------------------------------------------------------- latch activity latch free latch: Change Notification Hash table latch latch: In memory undo latch latch: MQL Tracking Latch latch: PX hash array latch latch: Undo Hint Latch latch: WCR: processes HT latch: WCR: sync latch: cache buffer handles latch: cache buffers chains latch: cache buffers lru chain latch: call allocation latch: change notification client cache latch latch: checkpoint queue latch latch: enqueue hash chains latch: gc element NAME ---------------------------------------------------------------- latch: gcs resource hash latch: ges resource hash list latch: lob segment dispenser latch latch: lob segment hash table latch latch: lob segment query latch latch: messages latch: object queue header operation latch: parallel query alloc buffer latch: redo allocation latch: redo copy latch: redo writing latch: row cache objects latch: session allocation latch: shared pool latch: undo global data latch: virtual circuit queues 33 rows selected. 11:39:21 SYS@ prod>select EVENT#,EVENT_ID,NAME,PARAMETER1,PARAMETER2,PARAMETER3 from v$event_name 2* where name like '%latch free%' EVENT# EVENT_ID NAME PARAMETER1 PARAMETER2 PARAMETER3 ---------- ---------- ------------------------------ ---------- -------------------- ------------------------------ 402 3474287957 latch free address number tries 409 2530878290 wait list latch free address number tries 11:32:33 SYS@ prod>desc v$latchname Name Null? Type ----------------------------------------------------------------- -------- -------------------------------------------- LATCH# NUMBER NAME VARCHAR2(64) HASH NUMBER 所以latch free 等待事件在10g以后的版本中并不常見,而是以具體的Latch 等待事件出現(xiàn)。這個等待事件有三個參數(shù):Address: 會話等待的latch 地址。Number: latch號,通過這個號,可以從v$latchname 視圖中找到這個latch 的相關(guān)的信息,Tries: 會話嘗試獲取Latch 的次數(shù)。 11:34:25 SYS@ prod>select * from v$latchname 11:34:36 2 where name like '%buffer%'; LATCH# NAME HASH ---------- ---------------------------------------------------------------- ---------- 33 SGA IO buffer pool latch 2719726273 63 IPC stats buffer allocation latch 1449990452 106 KJC global post event buffer 3098969798 145 cache buffers lru chain 3559635447 146 buffer pool 510014793 150 cache buffers chains 3563305585 151 cache buffer handles 892398878 196 media recovery process out of buffers 2731251867 197 mapped buffers lru chain 93631960 208 lock DBA buffer during media recovery 3620457631 350 virtual circuit buffers 1577520421 378 parallel query alloc buffer 291345605 416 p_w_picpath handles of buffered messages latch 3223585260 476 buffer pin latch 3925519355 14 rows selected.
網(wǎng)站題目:OracleStudy之--Oracle等待事件(7)
文章鏈接:http://chinadenli.net/article12/joehgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)、軟件開發(fā)、微信小程序、云服務(wù)器、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)