Почему А и F не так?
Это не очевидно, но в руководстве Oracle Concepts есть объяснения. Вы должны проверить это.
Во всяком случае ....
A. LGWR всегда записывает в журналы повторов каждый раз, когда происходит COMMIT.
Пользователь, совершающий транзакцию, является одной из вещей, которая заставляет LGWR записывать в журнал повторов. Так что может показаться, что А это правильно. Но в Руководстве по концепту написано: «Когда активность высокая, LGWR может использовать групповые фиксации» . Если несколько пользователей фиксируют свои транзакции, в то время как LGWR все еще записывает в журнал повторов, эти фиксации сохраняются в буфере повторов, а затем все они записываются, когда LGWR освобождается.
Итак, не существует одной записи для каждого коммита. Вот почему E правильно.
F. LGWR всегда записывает в журналы повторов, когда DBWR записывает грязный буфер.
Концептуальное руководство гласит: "Прежде чем DBW сможет записать грязный буфер, база данных должна записать на диск записи повторов, связанные с изменениями в буфере (протокол упреждающей записи). Если DBW обнаружит, что некоторые повторные записи не были записаны, он сигнализирует LGWR о записи записей на диск и ожидает завершения LGWR перед записью буферов данных на диск. "
Так что F не соответствует действительности, потому что LGWR не всегда должен писать, когда DBWR пишет, просто иногда. Вот почему D правильно.