ALTER SYSTEM...SWITCH LOGFILE,或者ALTER SYSTEM...ARCHIVE LOG;日志切換同時也在相對空閑的rac實例中被強制自動切換,以確??苫謴托?。正常情況下,當進程產生的重做無法再在日志緩沖中推進索引時也將發生,因為其已經映射到當前日志文件的最后一個塊。
·log switch觸發的條件
·log switch調用的過程或步驟
·log switches調整的原因
對于oltp環境的用戶來說,通常很難容忍低性能。因此最小化日志切換的頻率和它們的延遲是很重要的。
log file switch completion等待事件是一個日志切換影響的主要指示器。而且,如果日志切換性能很差,log buffer space通常也會立刻出現。調整日志切換的主要目標是最小化 log file switch completion并清除log buffer space。
使用大的日志文件:
推薦使用盡可能大的日志文件,只要方便歸檔和最小化日志切換頻率。當然必須確??刂茩z查點確保可接受的恢復性能。
·大的在線重做日志文件使用的磁盤空間不是問題,每個在線重做日志文件應該駐留在專用的磁盤對上以避免并發訪問,即使是ARCn。
·通常如果使用大的日志文件,歸檔會減少其資源使用的強度。因為減少了聚集重做的威脅。
保持日志文件打開:
調整日志切換最大的潛在位置是打開新的日志文件成員。如果其他進程已經打開了相同文件的文件描述符,open()系統調用將會塊很多,這是因為文件的某些信息已經在內核內存中了。對于裸邏輯卷來說尤其如此,其避免了延遲因為反映裸邏輯卷打開的邏輯卷狀態數據已經寫入了磁盤上的卷組保留區域。
調整控制文件事務:
每次日志切換都將調用兩個控制文件事務,控制文件事務在CF enqueue的保護下執行,因此在寫入控制文件時不需要更多的并發控制。但是仍然需要確保在事務期間系統失敗的可恢復性。
控制文件事務的可恢復性由第一個寫入控制文件第二個塊的恢復結構提供,并在寫入目標塊到控制文件前等待那個寫完成,因此每個控制文件事務至少有兩個寫組成。
而且,如果有多個ACTIVE的控制文件,這些I/O操作將會串行完成。因此提高控制文件事務性能的方法是最小化活動的控制文件數量。大多數情況,使用一個ACTIVE控制文件,通過硬件鏡像保護。并且使用ALTER DATABASE BACKUP CONTROLFILE TO TRACE提供額外的保護。
新聞熱點
疑難解答