Undo表空間與redo日誌
Undo與redo的區別和各自的作用
一、undo中資料的特點:
1、 是資料修改前的備份,主要是保證使用者的讀一致性
2、 在事務修改資料時產生
3、 至少儲存到事務結束
二、undo資料的作用:
1、 回滾(rollback)操作
2、 實現讀一致性與閃回查詢
3、 從失敗的事務中還原資料
4、 非正常停機後的例項恢復
三、undo回滾段的特點:
1、 回滾段是由例項自動建立用於支援事務執行的專用段,同樣是區和塊組成,回滾段會按實際需要自動進行增長或收縮,是一段可以給指定事務迴圈使用的儲存緩衝區。
2、 每個事務只會使用一個回滾段,一個回滾段在同一時刻可能會服務於多個事務
3、 當一個事務開始的時候,會指定一個回滾段,在事務進行的過程中,當資料被修改時,原始資料會被複制到回滾段中。
4、 在回滾段中,事務會不斷的填充盤區,直到事務結束或所有的空間被用完,如果當前的盤區不夠用,事務會在段中請求下一盤區,如果所有已分配的盤區都被使用完,事務會覆蓋最初的盤區或者在回滾段允許的情況下擴充套件新的盤區來使用。
5、 回滾段存在於undo表空間中,在資料庫中可以存在多個undo表空間,但同一時刻只能使用一個undo表空間。
四、回滾段中的資料型別
回滾段中的資料型別主要分為以下三種:
1、 uncommitted undo information 未提交的回滾資料,用於實現讀一致性,所以該資料不能被其他事務的資料所覆蓋
2、 committed undo information 已經提交過但未過期的回滾資料,該資料關聯的事務已經提交,但是仍受到undo retention引數保持時間的影響
3、 expired undo information 事務已經提交,而且資料儲存的時間已經超過undo retention引數指定的時間,屬於已經過期的資料
當回滾段滿了後,會優先覆蓋expired undo information,當過期資料空間用完後,會再覆蓋committed undo information的區域,這時undo retention引數所規定的保持時間會被破壞,uncommitted undo information的資料是不容許覆蓋的,如果要求提交的資料在undo retention引數規定的時間內不會被覆蓋,可以在undo表空間上指定retention guarantee, 語法如下:
Alter tablespace undobs retention guarantee;
五、undo資料與redo資料的區別:
1、 undo記錄資料修改之前的操作,redo記錄磁碟資料將要進行的操作
2、 undo用於資料的回滾操作和實現一致性讀,redo用於前滾資料庫操作
3、 undo儲存在回滾段中,redo儲存在重做日誌檔案裡
4、 undo用於在多使用者併發的系統裡保證一致性讀,redo用於防止資料丟失
六、與undo有關的引數
Undo_management auto 自動的undo表空間管理
Undo_tablespace 設定undo表空間名稱,可以存在多個undo表空間,但同時只能使用一個
Undo_retention 設定快照儲存的時間,設定後在此時間段內仍有可能會被覆蓋
Alter tablespace undo_ts retention guarantee;強制所以快照必須儲存undo_retention所規定的時間。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25964700/viewspace-700308/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL redo與undo日誌解析MySql
- MySQL 日誌 undo | redoMySql
- oracle undo 表空間Oracle
- 理解UNDO表空間
- mysql日誌:redo log、binlog、undo log 區別與作用MySql
- 【UNDO】使用重建UNDO表空間方法解決UNDO表空間過大問題
- oracle UNDO表空間一個bug——undo表空間快速擴充套件Oracle套件
- 自動undo表空間模式下切換新的undo表空間模式
- Oracle undo 表空間管理Oracle
- oracle重建UNDO表空間Oracle
- oracle undo表空間管理Oracle
- undo表空間總結
- 【Mysql】三大日誌 redo log、bin log、undo logMySql
- MySQL InnoDB Undo表空間配置MySql
- undo表空間故障處理
- oracle系統預設臨時表空間以及redo日誌檔案問題處理Oracle
- ORACLE線上切換undo表空間Oracle
- UNDO表空間不足解決方法
- Oracle undo表空間切換(ZT)Oracle
- oracle回滾段 undo 表空間Oracle
- ORACLE撤銷表空間(Undo Tablespaces)Oracle
- undo表空間中常用的操作
- undo表空間佔用磁碟空間滿案例處理
- Oracle - 回滾表空間 Undo 的整理Oracle
- Oracle的UNDO表空間管理總結Oracle
- Oracle undo 表空間使用情況分析Oracle
- 改變資料庫undo表空間資料庫
- UNDO表空間損壞的處理
- 10.管理UNDO表空間.(筆記)筆記
- 有關UNDO表空間的學習:
- undo表空間太大解決辦法
- 資料庫篇:mysql日誌型別之 redo、undo、binlog資料庫MySql型別
- REDO日誌管理
- Oracle redo 日誌切換時間頻率Oracle Redo
- 達夢資料庫:誤刪除 undo/redo 日誌怎麼辦資料庫
- Oracle切換undo表空間操作步驟Oracle
- MySQL UNDO表空間獨立和截斷MySql
- undo 表空間滿了的處理方法