Oracle
Oracle 重做日誌緩衝區記憶體與重做日誌文件
在瀏覽 Oracle 架構時,我遇到了以下問題。有人可以幫我回答這個問題嗎?
為什麼我們需要重做日誌緩衝區記憶體和重做日誌文件?為什麼我們不能直接將數據從數據庫緩衝區記憶體中寫入重做日誌文件?
我想您可以在每次修改時將資訊直接寫入重做日誌,但這意味著磁碟上有很多非常小的“寫入”操作。
如果您記憶體它,您至少可以等待下一個“送出”並減少“寫入”。以我的經驗,這個緩衝區不需要非常大,因為在典型的系統上,COMMIT 會經常出現,並且還有其他規則要刷新……
所以回答這個問題:出於性能原因!
**重做日誌緩衝區:**日誌緩衝區是 SGA 中的一個循環緩衝區,用於保存有關對數據庫所做更改的資訊。此資訊儲存在重做條目中。重做條目包含重建或重做通過插入、更新、刪除、創建、更改或刪除操作對數據庫所做的更改所必需的資訊。重做條目主要用於根據需要進行數據庫恢復。
**重做日誌:**恢復操作最關鍵的結構是重做日誌,它由兩個或多個預先分配的文件組成,這些文件儲存對數據庫所做的所有更改。Oracle 數據庫的每個實例都有一個關聯的重做日誌,以在實例發生故障時保護數據庫。
有關數據庫結構的更多資訊,請參閱https://docs.oracle.com/en/