回滾段核心作用
- 交易回滾:儲存資料修改前的舊映像,支援
ROLLBACK 恢復原值。
- 交易恢復:執行個體失效後,利用重做日誌中的回滾資訊回復未提交交易。
- 讀一致性:查詢依 SCN 建立一致性視圖,長查詢期間其他 Session 修改的區塊透過回滾段重建舊版本。
交易級讀一致性
SET TRANSACTION READ ONLY;
-- 或
SET TRANSACTION SERIALIZABLE;
前者提供唯讀一致性視圖,後者提供可序列化隔離層級,但會影響並發效能。
回滾段分類
| 類型 | 用途 | 備註 |
| 系統回滾段 | 僅存 SYSTEM 表空間物件前映像 | 建庫自動建立 |
| 非系統回滾段 | 存非 SYSTEM 表空間物件前映像 | 分私有/公有;私有需在參數檔列出自動上線 |
| DEFERRED 回滾段 | 表空間離線時自動建立,上線時自動刪除 | 存離線期間產生的回滾資訊 |
區塊使用與擴展機制
- 交易循環使用 Extent,當前 Extent 滿則 Wrap 至下一個。
- 若下一 Extent 仍有作用中交易,則 Extend 配置新 Extent,直到達
MAXEXTENTS。
- 多交易可共用同一 Extent,但同一區塊僅屬單一交易。
OPTIMAL 參數與空間回收
OPTIMAL 指定閒置時回收至的大小,自動或手動 SHRINK 皆可觸發,能有效避免回滾段無限膨脹浪費空間。
- 上一篇文章: Oracle 回滾段管理實務指南(下):建立、上線、修改與縮減
- 下一篇文章: Oracle 資料庫備份與恢復全攻略:EXP/IMP、冷備份、熱備份
Copyright ©
程式碼之家 All Rights Reserved