Oracle

Oracle 在非常大的事務期間的行為

  • February 25, 2015

我了解,如果事務大到足以溢出 Oracle 數據庫上的所有重做日誌,並且數據庫處於ARCHIVELOG模式,則事務將等到歸檔日誌文件被寫入後再繼續。

在事務溢出重做日誌並且數據庫處於NOARCHIVELOG模式的情況下,Oracle 如何表現?

嚴格來說,你不能溢出重做日誌,因為它們以循環的方式無休止地重複使用。但是,在該ARCHIVELOG模式下,日誌文件在歸檔之前無法重複使用,因此如果您填充重做日誌的速度比歸檔速度快,則可能會出現必須等待歸檔的情況。

在該NOARCHIVELOG模式下沒有這樣的限制,所以Oracle只會以循環的方式一個接一個地重寫日誌文件。

在任何一種情況下,在日誌文件切換期間也會有一個等待,因為必須在下一個日誌被覆蓋之前執行數據庫檢查點。

順便說一句,這在管理手冊中有完整的描述。

引用自:https://dba.stackexchange.com/questions/93833