一、UNDO表空间监控图

Prometheus监控的到UNDO表空间使用率超过90%(90%为所有表空间告警阈值)。从图中可以看到,多次增加UNDO表空间的DATAFILE,UNDO表空间达到40GB,没过多久UNDO使用率又会超过90%

二、查看UNDO块的使用情况

select s.STATUS,sum(s.BYTES)/1024/1024 from DBA_UNDO_EXTENTS s group by s.STATUS;

UNDO表空间当前没有ACTIVE的UNDO段,但是存在大量的UNEXPIRED的UNDO段。

UNEXPIRED的占到总空间的81%,但Oracle并没有及时的释放这些空间。

三、查看undo_retention

undo_retention设置为900s(15分钟),但是平时数据库不存在大量事务,900s时间也不可能使用大量的UNDO段。

四、查看V$UNDOSTAT

但从Oracle 10gR2开始,默认Oracle都开启了UNDO表空间的自动调整功能,查找V$UNDOSTAT.TUNED_UNDORETENTION发现最近一段时间该值都被自动调整到了800000多秒,也就是说UNDO表空间中的数据要保留接近10天才会过期,正是因为这么长的数据未过期时间,且表空间又足够的大,才导致了UNDO表空间的空间一致未被释放。

Oracle官方解释:

Why TUNED_UNDORETENTION is calculated so high making undo space grow fast ?
When non-autoextensible undo space is used, tuned_undoretention is calculated based on a percentage of the undo tablespace size. In some cases especially with large undo tablespace, This will make it to be calculated so large.

简单的说,就是当UNDO表空间对应的数据文件非自动扩展,且UNDO表空间又比较大的时候,tuned_undoretention的值是根据UNDO表空间大小的百分比来计算的,在一些情况下会将tuned_undoretention的值调整得特别大。

五、处理方法

将UNDO表空间的数据文件设置为自动扩展。

alter database datafile '/u02/paydb/oradata/undotbs01.dbf' autoextend on maxsize 10G;

其实数据文件已经是10GB,这样做的目的就是为了让表空间自动扩展属性被打开,但是不会在扩展了。

Oracle 11gR2 Database UNDO表空间使用率居高不下处理的更多相关文章

  1. Oracle 11gR2 Database UNDO表空间使用率居高不下-转载

    客户的数据库是Oracle Database 11.2.0.3.0 for AIX 6.1 64bit的单机数据库.客户查询DBA_FREE_SPACE发现UNDO表空间的使用率高达98%以上.客户的 ...

  2. Oracle创建新undo表空间最佳实践(包含段检查)

    在处理一则ORA-600 [4194]案例时,参考MOS文档:Step by step to resolve ORA-600 4194 4193 4197 on database crash (文档 ...

  3. 【Oracle】重做undo表空间

    重做undo表空间 场景: alert日志,报了如下错误: [oraprod@arpinfo bdump]$ tail -f alert_PROD.log Errors in file /ora115 ...

  4. ORACLE在线切换undo表空间

    切换undo的一些步骤和基本原则 原文:http://www.xifenfei.com/3367.html 查看原undo相关参数 SHOW PARAMETER UNDO; 创建新undo空间 cre ...

  5. 【Oracle】删除undo表空间时,表空间被占用:ORA-30042: Cannot offline the undo tablespace

    特别注意:此办法只用于实在没有办法的时候,因为需要加入oracle中的隐含参数,慎用!!! 1. 先查一下是什么在占用undo SYS@ENMOEDU>select segment_name,o ...

  6. 监控和管理Oracle UNDO表空间的使用

    对Oracle数据库UNDO表空间的监控和管理是我们日常最重要的工作之一,UNDO表空间通常都是Oracle自动化管理(通过undo_management初始化参数确定):UNDO表空间是用于存储DM ...

  7. 老生常谈:关于undo表空间的使用率

    就在前几天,又有一个客户向我咨询undo表空间使用率的问题. 这让我想起几年前曾经有个省份的案例,客户的实际运维人员是一位刚毕业不久的女孩,几乎不懂Oracle原理,项目经理交给她的任务也是基础运维工 ...

  8. [Oracle]undo表空间使用量为100%

    在Toad中发现undo表空间undotbs1使用量已经达到100%,但是奇怪的是数据库并没有hang住,依然可以正常运转 通过Oracle提供的EM查看undotbs1表空间的使用,也达到了78.8 ...

  9. Oracle 释放过度使用的Undo表空间

    故障现象:UNDO表空间越来越大,长此下去最终数据因为磁盘空间不足而崩溃: 问题分析:产生问题的原因主要以下两点: 1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况: ...

随机推荐

  1. 一些angular/js/ts的坑和吐槽

    ------20190318 ------------- 回头看,很多槽点已经随着升级改掉了   绑定string字面值到子组件@Input <app-overlay-static [name] ...

  2. Import Projects from git

    1:工具栏window -->show view -->Other

  3. lua中pairs 和 ipairs 的区别

    1.table中存储值的时候,是按照顺序存储的,存储 k-v 的时候,是按照 k 的哈希值存储的. 2.ipairs --- 只能输出 table 中的值,并且不可输出nil,遇到 ni l就退出 p ...

  4. learn python the hard way 习题18~25总结

    定义函数和调用函数的语法 定义函数 形式: def functionName(p1,p2): statement other statement 需要注意: 紧跟者函数定义的代码是否使用了4个空格的缩 ...

  5. 20165327 2017-2018-2 《Java程序设计》第4周学习总结

    20165327 2017-2018-2 <Java程序设计>第4周学习总结 教材内容总结 第五章 继承是一种由已有的类创建新类的机制. class 子类名 extends 父类名{ - ...

  6. 使用validate()方法进行输入校验 --Struts2框架

    服务器端的输入校验包含两种方式:硬编码方式和配置文件方式.本文演示硬编码方式中使用validate()方法进行输入校验. 1.项目目录结构: 2.项目核心代码: BookAction.java: pu ...

  7. Windows定时开机并开启工作软件

    开启休眠功能 在搜索窗口中输入“cmd.exe”,在结果中看见了“cmd.exe”,右击选择“以管理员权限运行程序”打开“cmd.exe”命令窗口,输入命令“powercfg -h on”即可开启计算 ...

  8. 03 flask数据库操作、flask-session、蓝图

    ORM ORM 全拼Object-Relation Mapping,中文意为 对象-关系映射.主要实现模型对象到关系数据库数据的映射. 1.优点 : 只需要面向对象编程, 不需要面向数据库编写代码. ...

  9. 重写TreeMap的compare方法处理配置表

    需要处理的配置表如下: 接上一篇的优化,接着优化,优化代码如下:  这段代码的关键在于重写TreeMap的compare方法. 关于如何重写TreeMap的compare方法,以及返回值代表的意义,可 ...

  10. 笔记react router 4(三)

    上一篇我们说到了路由组件的嵌套.想必你已经运用自如了.那么,这一次我们来聊一聊4.X中Router的变更. 在3.X中我们若使用路由的模式,可通过在Router上配置history的值即可. 例如, ...