Oracle10g的UNDO_RETENTION自动化管理增强

本文详细介绍了Oracle数据库中UNDO_RETENTION参数的作用及设置方法。该参数控制着事务提交后undo信息的保留时间,并提供了自动调整机制来满足长时间查询的需求。同时,通过设置Guarantee或NoGuarantee可以确保或放弃undo信息的保留。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导读:

  在AUM模式下,我们知道UNDO_RETENTION参数用以控制事务提交以后undo信息保留的时间。该参数以秒为单位,9iR1初始值为900秒,在Oracle9iR2增加为10800秒。 但是这是一个NO Guaranteed的限制。

  也就是说,如果有其他事务需要回滚空间,而空间出现不足时,这些信息仍然会被覆盖。

  很多时候这是不希望看到的。

  从Oracle10g开始,如果你设置UNDO_RETENTION为0,那么Oracle启用自动调整以满足最长运行查询的需要。当然如果空间不足,那么Oracle满足最大允许的长时间查询。而不再需要用户手工调整。

  同时Oracle增加了Guarantee控制,也就是说,你可以指定UNDO表空间必须满足UNDO_RETENTION的限制。

  

SQL> alter tablespace undotbs1 retention guarantee;

Tablespace altered

SQL> alter tablespace undotbs1 retention noguarantee;

Tablespace altered

在DBA_TABLESPACES视图中增加了RETENTION字段用以描述该选项:

SQL> select tablespace_name,contents,retention from dba_tablespaces;

TABLESPACE_NAME CONTENTS RETENTION

------------------------------ --------- -----------

SYSTEM PERMANENT NOT APPLY

UNDOTBS1 UNDO NOGUARANTEE

SYSAUX PERMANENT NOT APPLY

TEMP TEMPORARY NOT APPLY

USERS PERMANENT NOT APPLY

EYGLE PERMANENT NOT APPLY

TEST PERMANENT NOT APPLY

ITPUB PERMANENT NOT APPLY

TRANS PERMANENT NOT APPLY

BIGTBS PERMANENT NOT APPLY

TEMP2 TEMPORARY NOT APPLY

TEMP03 TEMPORARY NOT APPLY

DFMBRC PERMANENT NOT APPLY

T2K PERMANENT NOT APPLY

14 rows selected



  在Oracle官方文档上这样解释:

   RETENTION Undo tablespace retention:

   GUARANTEE- Tablespace is an undo tablespace with RETENTION specified as GUARANTEE

  A RETENTION value of GUARANTEE indicates that unexpired undo in all undo segments in the undo tablespace should be retained even if it means that forward going operations that need to generate undo in those segments fail.

   NOGUARANTEE- Tablespace is an undo tablespace with RETENTION specified as NOGUARANTEE

   NOT APPLY - Tablespace is not an undo tablespace.

  -----



本文转自

http://www.eygle.com/archives/2005/03/oracle10gaeundo.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值