重做日誌及歸檔日誌的工作原理解析

2021-09-20 20:08:46 字數 1006 閱讀 8058

開門見山,先來看張圖(ps:這張圖是我從網上找的):

工作原理:

首先lgwr程序將redo log buffer中的重做資料寫入到redo log中,此時的redo log分組,每當乙個redo log group寫滿時,或者發出switch logfile指令時都會觸發日誌組的切換,當發生日誌組切換時,arc程序會將當前的重做日誌資料寫入歸檔日誌。

要知道,lgwr程序是將記憶體中的資料寫入到重做日誌檔案,這是記憶體讀磁碟寫。而arc程序是將重做日誌檔案寫入到歸檔檔案,是磁碟讀磁碟寫。顯然lgwr程序的讀寫效率或者讀寫速度比arc程序要快,而頻繁發生dml操作的資料庫中,可能會發生歸檔慢,而重做日誌寫入速度快的情況,這就會導致資料庫被hang住,此時資料庫什麼也不做就是等待arc程序將當前重做日誌資料寫入到歸檔檔案。

這時候就要考慮啟動更多的歸檔程序了,通過修改引數log_archive_max_processes來實現。

該引數是動態引數,直接修改即可。

① 檢視當前該引數值

很明顯,當前最大歸檔程序數是4

② 修改歸檔最大程序數為5

③ 通過命令驗證一下

你看,就是這麼簡單!

Oracle 重做日誌歸檔

1 alter system switch logfile是強制日誌切換,不一定就歸檔當前的重做日誌檔案 若自動歸檔開啟,就歸檔當前的重做日誌,若自動歸檔沒有開啟,就不歸檔當前重做日誌。alter system archive log current是歸檔當前的重做日誌檔案,不管自動歸檔有沒有打都歸...

聯機重做日誌檔案與歸檔日誌檔案

日誌檔案分為重做日誌檔案 redo log file 和歸檔日誌檔案 archive log file 重做日誌redo log file是lgwr程序從oracle例項中的redo log buffer寫入的,是迴圈利用的。就是說乙個redo log file group 寫滿後,才寫下乙個。當所...

oracle重做日誌改為歸檔模式

1 檢視資料庫的當前模式 archive log list 注意用sqlplus 黑屏登入,pl developer好像有問題 使用者名稱 sys 密碼 zqs520 as sysdba 2 關閉資料庫 shutdown immediate 3 以載入方式啟動資料庫 startup mount 4 ...