一、什么是undo(引用官方文档)
Every Oracle Database must have a method of maintaining information that is used to roll back, or undo, changes to the database. Such information consists of records of the actions of transactions, primarily before they are committed. These records are collectively referred to as undo.
二、undo的作用(引用官方文档)
-
Roll back transactions when a ROLLBACK statement is issued
-
Recover the database
-
Provide read consistency
-
Analyze data as of an earlier point in time by using Oracle Flashback Query
-
Recover from logical corruptions using Oracle Flashback features
When a ROLLBACK statement is issued, undo records are used to undo changes that were made to the database by the uncommitted transaction. During database recovery, undo records are used to undo any uncommitted changes applied from the redo log to the datafiles. Undo records provide read consistency by maintaining the before image of the data for users who are accessing the data at the same time that another user is changing it.
三、undo相关参数
| 参数名 | 描述 |
undo_retention | 指定事务commit或者rollback后,对应的undo段 的过期(expired )时间,过期的段可以被后续事务重用,单位为分钟 |
undo_tablespace | undo自动管理方式下,指定管理undo信息的表空间 |
_undo_autotune | 禁用undo的自动调整 |
| UNDO_MANAGEMENT | 指定undo段(非系统)的管理方式,9i以后默认为自动管理,推荐设置为自动管理方式 |
四、undo相关视图
五、undo表空间的使用方式
由于undo段空间保存的内容为数据块改变的前映像数据,因此这些空间的内容是循环使用,跟redo日志文件差不多,基本都是最早被使用的内容被最先覆盖。
本文详细解析了Oracle数据库中UNDO机制的核心概念、作用及管理方式,包括undo表空间的使用、相关参数设置、视图监控与优化策略。重点介绍了UNDO在事务回滚、数据恢复、读一致性保障等方面的应用,以及如何通过参数调优实现UNDO空间的有效管理。
157

被折叠的 条评论
为什么被折叠?



