Oracle10g - Private Strand Flush Not Complete

zhulch發表於2007-02-01

收藏

[@more@]

關於Oracle10g - Private Strand Flush Not Complete

今天抽空做了一下Oracle 10gR2的Data Guard測試,結果在Alert Log中發現了“Private Strand Flush Not Complete”資訊,感覺有點怪。
先描述一下系統環境,
1>伺服器 IBM p55A上的兩個LAPR
# oslevel -s
5300-04-00
2>資料庫 Oracle 10gR2
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Productio
NLSRTL Version 10.2.0.1.0 - Production
當在Primary Database端執行日誌切換時,發現Alert Log裡報“Private Strand Flush Not Complete”
SQL> alter system switch logfile;
System altered.
Alert Log中的相應資訊:
Tue Oct 31 02:12:49 2006
Thread 1 cannot allocate new log, sequence 27
Private strand flush not complete
Current log# 2 seq# 26 mem# 0: /oradata/oracle/oradata/tktst/redo02.log
Thread 1 advanced to log sequence 27
Current log# 3 seq# 27 mem# 0: /oradata/oracle/oradata/tktst/redo03.log
Private strand flush not complete”的大致意思是說在發生日誌切換時(Switch Logfiile),沒有將所有的Redo資訊寫到Redo Log中。有點類似“Checkpoint not Complete”

“Strand”(Oracle 10g中的新東東),個人理解就是Redo中的Latch機制,可以提高Redo Buffer系統併發性。(在Oracle9i 中使用log_parallelism引數) Private strand”,系統有也有Shared Strand。

相對於傳統的實時(Real-Time)記錄Redo資訊,Oracle10g中提供類似批處理(Bulk)處理機制,可以將Redo記錄在事務提交時(commit)批次寫入Log Buffer。
那麼在Oracle10g的Alert Log中發現“Private Strand Flush Not Complete”資訊,這是與Oracle系統的內部Redo快取管理相關。
總之,如果“Private Strand Flush Not Complete”不是頻繁出現,就當為普通訊息好了,其他一切照舊。
關於Oracle10g中的“Strand”,可以查metalink上的Note:372557.1
“Strand”的分配數量於機器的CPU相關,啟動是有兩個Strands,其中一個Strand服務於Active Redo。相對於Alert Log中的“

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7318139/viewspace-896593/,如需轉載,請註明出處,否則將追究法律責任。

相關文章