undo基础内容

来源:互联网 发布:过山车大亨3mac版 编辑:程序博客网 时间:2024/06/06 17:59
关于undo的基础知识,建议参考oracle官方文档中的Administrator's Guide中的undo部分

一、什么是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相关视图

ViewDescriptionV$UNDOSTATContains statistics for monitoring and tuning undo space. Use this view to help estimate the amount of undo space required for the current workload. The database also uses this information to help tune undo usage in the system. This view is meaningful only in automatic undo management mode.V$ROLLSTATFor automatic undo management mode, information reflects behavior of the undo segments in the undo tablespaceV$TRANSACTIONContains undo segment informationDBA_UNDO_EXTENTSShows the status and size of each extent in the undo tablespace.DBA_HIST_UNDOSTATContains statistical snapshots of V$UNDOSTAT information. 

五、undo表空间的使用方式

由于undo段空间保存的内容为数据块改变的前映像数据,因此这些空间的内容是循环使用,跟redo日志文件差不多,基本都是最早被使用的内容被最先覆盖。

0 0
原创粉丝点击