Oracle Architecture – Redo Log Buffer Cache vs Redo Log File

Architectureoracle

While going through the Oracle architecture I got stuck with the below question. Could someone help me answering this?

Why do we need both redo log buffer cache and redo log files? Why can't we write the data directly to redo log files from database buffer cache?

Best Answer

I suppose you could write the information directly to the redo log at each modification, but that would mean a lot of very small 'write' operations on disk.

If you cache this instead you can at least wait the next 'COMMIT' and do less 'writes'. In my experience this buffer does not need to be very large because of this, on a typical system COMMITs will come quite often, and there are other rules to flush as well...

So to answer the question: For performance reasons!