oracle 歸檔日誌

2021-06-28 02:21:25 字數 1116 閱讀 3900

日誌檔案概述

oracle 引入重做日誌的原因是為了進行資料恢復。在資料庫執行過程中,使用者更改的資料會暫時存放在資料庫快取記憶體區,而為了提高寫資料庫的速度,不是一旦有資料變化,就把變化的資料寫到資料檔案中,因為頻繁的讀寫磁碟檔案使得資料庫系統效率低下,所以,要等到資料庫高速緩衝區中的資料達到一定量或者滿足一定條件時,dbwr程序才會將變化了的資料提交到資料庫,也就是bdwr將變化了的資料寫到資料檔案中。這種情況下,如果在dbwr把變化了的更改寫到資料檔案之前發生了宕機。那麼資料庫高速緩衝區的資料就會全部丟失,如果在資料庫重新啟動後無法恢復這部分這部分使用者更改了的資料,顯然是不合適的。

而重做日誌就是吧使用者變化了的資料首先儲存起來,其中lgwr程序負責把使用者更改的資料先寫到重做日誌檔案中。在資料庫原理課程課程中,這種機制也加日誌寫優先。這樣在資料庫重啟時,資料庫系統會從重做日誌中讀取這些變化了的資料,將使用者更改的資料提交到資料庫中,寫入資料檔案。

重做日誌結構

為了提高磁碟效率,並為了防止重做日誌檔案的損壞,oracle引入了一種重做日誌結構,如上圖

在該圖中,重做日誌檔案結構有三個重做日誌組組成,每個重做日誌組中有兩個重做日誌成員,當然還可以有更多日誌組,更多日誌成員。資料庫系統會先使用重做日誌組1,但改組寫滿後,就切換到重做日誌組2,再寫滿後,繼續切換到日誌組3,然後迴圈使用重做日誌組1,oracle已這樣的迴圈方式使用重做日誌組。

oracle 規定每個資料庫例項至少有兩個重做日誌組,每個重做日誌組至少有乙個重做日誌檔案。當重做日誌組有多個日誌成員時,每個日誌成員的內容相同,oracle會同步同乙個重做日誌組中的每個成員。在工作過程中,當乙個重做日誌組寫滿時,就自動切換到他可以找到的其他重做日誌組,並為該日誌組設定乙個日誌序列號。

如果沒有啟動歸檔日誌,當乙個迴圈結束時,再次使用先前的重做日誌組時,會以覆蓋的方式向該組的重做日誌檔案中寫資料。在非歸檔模式下,在重新使用重做日誌組之前,dbwr程序需要將所有資料寫入到資料檔案中,這有時也稱為dbwr歸檔。

如果資料庫處於歸檔模式下,當前正在使用的重做日誌寫滿後,oracle會關閉當前的日誌檔案,arch程序把舊的重做日誌檔案中的資料移動到歸檔重做日誌檔案中。



oracle日誌歸檔

文章出處 感謝作者的分享 oracle 歸檔日誌 oracle可以將聯機日誌檔案儲存到多個不同的位置,將聯機日誌轉換為歸檔日誌的過程稱之為歸檔。相應的日誌被稱為歸檔日誌。一 歸檔日誌 是聯機重做日誌組檔案的乙個副本 包含redo記錄以及乙個唯一的log sequence number 對日誌組中的乙...

Oracle 歸檔日誌

spfile錯誤導致資料庫無法啟動 又一例spfile設定錯誤導致資料庫無法啟動 managing archived redo logs oracle例項和oracle資料庫 oracle體系結構 oracle 使用者 物件許可權 系統許可權 oracle 角色 配置檔案 oracle 聯機重做日誌...

Oracle 歸檔日誌

生產伺服器 主 歸檔日誌路徑 清理oracle歸檔日誌 securecrt登入伺服器,切換使用者oracle,連線oracle root userbeta su oracle oracle userbeta sqlplus nolog sql connect as sysdba 檢查flash re...