Which statement is true about the Log Writer process?
A.
It writes when it receives a signal from the checkpoint process (CKPT).
B.
It writes concurrently to all members of multiplexed redo log groups.
C.
It writes after the Database Writer process writes dirty buffers to disk.
D.
It writes when a user commits a transaction.
Explanation:
http://docs.oracle.com/cd/B19306_01/server.102/b14220/process.htm (see log writer
process (LGWR))
D
LGWR writes one contiguous portion of the buffer to disk. LGWR writes:
•A commit record when a user process commits a transaction
•Redo log buffers
•Every three seconds
•When the redo log buffer is one-third full
•When a DBWn process writes modified buffers to disk, if necessary
D as pointed out by Sayed
D
D IS CORRECT.
C is wrong because LGWR writes before the Database Writer process writes dirty buffers to disk.
infact if DBW discovers that some redo records have not been written, it signals LGWR to write the records to disk, and waits for LGWR to complete before writing the data buffers to disk.
Why is it B wrong, tho? D is perfectly fine, but why not B?
LGWR writes concurrently to group 1 (members A_LOG1 and B_LOG1), then writes concurrently to group 2 (members A_LOG2 and B_LOG2), then writes to group 1, and so on. LGWR never writes concurrently to members of different groups.
from
https://docs.oracle.com/database/121/CNCPT/physical.htm#CNCPT11305
Answer is D, there is no concept of multiplexd Redo log groups, only have an option for multiplexing of redo log members. The option B is wrong because, log writer won’t write to multiplexed redo groups(multiple redo log groups) concurrently and writes to multiplexed redo memebrs in the same redo log group concurrently.
D
D
http://docs.oracle.com/cd/B19306_01/server.102/b14220/process.htm#i7261
When a user issues a COMMIT statement, LGWR puts a commit record in the redo log buffer and writes it to disk immediately, along with the transaction’s redo entries
D