Oracle 深入学习 Part 10: Managing Undo Data(管理Undo数据)

1. Undo的定义

Undo 是一个存储旧数据的位置,事务在对数据进行修改时会将旧数据存入 Undo Segment,以便在需要时进行回滚操作或其他功能支持。


2. Undo 的功能

  1. 事务回滚(主动)
    当事务需要回滚时,利用 Undo Segment 中的数据恢复到原始状态。
  2. 事务恢复(被动)
    在系统故障时,通过 Undo Segment 恢复未完成的事务。
  3. 读一致性
    通过 SCN(System Change Number)实现数据的读一致性,确保查询时看到的是修改前的数据。

3. Undo 的管理方式

  1. 手动管理
    手动配置并管理 Undo 的相关参数。
  2. 自动管理
    • 必须配置一个 Undo Tablespace。
    • 每个实例都需要分配一个 Undo Tablespace。
    • Undo Segment 可以服务多个事务,但一个 Block 仅属于一个事务。
    • 系统允许创建多个 Undo Segment,但同时只有一个处于活跃状态。

4. Undo Segment 的类型

  1. System 类型
    系统专用的 Undo Segment。
  2. Non-System 类型
    非系统专用的 Undo Segment。
  3. Deferred 类型
    用于事务恢复的 Undo Segment。
相关推荐
漫天转悠3 分钟前
MySQL的DELETE(删除数据)详解
数据库·mysql
拾荒的小海螺3 分钟前
JAVA:Spring Boot 3 实现 Gzip 压缩优化的技术指南
java·开发语言·spring boot
Evand J17 分钟前
MATLAB下的RSSI定位程序,二维平面上的定位,基站数量可自适应
开发语言·matlab·平面
无敌岩雀18 分钟前
深入探讨 Redis 持久化机制:原理、配置与优化策略
数据库·redis
北京理工大学软件工程23 分钟前
C++-qt经验
开发语言·c++
NiJiMingCheng29 分钟前
Python爬取豆瓣电影全部分类数据并存入数据库
数据库·数据仓库·python·网络爬虫
Am心若依旧40933 分钟前
[高阶数据结构四] 初始图论
开发语言·数据结构·c++·图论
我是水怪的哥35 分钟前
python安装包中的一些问题(一):conda list 已经安装的包为啥在spyder pip list中没有?
开发语言·windows·python
禾乃儿_xiuer1 小时前
《用Python实现3D动态旋转爱心模型》
开发语言·python·3d·pygame·表白·爱心代码·初学者
李豆豆喵1 小时前
第29天:安全开发-JS应用&DOM树&加密编码库&断点调试&逆向分析&元素属性操作
开发语言·javascript·安全