欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle database12cRelease2-ManagingUndo翻译

程序员文章站 2022-05-05 09:27:54
RETENTION GUARANTEE 为保障运行时间长的查询和闪回操作成功,可以启用RETENTION GUARANTEE. 如果启用RETENTION GUARANTEE,...
RETENTION GUARANTEE

为保障运行时间长的查询和闪回操作成功,可以启用RETENTION GUARANTEE.

如果启用RETENTION GUARANTEE,然后指定最小的undo保留时间,那么即使因为undo表空间空间不足造成交易失败,数据库不会覆盖未过期的undo数据库,如果RETENTION GUARANTEE未启用,则数据库可以重写没有过期的undo空间,从而降低系统的undo保留时间。这个选项默认是禁用的。

警告:启用RETENTION GUARANTEE可能会导致多个DML失败。慎用。

你可以在创建undo表空间或者表空间时使用RETENTION GUARANTEE子句启用RETENTION GUARANTEE,也可以后期用alter tablespace指定,禁用则使用RETENTION NOGUARANTEE子句。

可以通过查看dba_tablespaces视图里面的retention列查看对应信息,该列的值可以是GUARANTEE,NOGUARANTEE,NOT APPLY,NOT APPLY适用于undo表空间以外的表空间

UNDO保留时间的调整和告警的阈值

对于固定大小的undo表空间,数据库根据数据库统计信息和undo表空间的大小计算最佳保留时间。

对于undo管理的优化,并不100%基于表空间大小的调整。数据库调整undo保留时间基于表空间大小的85%,或者所用空间的告警阈值百分比,以较低的为准(默认告警阈值是85%,但是可以更改)。因此,如果调整undo表空间的告警阈值到85%以下,这可能会减少undo_retention的大小。更多信息参见“Managing Tablespace Alerts".

跟踪已调整的undo保留周期

可以通过查询v$undostat视图的tuned_undoretention列来确定当前保留时间。

该视图包含过去4天时间里每隔10分钟一次的统计信息。(4天前的数据查看dba_hist_undostat视图),关于v$undostat的信息参考Oracle Database Reference 。