小弟初学oracle体系结构,有个疑问想不通,恭候大侠指教举个例子,当我要在数据库中的工资表做一个变动,执行update后,以下两个事件顺序发生
 ①工资表的数据变化信息在重做日志缓冲区中有个记录
 ②在数据库高速缓冲区中关于工资表的这些数据块被标为脏数据(留待以后写入外存) 然后在要对应两个进程,LGWR和DWRN,LGWR把redo log buffer的关于工资表的变化的日志条目写入到外存的 redo
 log files文件中,而另一方面,DWRN进程要数据库高速缓冲区的脏数据(关于工资表的)写入到 外存的data  files中,这两个进程发生都是有条件的,我就不用说了我想问的是,工资表变化对应的LGWR与DWRN谁先发生?
   一般情况是LGWR,但也可以DWEN先发生(我的理解)
a.如果DWRN先发生,那就是因为DWRN刚好满足了发生的条件,例如DB buffers cache的脏数据大小就在工资表的这些数据块被标为脏数据后立马超过了所设定的限额,因此DWRN就发生了,与此同时,工资表变化对应的LGWR进程由于redo log buffers中的记录还没有达到1MB,不能发生,故DWRN先发生,这样理解合理吗?
b.上面两个进程发生的条件刚好倒过来,是不是就是LGWR先发生?
当然两个进程发生的条件都有很多,有没有哪位大侠给一个好的理解办法