首页 > 其他分享 >retention guarantee使用场景和作用

retention guarantee使用场景和作用

时间:2023-07-21 15:26:52浏览次数:34  
标签:transaction undo 场景 tablespace guarantee segment retention

retention guarantee使用场景和作用

undo_retention参数的作用:
undo_retention用来控制当transaction被commit之后,undo信息的保留时间。这些undo信息可以用来构造consistent read以及用于一系列的闪回恢复,而且足够的undo信息还可以减少经典的ORA-01555错误的发生,在Oracle 9R1中呢,这个value的默认值是900秒,Oracle 9R2以后这个value提高到了10800秒。即使我们设置了undo_retention这个参数,那么在默认情况下,这是一个noguarantee的限制。也就是说我将undo_retention=10800,那么原本以为在一个transaction commit之后,之前的undo还可以保存10800秒,才可以被别的transaction DML覆盖,孰不知当有其他的transaction DML处理过程中需要undo空间的时候,恰恰这个时候not enough space for undo,也就说我并没有允许undo tablespace自动扩展。由于我们的retention是noguarantee的,所以transaction DML就会忽略这种retention的时间限制直接回绕覆盖我们的undo信息,这种结果下其实在很多情况下是不希望得到的。

Oracle 10g之后,oracle提出了一个特性就是undo的guarantee,可以强制oracle来guarantee的undo信息,也就说如果一个session的transaction DML需要undo空间的时候,即使undo的空间不足,这个session也不会强制覆盖由undo_retention所保护的undo信息,那么这个transaction DML会因为undo空间的不足会而report一个error并自动退出。 在Oracle10g中如何要修改guarantee模式可以。

查询表空间是否guarantee
SQL> select tablespace_name,block_size,extent_management , segment_space_management,contents,retention from dba_tablespaces;
使undo表空间retention guarantee
SQL>alter tablespace undo_samll retention guarantee; 表空间已更改。
SQL> select tablespace_name,block_size,extent_management segment_space_management,contents,retention from dba_tablespaces;
需要注意的是这种guarantee模式只针对undo tablespace别的表空间是不适用的。
在Oracle 10g中我们还可以设置undo_retention=0来让Oracle自动调整保留提交后undo信息的时间。

10g 中RETENTION GUARANTEE 的作用
1、先解释下undo_retention
设置undo_retention,保证commit 后的数据在undo segment中保留多长时间。但是并不能保证commit后的undo 信息在undo_retention的时间内一定不被覆写,当undo segment不够时,还是会覆盖已commit的undo 信息。
2、如果需要保证在undo_retention时间内undo 信息一定不被覆写的话,可以对undo segment设置RETENTION GUARANTEE。但是这个参数受到undo_retention和undo size的限制。如果undo size 太小,undo_retention设置太久,设置retention guarantee 时就会报错:
ORA-30036: unable to extend segment by 8 in undo tablespace ‘UNDOTBS2’
3、设置该参数
alter tablespace undotbs2 retention guarantee;
撤销该参数
alter tablespace undotbs2 retention noguarantee;

标签:transaction,undo,场景,tablespace,guarantee,segment,retention
From: https://www.cnblogs.com/AllenWongFly/p/17571453.html

相关文章

  • Wi-Fi 7来了!坚持场景化创新,锐捷加码新无线网络时代
    导读Wi-Fi在当今世界可以说无处不在,其应用价值和商业价值也取得了行业的广泛认可。全球技术情报市场公司ABIResearch预测,全球Wi-Fi物联网市场将从2021年的约23亿个连接增长到2026年的67个亿连接。当接入设备不断增长,接入需求渐次多样化,Wi-Fi技术一直在性能......
  • 三方系统多渠道多场景的思考及代码分享
    一背景我们的业务中,经常会遇到多渠道+多场景的的需求。多渠道我们可以理解为,多个服务商同时为我们某一个功能提供服务,多场景就是同一个服务商下面的多种服务,我们通过几个例子来具体看下:我们有个电商平台,系统在付款时候弹出选项,让用户自主选择支付宝/微信/京东白条等支付,那么这......
  • springboot元注解@Target@Retention@Documented
        @Target(ElementType.METHOD)是一个元注解,用来标注注解的作用目标。这里的@Target(ElementType.METHOD)表示该自定义注解可以用于方法上。@Retention(RetentionPolicy.RUNTIME)是一个元注解,用来标注注解的保留策略。这里的@Retention(RetentionPolicy.RUNTIME)表......
  • Redis的五大数据类型及其使用场景
    前言redis是一个非常快速‎‎的非关系数据库‎‎解决方案。其简单的键值数据模型使Redis能够处理大型数据集,同时保持令人印象深刻的读写速度和可用性。‎redis提供了五种数据类型,分别是是:1、string(字符串);2、hash(哈希);3、list(列表);4、set(集合);5、sortset(有序集合)(其实随着Redis......
  • 【网易云信】直播场景播放侧常见问题分析与实践经验
    常见的播放流程播放器主要流程分析 播放器的播放流程与推流过程类似,但是顺序相反。推流端先采集音频和视频,进行音视频编码和封装,并按照流媒体协议进行处理,最终得到输出流。而播放器则将输入流经过解析和解封装,得到音频包(如AAC)和视频包(如H.264、H.265),并进行解码以获取音频帧......
  • Cilium系列-1-Cilium特色 功能及适用场景
    系列文章Cilium系列文章Cilium简介Cilium是一个开源的云原生解决方案,用于提供、保护(安全功能)和观察(监控功能)工作负载之间的网络连接,由革命性的内核技术eBPF提供动力。Cilium主要使用场景是在Kubernetes中,但Cilium的优势并不仅限于Kubernetes环境。在Kuberne......
  • 上下文(context)在odoo14中的作用以及功能。并举例说明 。最后再总结一下。所能用到的场
    在Odoo中,上下文(context)是一个非常重要的概念。Context是一个Python字典,它在各种方法之间传递,并且可以影响这些方法的行为。Context的主要作用和功能:传递参数:在执行方法的过程中,可以通过context传递参数。这些参数可以影响方法的行为。本地化:context中有一些特殊的......
  • 反向代理在系统结构中的应用场景
                    worker_processes1;#允许进程数量,建议设置为cpu核心数或者auto自动检测,注意Windows服务器上虽然可以启动多个processes,但是实际只会用其中一个events{#单个进程最大连接数(最大连接数=连接数*进程数)#......
  • 免费下载1000+工程建筑、设计领域资料,助力打造出高质量设计方案和汇报场景!
    作为一名工程设计、施工人员,设计方案制作、工程汇报场景搭建的情景再常见不过。日常需要的模型是必不可少的,但最令人头大的问题是如何寻找方案素材。想要表达的信息越多,素材获取就越是苦恼!有没有一款软件能够集方案三维汇报展示与模型数据下载为一体呢?当然有。图新说,作为国产三......
  • 分布式事务的对比、优缺点、适用场景及使用注意事项
    分布式事务的对比、优缺点、适用场景及使用注意事项分布式事务是指涉及到多个独立节点之间的事务处理,这些节点可能位于不同的物理设备或不同的网络环境下。在分布式系统中,由于节点的独立性和异构性,分布式事务的处理变得更加复杂和困难。为了确保分布式系统中数据的一致性和可靠性,......