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。
相关推荐
u0109147606 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_340998826 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_678485456 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
不吃香菜学java6 小时前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
qq_342295826 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
panzer_maus7 小时前
MySQL 索引介绍与索引优化的简单介绍
数据库·mysql
Greyson17 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
captain3767 小时前
事务___
java·数据库·mysql
justjinji7 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
贵沫末7 小时前
python——打包自己的库并安装
开发语言·windows·python