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。
相关推荐
Blossom i4 分钟前
大数据预处理与采集实验一:使用Python操作MySQL数据库
数据库·mysql
coder!mq24 分钟前
说几个常见的语法糖?
java·开发语言·算法
gugucoding27 分钟前
38. 【Java】Stream API(下):高级操作与性能
java·开发语言
Lhan.zzZ34 分钟前
在 Visual Studio 2022 中打造可扩展的动态链接库模块:从零搭建到原理解析
开发语言·c++·visual studio
心平气和量大福大1 小时前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言
雾时之林1 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
码哥DFS1 小时前
构造函数、实例对象、对象原型 ----三者关系
开发语言·javascript·原型模式
quantdash_cc2 小时前
告别自建 Requests/BS4 网页爬虫:基于 QuantDash 搭建零维保的高性能量化行情流水线
开发语言·爬虫·python·pandas·量化·quantdash
ydd1001002 小时前
寻找两个正序数组的中位数 Java 题解,二分分割详解
java·开发语言
半亩码田2 小时前
C#转Python第3.1篇:Python 的 class 没有访问修饰符?面向对象的另一条路
开发语言·python·c#