RDBMS 12.2.0.1
在AWR中看到enq: RO - fast object reuse 和 CR - block range reuse ckpt等待事件,但是不是很多。查询了一些文档,整理出来。
enq: RO - fast object reuse ,是和drop / truncate动作有关。
官方文档:
Resolving Issues Where 'enq: RO - fast object reuse' Contention Seen During Drop or Truncate Operations (Doc ID 1475659.1)
"enq: RO - fast object reuse"
The RO enqueue known as "Multiple object resue" enqueue, is used to synchronise operations between foreground process and a background process such as DBWR or CKPT. It is typically used when dropping objects or truncating tables.
Following is the sequence of events When a truncate/drop occurs:
- Foreground process acquires the "RO" enqueue in exclusive mode
- Cross instance calls (or one call if it is a single object) are issued ("CI" enqueue is acquired)
- CKPT processes on each of instances requests the DBWR to write the dirty buffers to the disk and invalidate all the clean buffers.
- After DBWR completes writing all blocks, the foreground process releases the RO enqueue.
Application Logic
Since this is a concurrency issue, logic and processes should be examined to eliminate needless DROP or TRUNCATE commands.
You may also consider the use of temporary tables as an alternative as the same mechanism used does not apply to temporary objects
Another option is to reschedule the actions causing the problem to period of lower concurrency.
--
CR - block range reuse ckpt 等待时间,网上看,是和一些并行有关(官方文档和MOS上未查看到,以后有机会再补充)。
END。