|
Yong Huang 发表于 2014-1-22 00:34 ![]()
Now I have a new thought. Is it true that "由于SYNC 和 ASYNC 动作都是一样的, 所以它读取 log buffer ...
“ For it to be reused, LGWR would have to ignore LNSn (i.e. acknowledgement from the standby) and continue to do its normal work ”
假设 LGWR读取的 redo record 在 LNS 读取时已经在 log buffer 中找不到了 (reused), LGWR 还是继续等待 LNS 返回信息, 而不是
"ignore" LNS , 那么会发生什么情况呢 ?
LNS 需要(假设)从online redo log中读取 redo record (因为没地方可以读到了) , 还要传输到standby 上, 然后等待RFS读入Standby Redo
Log , 然会返回写入成功的信息给 LNS , 继而返回给LGWR 。 整个过程有两次 disk I/O , 其次就是网络传输 。 相对而言, 若LNS 还是从
log buffer中读到 redo record , 唯一的区别就是少一次 disk I/O 。
所以猜想是不是说服力不够 ?
|
|