答案是DE。
但是为什么呢?
为什么A和F错了?
答案 0 :(得分:1)
为什么A和F错了?
这不是很明显,但是《 Oracle概念指南》确实有解释。您应该check it out.
反正......
A。每当发生COMMIT时,LGWR总是写入重做日志。
用户提交事务是触发LGWR写入重做日志的事情之一。因此,似乎A是正确的。但是概念指南说:“当活动频繁时,LGWR可以使用组提交”。。如果在LGWR仍写入重做日志时有几个用户提交了他们的事务,则这些提交将保留在重做缓冲区中,然后在LGWR释放时将所有这些提交都写入。
因此,每次提交都没有一次写操作。这就是为什么E是正确的。
F。当DBWR写入脏缓冲区时,LGWR总是写入重做日志。
概念指南说:”“在DBW可以写入脏缓冲区之前,数据库必须将与更改缓冲区有关的重做记录写入磁盘(预写协议)。如果DBW发现某些重做记录,尚未写入,它会向LGWR发出信号,将记录写入磁盘,并等待LGWR完成,然后再将数据缓冲区写入磁盘。”
所以F是不正确的,因为LGWR不一定总是在DBWR写入时总是写入。这就是为什么D是正确的。