本帖最后由 Yong Huang 于 2011-10-19 14:36 编辑
Fuyuncat has a good article on this topic:
http://www.hellodba.com/reader.php?ID=28&lang=EN
He says the redo copy latch is not used when generating redo entries, but is used when flushing them:
"The transactions using private strand will not request Redo Copy Latch and redo allocation latch of shared strand when generate Redo Entry, just request Redo Copy Latch before flush strand, thus reduced the contentions of those latches, also reduced the CPU workload. "
You can see which transaction uses private strand by checking ktcxbflg in x$ktcxb: "We can identify the transaction used private strands or not by the 13th bit of ktcxbflg in x$ktcxb."
Private redo strands are not used under some conditions, such as when supplemental logging is enabled.
Ref: PRIVATE REDO STRANDS DON'T WORK WHEN SUPPLEMENTAL LOGGING IS ENABLED [Bug 8680790]
Yong Huang