【转】Alert Log Messages: Private Strand Flush Not Complete [ID 372557.1]

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 文章转自:oracle 官网 Modified 01-SEP-2010     Type PROBLEM     Status MODERATED   In this Document  Symptoms  Cause  Solution  References Plat...

文章转自:oracle 官网

Modified 01-SEP-2010     Type PROBLEM     Status 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.

Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.1.0.7 - Release: 10.2 to 11.1
Information in this document applies to any platform.
"Checked for relevance on 04-Dec-2007" 


Private strand flush not complete

Symptoms

"Private strand flush not complete" messages are being populated to the alert log for unknown
reasons.

ALERT LOG EXAMPLE:
>>>
Fri May 19 12:47:29 2006
Thread 1 cannot allocate new log, sequence 18358
Private strand flush not complete
Current log# 7 seq# 18357 mem# 0: /u03/oradata/bitst/redo07.log
Thread 1 advanced to log sequence 18358
Current log# 8 seq# 18358 mem# 0: /u03/oradata/bitst/redo08.log
<<<


>>

Cause

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.

Solution

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. 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Oracle 关系型数据库 Linux
Alert 日志报错:ORA-2730x OS Failure Message: No Buffer Space Available
今天巡检遇到数据库报错 ORA-2730x 错误,数据库版本为Oracle 11204 (x86_64),错误日志如下:
Alert 日志报错:ORA-2730x OS Failure Message: No Buffer Space Available
|
Oracle 关系型数据库 Linux
Alert Log中“Fatal NI connect error 12170”错误
Alert Log中“Fatal NI connect error 12170”错误 Fatal NI connect error 12170.
3916 0
|
SQL Oracle 关系型数据库
alert日志中的两种ORA错误分析
今天在巡检系统的时候,发现alert日志中有两种类型的ora错误。 Errors in file /U01/app/oracle/diag/rdbms/XX/XX/trace/xxdb_j002_20401.
1232 0
|
Oracle 网络协议 关系型数据库
Alert Log中“Fatal NI connect error 12170”错误问题
  定期检查数据库alert log信息,是我们进行数据库日常维护、巡检和故障排除的重要工作手段。数据库系统“带病运行”、“负伤运行”往往是“小病致死”的主要杀手。
1205 0
|
缓存 关系型数据库 Oracle
Thread 1 cannot allocate new log Private strand flush not complete 警告
官方解释如下: CHANGES 切换日志时,所有 private strand 都必须刷新到当前日志,然后才允许继续切换。 CAUSE 此信息表示我们在尝试切换时,尚未完全将所有 redo 信息写入到日志中。
1478 0
|
监控
alert日志中出现ash size的警告
今天查看数据库的alert日志总出现了如下的警告。 Archived Log entry 202 added for thread 1 sequence 202 ID 0x1ed7a02c dest 1: Sat Mar 15 01:37:30 2014 Completed checkpoint up to RBA [0xca.
927 0
[20140311]toad 12 alert log viewer.txt
[20140311]toad 12 alert log viewer.txt 今天使用toad 12版本,无意中发现有一个新功能alert log viewer。
874 0