Oracle
Oracle 在非常大的事務期間的行為
我了解,如果事務大到足以溢出 Oracle 數據庫上的所有重做日誌,並且數據庫處於
ARCHIVELOG
模式,則事務將等到歸檔日誌文件被寫入後再繼續。在事務溢出重做日誌並且數據庫處於
NOARCHIVELOG
模式的情況下,Oracle 如何表現?
嚴格來說,你不能溢出重做日誌,因為它們以循環的方式無休止地重複使用。但是,在該
ARCHIVELOG
模式下,日誌文件在歸檔之前無法重複使用,因此如果您填充重做日誌的速度比歸檔速度快,則可能會出現必須等待歸檔的情況。在該
NOARCHIVELOG
模式下沒有這樣的限制,所以Oracle只會以循環的方式一個接一個地重寫日誌文件。在任何一種情況下,在日誌文件切換期間也會有一個等待,因為必須在下一個日誌被覆蓋之前執行數據庫檢查點。
順便說一句,這在管理手冊中有完整的描述。