undo表空间使用率99%居高不下
背景:两套同样的测试环境,一套数据库Undo使用率一直处于99%,已经持续了很长一段时间,而另外一套几乎为0
排查手段:
1. 查看占用高的undo表空间使用情况,发现都是unexpired的状态
-- 整体undo使用情况
select b.tablespace_name,nvl(used_undo, 0) "USED_UNDO(M)",total_undo "Total_undo(M)",trunc(nvl(used_undo, 0) / total_undo * 100, 2) used_PCTfrom (select nvl(sum(bytes / 1024 / 1024), 0) used_undo, tablespace_namefrom dba_undo_extentswhere status in ('ACTIVE', 'UNEXPIRED')and tablespace_name in(select value from v$parameter where name = 'undo_tablespace')group by tablespace_name) a,(select tablespace_name, sum(bytes / 1024 / 1024) total_undofrom dba_data_fileswhere tablespace_name in(select value from v$parameter where name = 'undo_tablespace')group by tablespace_name) bwhere a.tablespace_name(+) = b.tablespace_name;
-- 各状态undo使用情况统计
select tablespace_name,status,sum(bytes)/1024/1024 MB from dba_undo_extents
where tablespace_name like 'UNDOTBS%'
group by tablespace_name,status
order by 1
2. 确认undo配置。
show parameter undo --undo_retention配置为默认值900
select file_name,autoextensible from dba_data_files where tablespace_name='UNDOTBS1'; --已关闭自动扩展
select tablespace_name,retention from dba_tablespaces where tablespace_name='UNDOTBS1'; --nogurantee,说明暂时还不会报错,Undo会覆盖已过期的
3. 搜索引擎得到的
听闻Oracle从10.2开始自动启用了undo表空间的自动调增功能,可以通过查看v$undostat.tuned_undoretention确认真实的undo_retention,经查看tuned_undoretention都是900,可以排除这种原因。
但仔细一看,v$undostat中事务的begin_time为2018年9月,现在才6月。。
到此原因就已经清楚了,主机往前调整过时间,调整期间这部分9月份的事务是永远不会过期的!只有默默挨到9月份
4. 解决方法
主机时间向前调整比如从9月份调整到3月份会出现此问题,9月份的事务一直不能被覆盖,往后调整则没有该问题。重启数据库后事务时间即可与主机时间同步。但仍然需要重建undo表空间:新建Undotbs2并进行切换,删除原有的undotbs1,不细说了
undo表空间使用率99%居高不下相关推荐
- 万答#18,MySQL8.0 如何快速回收膨胀的UNDO表空间
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 背 ...
- SYSAUX表空间使用率高问题处理
一般来讲除开业务数据存放的表空间,DBA要着重关注SYSTEM,SYSAUX,UNDO,TEMP表空间,SYSTEM表空间的大小一般是衡定的,UNDO和TEMP表空间的大小由数据库的业务情况决定,而S ...
- undo表空间文件丢失恢复(3)--无备份无redo的情况下恢复
undo表空间的数据文件丢失,如果没有备份的情况下,而且redo也不可用,这个时候就要采用隐藏参数来恢复,下边给出一个例子. undo表空间文件丢失恢复(1)--有备份的情况下恢复:http://bl ...
- oracle的表空间的检查,oracle数据库检查所有表空间使用率的脚本
oracle数据库检查所有表空间使用率的脚本 REM tablespace report set linesize 200 select a.tablespace_name, round(a.byte ...
- Oracle数据库查看表空间使用率
12C之前或NON-CDB模式的数据库查看表空间使用率 set linesize 160 set pagesize 999 col TABLESPACE_NAME for a18 col TBS_TO ...
- UNDO表空间满问题
问题现象 业务日志大量报错: ; nested exception is java.sql.SQLException: ORA-30036: unable to extend segment by 8 ...
- oracle 10g undo 管理,Oracle 10g undo表空间管理
一.oracle 9i起,有两种undo管理方式:AUM Automatic Undo ManagementMUN Manual Undo Management建议使用 AUM ,下面只讨论AUM 一 ...
- UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决
模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF 删除 模拟启库 SQL> STARUP; * 第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 2 ...
- oracle 10g磁盘管理,Oracle 10g UNDO表空间过大导致磁盘空间不足的解决
在Oracle 10g数据库的应用中,出现了UNDO表空间过大导致磁盘空间不足而崩溃的现象(ORA-30036: unable to extend segment by 8 in undo table ...
最新文章
- wamp php非线程安全,wampserver PHP多版本切换
- vue $emit $on 非父子非兄弟组件传值
- c++ socket框架
- python中文读音ndarray-numpy中的ndarray方法和属性详解
- MATLAB从入门到精通-matlab图像处理标记点追踪识别程序
- nyoj--79--导弹拦截(动态规划)
- MySQL百万级/千万级数据存储解决方案
- MySQL的INSERT INTO··· ON DUPLICATE KEY UPDATE使用的几种情况
- Python 数据科学入门教程:TensorFlow 聊天机器人
- 再谈初学者关心的ssh应用方方面面
- 编辑距离(线性DP+暴力匹配)
- x264源码下载信息
- 【基础教程】信噪比+香农公式【1748期】
- 极通ewebs3.2企业版介绍
- 如何高效阅读一篇英文学术类论文?
- Telink blt_soft_timer 改进
- 计算机科任学 排名,2018软科中国最好学科排名正式发布
- abs函数的使用方法 oracle,abs函数什么意思oracle
- 【UE4_蓝图】map函数以及Clamped和Unclamped的区别
- web前端期末大作业 HTML+CSS+JavaScript仿唯品会购物商城网页设计实例 企业网站制作
热门文章
- 市场营销重要十要素?
- 网络信息传播与控制综述
- Nodejs: TypeError: The super constructor to “inherits“ must not be null or undefined
- 印度为监狱装上 AI ,监控 700 所监狱内恶性事件
- XZ_Python之使用关键词抓取京东搜索页面数据
- 解决谷歌chrome浏览器主页被强制篡改2345、桔梗网、360导航的问题。
- 英特尔与波士顿咨询公司联合向企业客户推售 AI
- 异端审判器 一个泛用型文本聚类模型的实现(2)
- 计算机导论基于计算思维答案,基于计算思维的计算机导论课程改革实践.PDF
- Android系统开机启动流程