Oracle重做日誌

來源:互聯網
上載者:User

Oracle重做日誌

Oracle Redo Log重做日誌會記錄所有的資料庫變化,當執行DML或DDL操作時,oracle會將資料庫變化資訊記載到重做日誌中。Redo Log的主要目的是,萬一執行個體或介質失敗,可以使用重做日誌來恢複。

(官方文檔說明:Redo log, which consists of two or more preallocated files that store all changes made to the database as they occur. Every instance of an Oracle Database has an associated redo log to protect the database in case of an instance failure. ) Oracle在執行任何DML和DDL操作改變資料之前,都會將恢複所需要的資訊,先寫入重做日誌緩衝區,然後再寫入 資料庫高速緩衝區。 The name redo log indicates its purpose: When the database crashes, the RDBMS can redo (re-process) all changes on datafiles which will take the database data back to the state it was when the last redo record was written. Redo Log應用的兩類主要資料庫故障:1、系統故障:如果資料庫所在的伺服器斷電或者作業系統錯誤,導致執行個體失敗。資料庫資料的不一致性:未提交的事務對資料的修改已經提交到資料檔案中 +  已提交的事務對資料的修改未提交到資料檔案中
由於資料庫是先寫入記錄檔,然後再寫入資料檔案的更新機制,並且2者是非同步方式(提高效能)。
1)針對“未提交的事務對資料的修改已經提交到資料檔案中”
資料庫重新啟動時,從尾到頭的逆向掃描記錄檔,對未提交的事務執行撤銷操作。undo
2)針對“已提交的事務對資料的修改未提交到資料檔案中”
資料庫重新啟動時,從頭到尾的正向掃描記錄檔,對已提交的事務執行重做操作。redo
故障的恢複:由Oracle根據記錄檔內容自動完成,不需要使用者幹預,所有資料不會丟失,此時資料庫開啟會佔用比正常關閉更長的時間。

2、介質故障:如果包含資料檔案的磁碟機出現了永久性故障,Oracle會使用歸檔重做日誌及線上重做日誌,將磁碟機的備份恢複到適當的時間點。引發的問題:硬碟資料丟失,破壞性極大。故障的恢複:1.重新安裝資料庫系統2.裝入最新的Database Backup3.裝入自最新的Database Backup之後的所有記錄檔備份需要使用者手工完成,如果沒有記錄檔備份,資料就會有部分丟失。   Redo Log FilesSELECT * FROM v$log; SELECT * FROM v$logfile;
歸檔重做日誌歸檔日誌(Archive Log)是非活動的重做記錄備份.通過使用歸檔日誌,可以保留所有重做記錄,當資料庫處於ARCHIVELOG模式並進行日誌切換式,後台進程ARCH會將重做日誌的內容儲存到歸檔日誌中.當資料庫出現介質失敗時,使用資料檔案備份,歸檔日誌和重做日誌可以完全恢複資料庫。 生產環境一定要使用歸檔模式,Thomas Kyte說,如果系統不以 ARCHIVELOG 模式運行,那它根本就不能算是生產系統。<<Oracle Database 9i10g11g編程藝術:深入資料庫體繫結構>>上描述的一個介質故障的案例比較清楚:假設你每周的星期六做一次備份。現在是星期五下午,已經產生了這一周的數百個重做日誌,突然你 的磁碟出問題了。如果沒有以 ARCHIVELOG 模式運行,那麼現在的選擇只有:
  • 刪除與失敗磁碟相關的資料表空間。只要一個資料表空間有該磁碟上的檔案,就要刪除這個資料表空間(包括資料表空間的內容)。如果影響到SYSTEM 資料表空間(Oracle 的資料字典),就不能用 這個辦法 。 
  • 恢複上周六的資料,這一周的工作就白做了。
不論是哪種選擇都不太好。這兩種做法都意味著你會遺失資料。不過另一方面,如果之前以 ARCHIVELOG 模式運行,那麼只需再找一個磁碟就行了。你要根據上周六的備份將受影響的檔案恢複到這個磁碟上。最後,再對這些檔案應用歸檔重做日誌和(最終的)線上重做日誌,實際上是以一種快進的方式重放整個星期的事務。這樣一來,什麼也不會丟失。資料會恢複到發生失敗的那個時間點。 Oracle日誌挖掘   參考:http://en.wikipedia.org/wiki/Redo_log資料庫故障  Oracle Redo Log 機制 小結   

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.