溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么理解oracle等待事件enq

發(fā)布時間:2021-11-08 16:23:03 來源:億速云 閱讀:226 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要講解了“怎么理解oracle等待事件enq”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么理解oracle等待事件enq”吧!

Enqueue 是一種保護共享資源的鎖定機制,避免因并發(fā)操作而損壞數(shù)據(jù),Enqueue 采用排隊機制,即 FIFO(先進(jìn)先出)來控制資源的使用。在任何需要讀取控制文件的動作時,就會發(fā)生等待事件enq: CF – contention,CF locks被用來串行化controlfile事務(wù),在讀和寫控制文件的時候使用該鎖。通常該鎖的分配時間非常短,比如在下面事件中會分配該鎖,那么也就可能發(fā)生enq: CF – contention等待事件:

l  Checkpoint

l  Redo Logfile的切換

l  Redo lofileg的歸檔

l  執(zhí)行實例恢復(fù)

l  操作redo logfile

l  熱備開始和結(jié)束

l  Nologging 事物的DML操作

如果某個事物設(shè)置了nologging屬性,那么如下動作更容易產(chǎn)生該等待事件:

direct load (SQL*Loader)

direct-load INSERT

CREATE TABLE ... AS SELECT

CREATE INDEX

ALTER TABLE ... MOVE PARTITION

ALTER TABLE ... SPLIT PARTITION

ALTER INDEX ... SPLIT PARTITION

ALTER INDEX ... REBUILD

ALTER INDEX ... REBUILD PARTITION

INSERT, UPDATE, and DELETE on LOBs in   NOCACHE NOLOGGING mode stored out of line

       查詢該等待事件的holder

select l.sid, p.program, p.pid, p.spid,   s.username, s.terminal, s.module, s.action, s.event, s.wait_time,   s.seconds_in_wait, s.state

from v$lock l, v$session s, v$process p

where l.sid = s.sid

and s.paddr = p.addr

and l.type='CF'

and l.lmode >= 5;

       查詢該等待事件的waiter

select l.sid, p.program, p.pid, p.spid,   s.username, s.terminal, s.module, s.action, s.event, s.wait_time,   s.seconds_in_wait, s.state

from v$lock l, v$session s, v$process p

where l.sid = s.sid

and s.paddr = p.addr

and l.type='CF'

and l.request >= 5;

       原因分析及解決辦法:

如果holder是后臺進(jìn)程,比如lgwr,ckpt,arcn等,那么檢查redo log大小,切換頻次,檢查fast_start_mttr_target的設(shè)置,檢查歸檔路徑是否可用。

如果是holder是前臺進(jìn)程,那么大都是由于nologging的事物上正在發(fā)生DML或者DDL,此時由于nologging屬性,那么oracle需要向控制文件中記錄unrecoverable SCN,典型的是伴隨enq: CF – contention的通常還有control file parallel write,這個會話在寫的過程中持有CF locks,其它會話如果也要更新控制文件的話,那么就要等待了。

感謝各位的閱讀,以上就是“怎么理解oracle等待事件enq”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么理解oracle等待事件enq這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI