关于undo表空间下数据文件非自动扩展问题

RMAN备份与恢复之UNDO表空间丢失 在上一篇文章(RMAN备份与恢复之可脱机数据文件丢失)中,我们讲到可脱机数据文件丢失怎么处理,这篇文章我们讲解UNDO表空间丢失的解决办法。 阅读详情

      我这边生产环境,一般undo表空间都会预先设置一个大小,并且保留数据文件的自动扩展,一直也相安无事。最近有套系统的undo表空间一直报警,使用率超过85%。看了下表空间大小,才5个G,以后确实是undo表空间过小了,于是扩到10G。结果第二天又报警了,嘿,不信了,于是扩到20g。哎呦,跟我杠上了,第二天又报警了。

      没办法,生了个awr报告,看到到底是哪个倒霉孩子写的大事务一句一直不提交。哎呦我去,没有找到嫌疑语句,啥情况。找来开发人员,交流一下,不存在批量之类的业务。怪了。

     查了下undo状态:select status,sum(bytes)/1024/1024/1024 from dba_undo_extents group by status;发现未过期的undo竟然占了表空间的百分之九十左右。但是我实时查看数据库状态,确实没有发现正在活动的大事务。于是怀疑,莫非是遇到undo方面的bug了,是不是存在未过期undo一直没释放的情况?

    在MOS上看到一篇文档doc:413732.1,有如下解释:

When the UNDO tablespace is created with NO AUTOEXTEND, following the allocation algorithm, here is the explanation for this correct behavior:

For a fixed size UNDO tablespace (NO AUTOEXTEND), starting with 10.2, we provide max retention given the fixed undo space, which is set to a value based on the UNDO tablespace size. 
This means that even if the undo_retention is set to a number of seconds (900 default), the fixed UNDO tablespace supports a bigger undo_retention time interval (e.g: 36 hours), based on the tablespace size, thing that makes the undo extents to be UNEXPIRED. But this doesn't indicate that there are no available undo extents when a transaction will be run in the database, as the UNEXPIRED undo segments will be reused.

大致意思是如果数据文件设置成非自动扩展的,oracle不会按照undo_retention参数所设置的值,对undo数据进行过期。我测试了下,在12.2.0.1版本,依然存在这样的情况。将上述存在问题的undo表空间数据文件设置成自动扩展后,过了一会,未过期的undo数据逐渐减少,直至undo表空间使用率恢复正常。

  oracle当真是博大精深,总有一些知识点很难触及,遇到了,总要记录一番。

Oracle-undo表空间使用率高案例 用户报障,生产一套11.2.0.4的RAC集群数据库undo表空间undotbs2使用率超90%告警,并且从表空间的监控信息看,近一周表空间的使用率一直处于上升趋势。需要分析undo表空间使用率高的原因。 阅读详情

相关推荐

双模音频解码器设计:USB+蓝牙LDAC平衡输出方案

音频解码器是数字音频系统中实现数模转换的核心组件,其性能直接决定音质保真度与系统延迟。基于高集成SoC的解码方案通过统一时钟域与片内DSP处理,有效抑制Jitter并简化硬件拓扑;结合全平衡模拟输出架构,可显著提升共模抑制比(CMRR)与信噪比(SNR)。该技术路径广泛应用于便携式Hi-Res音频设备、USB-C小尾巴DAC及蓝牙高解析耳机放大器等场景。本文围绕ES9038Q2M双模SoC展开,详解其在LDAC协议支持、UAC2.0兼容性及平衡电流型DAC输出方面的工程实现,为高性能、可量产音频硬件开发提供

weixin_42613018的博客 388

Oracle怎样重用已过期和未过期的 undo extent?

undo空间重用过程

weixin_43230594的博客 1476

Win11内核隔离无法打开的解决方案详解

内核隔离问题的解决需遵循"先硬件后软件"的排查原则,90%以上的案例可通过驱动清理或外设断开解决。对于必须禁用该功能的用户,建议定期使用Windows Defender进行全盘扫描,并保持系统更新至最新版本。技术决策需在安全性和兼容性之间取得平衡,本文提供的多维解决方案可帮助用户构建更稳定的Windows 11使用环境。

mmoo_python的博客 4829

undo表空间暴长,如何取消自动扩展

今天在itpub上被问到一个问题,undo表空间原来被设置成了自动扩展,现在已经有10G大小了,如果这样下去,硬盘早晚撑暴;  俺说了一下自己的想法:   重新建立一个undo2表空间,不要设置为自动扩展,指定最大值,然后切换undo1到这个新的undo2表空间,等到所有事务都移动到undo2以后,删除undo1即可。  如果原来的undo1上没有活动的事务的话,可以直接删除

欧辰的专栏 3141

STM32F103ZE精英板驱动ESP8266与DHT11构建物联网网关,实现乐联网温湿度数据实时监控

本文详细介绍了如何使用STM32F103ZE精英板驱动ESP8266与DHT11构建物联网网关,实现乐联网温湿度数据实时监控。从硬件选型、连接调试到乐联网平台配置和STM32程序开发,提供了完整的实现步骤和常见问题解决方案,适合物联网入门开发者参考。

weixin_30823001的博客 78

大模型训练(1):流水线并行

Gpipe的方法是,在训练时计算和运用的是micro-batch里的均值和方差,但同时持续追踪全部mini-batch的移动平均和方差,以便在测试阶段进行使用。流水线并行的核心思想是:在模型并行的基础上,进一步引入数据并行的办法,即把原先的数据再划分成若干个更小的batch,分批送入GPU进行训练,算一部分就让下一个GPU动起来。从实验结果可知,在关掉NVlinks的情况下,Gpipe一样也能实现随着GPU数量的增加,训练速度也增加的效果。前文说过,随着模型的增加,每块GPU中存储的中间结果也会越大。

呆呆象呆呆的博客 1970

index.php luntan.undo.it_求助:undo表空间的自动扩展问题

如果设置自动扩展,undo_retention是最小值,如果存在大的事务,undo表空间扩展的非常快,有可能超过预期。关闭自动扩展,也不会卡在那里,Oracle会复用低于undo_retention的空间,但是,这样有可能会导致快照过旧UNDO_RETENTION specifies (in seconds) the low threshold value of undo retention. F...

weixin_39966225的博客 221

笔记本摄像头模拟监控推送RTSP流

FFmpeg软件:选择Windows builds by BtbN一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。选择Windows版本EasyDarwin开源流媒体服务器 支持Windows、Linux、macOS平台;支持RTSP推流分发(推模式转发);支持RTSP拉流分发(拉模式转发);VLC Media Player软件:选择Windows64bit支持众多与及文件格式,并支持DVD影音光盘,VCD影音光盘及各类协议。

IT_LittleBaby的博客 3874

oracle扩大undo,undo表空间暴长后如何才能取消自动扩展

案例:undo表空间原来被设置成了自动扩展,现在已经有10G大小,基于这种情况,应当如何处理?解决方法:重新建立一个undo2表空间,不要设置为自动扩展,指定最大值,然后切换undo1到这个新的undo2表空间,等到所有事务都移动到undo2以后,删除undo1即可。如果原来的undo1上没有活动的事务的话,可以直接删除,重新建立。查了一下资料,用一下命令:alter database dataf...

weixin_42566072的博客 889

基于STM32的智能火灾报警系统设计:多传感器融合与远程控制实现

本文详细介绍基于STM32单片机的智能火灾报警系统设计,采用多传感器融合技术(烟雾、温度、火焰检测)实现高精度火灾识别。系统集成远程控制与手机APP监控,通过加权决策算法降低误报率,提供多级响应策略,确保火灾预警的准确性与可靠性。

u5v6w7的博客 1103

华为OD机试真题 新系统 - WIFI设备网络规划 (Java/Py/C/C++/Js/Go)

本文整理华为 OD 机试新系统机考真题库,涵盖高频考点精析与完整题目内容,提供 C 语言、Java、C++、Python、Go、JavaScript 多语言源码实现,搭配详细解题思路讲解,并支持在线 OJ 刷题练习,助力高效备考华为 OD 机试新系统。

算法大师! 2017

扩展undo表空间容量

查看表空间使用情况 SELECT a.tablespace_name, ROUND (a.total_size) "total_size(MB)", ROUND (a.total_size) - ROUND (b.free_size, 3) "used_size(MB)", ROUND (b.free_size, 3) "free_size(M

gHost241的专栏 9512

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

扩展或缩小undo表空间

***********************************************声明***********************************************************************  原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。 深蓝的blog: ***************

深蓝@黄炎龙 9187

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

释放oracle undo表空间,undo表空间释放

一.概述:使用IMPDP工具导入大表(166G)数据时,报undo表空间不能扩展,导入工作失败.手工停止了impdp后,undo表空间存在无法自动释放的故障.本文主要描述如何通过重建undo表空间来手工释放undo表空间.数据库环境的描述:OS: AIX 6.1+HACMP 5.3DB: ORACLE 10.2.0.5 RAC二.问题的描述impdp 导入数据时,报ora-30036错误$impd...

weixin_42453228的博客 5936

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

oracle undo表空间的作用和机制,undo表空间的相关操作,oracle11g新特性RMAN UNDO备份优化

文章目录1. undo表空间概念和作用1.1 读一致性1.2 回滚事务1.3 实例恢复2. undo表空间重要参数2.1 undo_retention2.2 rentention garentee3. undo表空间操作3.1 查看UNDO表空间3.2 查看UNDO 参数3.3 增加一个回滚表空间3.4 给回滚表空间 undot2 增加一个数据文件3.5 查看数据文件以及其所属的表空间3.6 切换UNDO表空间3.7 启用和取消rentention garentee:3.8 v$undostat 视图,记录

不是一枚开发 7万+

Oracle扩展Undo表空间

1.查看数据文件位置 https://www.cndba.cn/hbhe0316/article/4966 https://www.cndba.cn/hbhe0316/article/4966 set linesize 200 col file_name for a50 col tablespace_name for a20 select file_...

hbhe0316的专栏 2705

undo表空间爆满的原因排查以及解决办法

–查看undo表空间的实时以及历史的 使用情况 如果一个表未做索引,那么他在进行dml时会产生效率很低,也有可能导致UNDOTBS表空间异常增大。一般来说INSERT生成的UNDO最少,因为对于INSERT而言, Oracle 只要记录其对应的一个“删除“行的rowid即可。其次就是UPDATE 操作,对于该操作而言,只记录修改的字节;通常,在多数情况下,我们只修改行的一小部分, 那么,UNDO会...

gsforget321的博客 1万+

oracle拓展undo表空间,undo 表空间的扩展与收缩

oracle undo表空间undo表空间用于存放undo数据,当执行DML操作(insert、update、delete)时,oracle会将这些操作的旧数据写入到undo段。undo数据的作用1.回退事务当执行DML操作修改数据后,旧数据被存放在undo段中。只要数据为提交、回滚段未写满或者回滚段为超时的情况下,旧数据都能被回滚回来。2.读一致性通过DML操作后的数据没有提交之前,其他用户读取...

weixin_39820185的博客 722

ORACLE释放UNDO表空间

在日常的数据库维护和数据库编程中经常会遇到犹豫对大数据量做DML操作后是得ORACLE的undo表空间扩展到十几个G或者几十个G 但是这些表空间的所占用磁盘的物理空间又不会被oracle所释放,如果你用的是PC机很可能会遇到磁盘空间不足的问题,经过个人整理经过如下操作可以重构undo表空间,同样temp表空间也可能在你查询大数据或则创建索引的时候无限扩大导致磁盘空间不足,同样可以用如下方式解决此问

BLACK的专栏 2322

oracle扩大undo表空间,oracle undo表空间学习

UNDO表空间用于存放UNDO数据,当执行DML操作(insert、update、delete)的时候,oracle会将这些操作的旧数据写入到UNDO段。UNDO数据也称为回滚数据,用于确保数据的一致性。作用包括:1、回退事务2、读一致性3、事务恢复4、闪回查询undo管理的参数:1、UNDO_MANAGEMENT用于指定undo数据的管理方式。如果使用自动管理,必须设置为AUTO;如果手动管理,...

weixin_31985599的博客 1992

增大system表空间、undo表空间增加一个5M数据文件并自动扩展、创建一个新的temp临时表空间

增大system表空间 1.查看表空间大小及数据文件位置 SQL> set line 132 SQL> col file_name for a50 SQL> col tablespace_name for a10 SQL> select tablespace_name,file_name,bytes/1024/1024 from dba_data_files; TABLES...

冥净的博客 2527

回收undo表空间的实现方法

UNDO表空间越来越大,产生问题的原因主要以下两点:1. 有较大的事务量曾经让Oracle Undo自动扩展2. 有较大事务长时间没有提交曾经 UNDO表空间越来越大,产生问题的原因主要以下两点: 1. 有较大的事务量曾经让Oracle Undo自动扩展 2. 有较大事务长时间没有提交曾经让Oracle Undo自动扩展 UNDO表空间变大后,把空间回收比较麻烦,Shrink命令经

ETIpiero的专栏 1464

Oracle undo表空间爆满的解决

1. 启动SQLPLUS,并用sys登陆到数据库。 #su - oracle $>sqlplus / as sysdba 2. 查找数据库的UNDO表空间名,确定当前例程正在使用的UNDO表空间: Show parameter undo_tablespace。 3. 确认UNDO表空间; SQL> select name from v$tablespace; NAME -----

疯狂的石头 2111
上一篇: RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\Program Files\Tesseract
下一篇: RMAN-06034: at least 1 channel must be allocated to execute this command
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值