oracle database 12c Release 2-Managing Undo 翻译(第二章节)

时间:2021-09-16 15:29:56
16.2 undo 自动管理介绍
oracle数据库能自动管理undo信息和空间。

undo自动管理概述:
oracle提供一种完全自动化的机制,称为自动undo管理,用于管理undo信息和空间。可以自动管理undo表空间中的undo段(segment)。

undo保留周期
undo保留周期是指oracle数据库试图保留被覆盖前的、旧的undo信息的最小时间量。

undo自动管理是新安装数据库的默认设置,你用dbca创建数据库时会自动创建一个自动扩展的undo表空间undotbs1。
你可以重新创建一个undo表空间并指定相关参数,创建方法可以参考 "Creating an Undo Tablespace"文档.
当数据库实例启动时,数据库自动选择第一个可用的undo表空间。如果没有可用的undo表空间,则实例会在没有undo表空间的情况下启动,并在system表空间存放undo信息(不推荐这样做,相关警告信息会被写入alert日志,以警告系统在没有undo表空间的情况下运行)。
如果数据库包含多个undo表空间,那么你可以用undo_tablespace初始化参数指定在数据库启动时使用的undo表空间。
如果初始化参数中指定的undo表空间不存在,startup命令会失败,在RAC集群中undo_tablespace参数可用于指定一个具体的undo表空间给一个实例。
数据库也可以运行在手动管理undo的模式下,在这种模式下,undo空间通过回滚段管理,并没有使用undo表空间。
以下是undo管理的初始化参数摘要:

undo_management
如果值是AUTO或者null,则启动自动管理。如果值是MANUAL,则为手动管理模式。默认值是AUTO。

undo_tablespace
可选项,仅在自动管理模式下有效。指定undo表空间名称。适用于数据库有多个undo表空间并且要指定数据库实例使用一个特定undo表空间的情况。

启用undo自动管理时,如果初始化参数文件中包含与undo手动管理相关的参数,这些参数将被忽略。

  注:10g及以前的oracle数据库默认为手动管理undo模式,修改为自动管理,必须先创建undo表空间,然后改变undo_management参数为AUTO.