| Alert Log Messages: Private Strand Flush Not Complete [ID 372557.1] | |||||
| 修改时间01-SEP-2010 类型PROBLEM 状态MODERATED | |||||
In this Document
Symptoms
Cause
Solution
References
Platforms: 1-914CU;
| This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review. |
The message means that we haven't completed writing all the redo information
to the log when we are trying to switch. It is similar in nature to a
"checkpoint not complete" except that is only involves the redo being written to
the log. The log switch can not occur until all of the redo has been
written.
A "strand" is new terminology for 10g and it deals with latches
for redo .
Strands are a mechanism to allow multiple allocation latches
for processes to write redo more efficiently in the redo buffer and is related
to the log_parallelism parameter present in 9i.
The concept of a strand
is to ensure that the redo generation rate for an instance is optimal and that
when there is some kind of redo contention then the number of strands is
dynamically adjusted to compensate.
The initial allocation for the number
of strands depends on the number of CPU's and is started with 2 strands with one
strand for active redo generation.
For large scale enterprise systems the
amount of redo generation is large and hence these strands are *made active* as
and when the foregrounds encounter this redo contention (allocated latch related
contention) when this concept of dynamic strands comes into play.
There
is always shared strands and a number of private strands .
Oracle 10g has
some major changes in the mechanisms for redo (and undo), which seem to be aimed
at reducing contention.
Instead of redo being recorded in real time, it
can be recorded 'privately' and pumped into the redo log buffer on
commit.
Similary the undo can be generated as 'in memory undo' and
applied in bulk.
This affect the memory used for redo management and the possibility to flush
it in pieces.
The message you get is related to internal Cache Redo File
management.
You can disregard these messages as normal
messages.
When you switch logs all private strands have to be flushed to
the current log before the switch is allowed to proceed.
These messages are not a cause for concern unless there is a significant gap
in seq# between the "cannot allocate new log" message and the "advanced to log
sequence" message.
This issue is infact not a bug and is expected behavior.
In some cases, this message can be resolved by increasing db_writer_process
value.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23618092/viewspace-716787/ ,如需转载,请注明出处,否则将追究法律责任。