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。
相关推荐
q***96586 分钟前
Windows版Redis本地后台启动
数据库·windows·redis
q***816410 分钟前
【Redis】centos7 systemctl 启动 Redis 失败
数据库·redis·缓存
q***098013 分钟前
MySQL 常用 SQL 语句大全
数据库·sql·mysql
q***649714 分钟前
VS与SQL Sever(C语言操作数据库)
c语言·数据库·sql
f***241116 分钟前
java学习进阶之路,如果从一个菜鸟进阶成大神
java·开发语言·学习
88号技师22 分钟前
2025年9月一区SCI-孤行尺蠖觅食优化算法Solitary Inchworm Foraging-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
Yue丶越22 分钟前
【Python】基础语法入门(四)
linux·开发语言·python
带土130 分钟前
5. QT之Q_OBJECT详解
开发语言·qt
数据牧羊人的成长笔记33 分钟前
Hadoop 分布式计算MapReduce和资源管理Yarn 2
开发语言·php
无敌最俊朗@39 分钟前
Qt面试题day01
java·数据库·面试