重做日誌與歸檔日誌有什麼區別?
歸檔日誌archive log是當數據庫運行在歸檔模式下時,一個redo log file(group)寫滿後,由ARCn進程將重做日誌的內容備份到歸檔日誌文件下,然後這個redo log file(group)才能被下一次使用。
不管數據庫是否是歸檔模式,重做日誌是肯定要寫的。而只有數據庫在歸檔模式下,重做日誌纔會備份,形成歸檔日誌。
一般來說,歸檔日誌結合全備份,用於數據庫出現問題後的恢復使用。
假設你只有兩個組A、B,如果某種情況下,A正在備份,未結束,還不能繼續使用,而B也寫滿了,這個時候,數據庫就會出現掛起的情況。所以一般情況下,重做日誌最好是三個組或者再多一點,而且大小要適當。
實際上,一個重做日誌組滿了後,就開始寫入歸檔日誌。不是等ABC都寫滿了,再歸檔,這樣肯定就是出現掛起的情況了,Oracle不是這樣的,
重做日誌備份爲歸檔日誌後,系統就會把重做日誌的內容清空,但文件依然存在,準備下一次使用。
如果數據庫運行在歸檔模式但ARCHIVE_LOG_START等於FALSE時,需要DBA手工歸檔。(這種方式可能會因爲歸檔不及時導致數據庫被迫掛起,不實用!)