enq: RO fast object reuse 和 enq: KO fast object checkpoint
enq: RO fast object reuse
它是用於同步前臺程式與後臺程式(dbwr, ckpt)的。當你truncate或者drop一個物件的時候,前臺程式,首先獲取一個RO enq, 以排它模式。
CKPT程式,請求單物件checkpoint,並請求DBWr寫髒塊,並把buffer裡的塊無效化。DBWR把所有的塊寫完以後, 前臺程式釋放RO enq,這是它使用的過程。
如果有多個session同時truncate/drop就會發生爭用。
truncate, drop之前要把buffer pool刷出去。
D111 2015/4/18 18:55:07
是的
上海2015/4/18 18:55:15
_db_fast_obj_truncate把這個引數關掉,truncate時,這個行為就沒了。
D111- 2015/4/18 18:55:17
所以 ddl操作也是比較費資源的
上海 2015/4/18 18:55:28
要刷出去就要加RO enq.
D111 2015/4/18 18:55:53
直路徑讀之前,也有類似的行為。。。
上海2015/4/18 18:59:11
enq: KO - fast object checkpoint
D103 2015/4/18 19:00:45
恩 研究研究
上海 2015/4/18 19:01:12
在direct path read之前,也要把髒塊先寫進資料檔案, 如果ckpt,dbwr不夠快等原因,就會有KO的等待。
上海2015/4/18 19:02:13
SQL> r
1* select description from v$lock_type where type='KO'
DESCRIPTION
--------------------------------------------------------------------------------
Coordinates checkpointing of multiple objects
D103- 2015/4/18 19:02:18
direct path read 之前為什麼要先寫 髒塊呢
D103 2015/4/18 19:02:28
以為要從磁碟 讀 最新的 是吧
D1112015/4/18 19:02:34
因為不走 buffer cache
上海 2015/4/18 19:02:43
你想,它從資料檔案直接讀。。。不寫髒塊,那不讀錯了呀。
上海 2015/4/18 19:02:46
是的。
D103 2015/4/18 19:02:58
明白
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-1585026/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20210527]enq RO - fast object reuse Final Blocker.txtENQASTObjectBloC
- [20210527]enq KO - fast object checkpoint Final Blocker.txtENQASTObjectBloC
- enq: TX - row lock contentionENQ
- fast-inAST
- RAC中的enq: TS等待ENQ
- Fast Car GameASTGAM
- fast-bevAST
- fail-fast和fail-safeAIAST
- fast-CGI 和 PHP-fpmASTPHP
- Oracle等待事件之enq: TM – contentionOracle事件ENQ
- oracle等待事件之enq: CF – contentionOracle事件ENQ
- 等待事件enq: TX - row lock contention事件ENQ
- [20220518]enq FU - contention等待事件.txtENQ事件
- 【Fast R-CNN】Fast R-CNN (2015) 全文翻譯ASTCNN
- Fail-Fast in JavaAIASTJava
- Fail - Fast機制AIAST
- ASM Fast Mirror ResyncASMAST
- fast planner總結AST
- 故障排除 | enq:TX - index contention等待事件ENQIndex事件
- 奇異的enq: TX - row lock contentionENQ
- enq: TX - index contention基礎理論ENQIndex
- enq: TX - allocate ITL entry等待事件分析ENQ事件
- [譯] Object.assign 和 Object Spread 之爭, 用誰?Object
- TypeScript 中令人迷惑的物件型別:Object、{} 和 objectTypeScript物件型別Object
- 關於enq: TX - allocate ITL entry等待事件ENQ事件
- 效能問題,AWR High Event enq: US - contentionENQ
- ES7 Object.keys,Object.values,Object.entriesObject
- FAST Globular Cluster observation logAST
- ObjectObject
- 介面返回[object,Object]解決方法Object
- oracle 11.2.0.4 rac叢集等待事件enq: TM - contentionOracle事件ENQ
- [20191203]enq: ZA - add std audit table partition.txtENQ
- Oracle Enqueues Wait Events 三 enq: TX - row lock contentionOracleENQAI
- 本動變見間黨段圖完enqENQ
- enq: TX - index contention故障修復一例ENQIndex
- python generator iterator和iterable objectPythonObject
- Azure App object和Service PrincipalAPPObject
- MXRuntimeUtils,替代 [NSObject performSelector object object ]的工具ObjectperformSelector
- Fail-fast 機制分析AIAST