> Yong, if I am reading Oracle documents correctly, redo synch writes are writes that > are triggered by commits and redo writes are all redo writes combined which includes > the former plus log buffer flush involved writes such as buffer 1/3 full, redo size > reaching 1 MB or at log switches and that’s what I have believed for years. > > If this is correct, the latter should be slightly more than the former in our environment. > > But when I looked at statsback, I am apparently wrong. Our statspack on caty shows that > redo writes is always slightly less than redo synch writes in the same snapshot. > > What is your understanding? I'll have to come back to this interesting question later. Last night I did some test on my laptop running 9205 and proves what we understand, i.e. redo writes seems to include both foreground redo writes due to commits and background writes according to the other rules (1/3 or 1MB full). So I don't know the explanation either of what's happening in our databases. My test is single thread though. I'll test again by doing DMLs in multiple sessions. Somebody asked exactly the same question on Metalink but got no meaningful answer (https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=FOR&p_id=424723.995). > I have never read into that kind of detail, could this be the side effect of oracle doing batch commit? > That is, redo sync writes are number of write oracle try to do, > Redo writes are the actual number of write oracle did (issued pwrite/kaio_write to the underlying OS)? I looked at this again. If you check v$sesstat for these two stats, you'll see redo writes is understandably only for LGWR. But redo synch writes statistic is for non- background, server processes. Because server processes can never write to redo logfiles, we can only infer that redo synch writes is probably better called requests sent to LGWR to write redo to logfiles. Since many sessions can send this request to LGWR at exactly the same moment, LGWR can have less redo writes than redo synch writes (group commits). The fact that redo synch writes is for server processes only is consistent with the fact that the redo synch writes value is not too far off from log file sync waits, which is also for server processes. (But on our DB, log file sync waits is about one thousandth less than redo synch writes. Oracle sometimes misses counting the wait events?)