Q: some documentation talks about non-checkpoint based DBWR writes, does anyone know how to produce an example of that?
I’ve only seen writes based on a checkpoint (row in X$ACTIVECKPT) so far.
x$kcbbes Check incremental checkpoints (259586.1)
TanelPoder’s script @kcbbes
SQL> @kcbbes List background I/O write priorities and reasons from X$KCBBES... (X$KCBBES = Kerncel Cache Buffers dB writer Event Statistics) INDX REASON_NAME REASON_BUFFERS REASON% PRIORITY_NAME PRIORITY_BUFFERS PRIO% IO_PROC_STATUS IO_COUNT STATUS% ---------- ---------------------- -------------- ---------- ---------------- ---------------- ---------- ------------------------ ---------- ---------- 0 Invalid Reason 0 Invalid Priority 0 Queued For Writing 3982646704 48 1 Ping Write 269635 0 High Priority 254978412 3.1 Deferred (log file sync) 0 2 High Prio Thread Ckpt 0 Medium Priority 4112475022 49.6 Already being written 380103989 4.6 3 Instance Recovery Ckpt 24999170 .3 Low Priority 3926243756 47.3 Buffer not dirty 109738 0 4 Med Prio (incr) Ckpt 4087475852 49.3 0 Buffer is pinned 87632 0 5 Aging Writes 0 0 I/O limit reached 0 6 Media Recovery Ckpt 0 0 Buffer logically flushed 0 7 Low Prio Thread Ckpt 3235829 0 0 No free IO slots 137 0 8 Tablespace Ckpt 1091896 0 0 3930748990 47.4 9 Reuse Object Ckpt 1122729 0 0 0 10 Reuse Block Range Ckpt 164534171 2 0 0 11 Limit Dirty Buff Ckpt 3750179631 45.2 0 0 12 Smart Scan Ckpt 254708777 3.1 0 0 13 0 0 0 14 Direct Path Read Ckpt 6079500 .1 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 rows selected.