Oracle 10g数据库中UNDO_RETENTION参数的使用详解

Oracle 10g数据库中UNDO_RETENTION参数的使用的相关知识是本文我们主要要介绍的内容,接下来我们就开始介绍。我们知道,每一种数据库都需要有一种管理回滚或者撤销数据的方法。当一个DML发生以后,在用户还没有提交(COMMIT)改变,用户不希望这种改变继续保持,需要撤销所做的修改,将数据回退到没有发生改变以前,这时就需要使用一种被称为撤销记录的数据。

使用撤销记录,我们可以:

1、当使用ROLLBACK语句时回滚事务,撤销DML操作改变的数据。

2、恢复数据库。

3、提供读取的一致性。

4、使用Oracle Flashback Query分析基于先前时间点的数据。

5、使用Oracle Flashback特性从逻辑故障中恢复数据库。

Oracle10g中的自动撤销管理(AUM)

在Oracle10g中对于回滚段的管理可以通过配置参数而实现自动管理。为启用撤销空间的自动管理,首先必须在init.ora中或者SPFILE文件中指定自动撤销模式。其次需要创建一个专用的表空间来存放撤销信息,这保证用户不会在SYSTEM表空间中保存撤销信息。此外还需要为撤销选择一个保留时间。

如果需要实现AUM,需要配置以下3个参数:

UNDO_MAMAGEMENT

UNDO_TABLESPACE

UNDO_RETENTION

查看初始化参数的设置:

SQL> show parameter undo_tablespace;

NAME                               TYPE      VALUE

———————————— ———– ———————–

undo_tablespace                    string    UNDOTBS1

SQL> show parameter undo_management;

NAME                               TYPE      VALUE

———————————— ———– ———————–

undo_management                    string    AUTO

SQL> show parameter undo_retention;

NAME                               TYPE      VALUE

———————————— ———– ———————–

undo_retention                     integer   900

SQL>

初始化参数的描述:

Initialization Parameter

Description

UNDO_MANAGEMENT

If AUTO, use automatic undo management. The default is MANUAL

UNDO_TABLESPACE

An optional dynamic parameter specifying the name of an undo tablespace. This parameter should be used only when the database has multiple undo tablespaces and you want to direct the database instance to use a particular undo tablespace.

UNDO_RETENTION

The UNDO_RETENTION parameter is ignored for a fixed size undo tablespace. The database may overwrite unexpired undo information when tablespace space becomes low.

For an undo tablespace with the AUTOEXTEND option enabled, the database attempts to honor the minimum retention period specified by UNDO_RETENTION. When space is low, instead of overwriting unexpired undo information, the tablespace auto-extends. If the MAXSIZE clause is specified for an auto-extending undo tablespace, when the maximum size is reached, the database may begin to overwrite unexpired undo information.

如果将初始化参数UNDO_MANAGEMENT设置为AUTO,则Oracle10g将启用AUM。

可以在初始化参数UNDO_RETENTION中设置撤销保留时间的大小:

UNDO_RETENTION=1800       设置保留时间为30分钟(1800秒)。

UNDO_RETENTION参数默认设置为900秒。

UNDO_RETENTION的值应该设置为多少才合理?

不存在理想的UNDO_RETENTION的时间间隔。保留时间间隔依赖于估计最长的事务可能运行的时间长度。根据数据库中最长事务长度的信息,可以给UNDO_RETENTION分配一个大致的时间。

可以通过v$undostat视图的maxquerylen列查询在过去的一段时间内,最长的查询执行的时间(以秒为单位)。UNDO_RETENTION参数中的时间设置应该至少与maxquerylen列中给出的时间一样长。

Oracle提供如下为新数据库设置撤销保留时间间隔的指导:

1、OLTP系统:15分钟

2、混合: 1小时

3、DSS系统:3小时

4、闪回查询:24小时

UNDO_RETENTION参数的较高值并不保证撤销数据保留UNDO_RETENTION参数指定的时间。为保证撤销保留指定的时间,必须使用RETENTION GRARANTEE子句。

例如:

 

  1. CREATE UNDO TABLESPACE UNDOTBS01  
  2. DATAFILE  
  3. ‘E:/oracle/product/10.2.0/oradata/keymen/UNDOTBS01.DBF’  
  4. SIZE 500M AUTOEXTEND ON  
  5. RETENTION GUARANTEE 

 

也可以使用ALTER DATABASE命令保证数据库中的撤销保留。

ALTER DATABASE UNDOTBS01 RETENTION GUARANTEE。

关闭撤销信息的保证保留。

ALTER DATABASE UNDOTBS01 RETENTION NOGUARANTEE。

设置撤销表空间的尺寸

Oracle建议使用Undo Advisor的帮助下设置撤销表空间的尺寸。可以创建一个小尺寸(大约500M)的撤销表空间,AUTOEXTEND数据文件属性设置为ON,从而允许表空间自动扩展。此表空间将自动增长以支持数据库中活动事务数目的增长以及事务长度的增长。

在数据库运行适当的一段时间后,可以使用UNDO Advisor来得出关于设置撤销表空间尺寸的建议。应该使用Analysis Time Period字段中允许的***时间。出于此目的,可以使用OEM UNDO Management页面中给出的Longest——Runing Query长度。还必须根据闪回需求指定New UNDO Retention字段的值。例如:如果希望表能闪回24小时,应该使用24小时作为这个字段的值。

假如数据库中用RETENTION GUARANTEE子句配置了保证保留撤销。如果撤销表空间太小不能满足使用它的所有活动事务,那么会发生以下情况:

1、如果撤销表空间用完85%,Oracle将发布一个自动表空间警告。

2、当撤销表空间用完97%时,Oracle将发布一个自动表空间严重警告。

3、所有DML语句将不允许,并且会接收到一个空间超出错误。

4、DDL语句允许继续执行。

以上就是Oracle 10g中UNDO_RETENTION参数的使用的全部内容,本文我们就介绍到这里了,希望本次的介绍能够对您有所收获。

【编辑推荐】

  1. Oracle数据库学习笔记之表的联合查询
  2. Oracle数据库RMAN不完全恢复之基于SCN恢复
  3. Oracle数据库RMAN不完全恢复之基于时间恢复
  4. Oracle C#实现Oracle Text全文检索的简单例子
  5. Oracle数据库RMAN不完全恢复之基于日志序列号恢复

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/237632.html<

(0)
管理的头像管理
上一篇2025-04-22 13:51
下一篇 2025-04-22 13:52

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注