Oracle对应多个logfile member的配置的运作机制说明如下:
Each member of a log file group is concurrently active—that is,
concurrently written to by LGWR—as indicated by the identical log
sequence numbers assigned by LGWR. In Figure 6-2, first LGWR writes
concurrently to both A_LOG1 and B_LOG1. Then it writes concurrently to
both A_LOG2 and B_LOG2, and so on. LGWR never writes concurrently to
members of different groups (for example, to A_LOG1 and B_LOG2).
Note:
Oracle recommends that you multiplex your redo log files. The loss of
the log file data can be catastrophic if recovery is required. Note
that when you multiplex the redo log, the database must increase the
amount of I/O that it performs. Depending on your configuration, this
may impact overall database performance.
这里有个讨论向redo logfile group里面增加一个慢的member的贴子:
Multiplexing the Redo Log in remote location
writing in the redologs can only be as fast as writing in the slowest
member
This is probably not a good idea unless you have a really fast, fast,
fast network connection to the remote site. It has a high chance of
slowing down database performance.
现在分析两个问题:
另一方面,提交事务时,须冗余日志都写入确认后,才被认为事务提交成功?还是只要其中之一写入确认,就认为事务提交成功
答:需要全部完成才算commit成功。
Oracle 冗余 online redo log,比如一个日志文件的2个副本存放在2个独立存储卷中。两个存储卷性能一样,与无冗余 online redo log 性能有多大差异?
答:由于用一个group里面的不同member是同时写,因此这种情况性能和单个member几乎一样。