我的编程空间,编程开发者的网络收藏夹
学习永远不晚

latch中undo global data问题的处理方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

latch中undo global data问题的处理方法

latch中undo global data问题的处理方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

五一假期期间接到运维同学的微信,说应用报错了,跟数据库有关的,发过来截图一看报错的信息是could not get next sequence value。以为是某个sequence达到了最大值,让帮忙查是哪个sequence。

于是查了dba_sequences,没有哪个sequence达到了最大值。

于是看session的信息,查询v$session中的等待事件,发现有大量的等待事件是“latch: undo global data”。从事件名字上来看应该是undo的问题。

查询undo表空间的使用率,果然到了100%。但undo是可以重复使用的,除非有非常大的事务占满了整个undo表空间,undo表空间有460多G,占满的可能性不大。

上网搜了latch: undo global data相关的文章,有一个提到MOS上的一篇文档:"LATCH: UNDO GLOBAL DATA" In The Top Wait Events (文档 ID 1451536.1)

文档中介绍这个等待事件意味着大量的session在试图找到新的undo extent和偷取未过期的undo extents。这个等待和隐含参数_undo_autotune设置为FALSE情况下的UNDO空间不足有关。

当前数据库的_undo_autotune确实为FALSE,而且undo_retention=259200,换算下来就是72小时。

先认识一下隐含参数_undo_autotune:

      从10.2版本开始,oracle默认采用自动调整undo retention的方法

      根据你undo tablespace的大小以及系统的繁忙程度(v$undostat中信息)自动调整undo_retention参数,所以在10g的数据库上你会经常发现undo tablespace永远是满的,因为当你undo tablespace有空闲空间时,系统自动调大undo_retention来保留更多的undo blocks。这一方法有利于时间长的查询,但是对于典型的OLTP系统来说不太适用。因为OLTP上不太可能跑如此长时间的查询,而且在很繁忙的 OLTP上还会导致上面所遇到的问题。

_undo_autotune=true时,undo_retention不再适用。而_undo_autotune=false时,undo_retention按设置的时间保留。

通过上面的解释,再加上五一假期期间在做数据清理工作,大量的undo被保留72小时,最终导致了undo表空间爆满,应用无法正常访问。

解决方法:

1、设置_undo_autotune=true,可以在线修改

2、增加undo表空间大小(resize现有数据文件或增加数据文件)

3、调小undo_retention参数

最终调小了undo_retention参数设置为43200(12小时),应用恢复正常。

参考:http://blog.itpub.net/4227/viewspace-1060723/

http://blog.csdn.net/dba_waterbin/article/details/8646982

看完上述内容,你们掌握latch中undo global data问题的处理方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

latch中undo global data问题的处理方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C++中字符串处理问题的解决方法

C++中字符串处理问题的解决方法概述:在C++编程中,字符串的处理是一个常见的问题,涉及到字符串的截取、拼接、查找、替换等操作。本文将介绍几种常用的解决方法,并提供具体的代码示例。一、字符串截取字符串截取是指从一个字符串中获取一部分子串。在
2023-10-22

C++中常见的异常处理问题解决方法

C++中常见的异常处理问题解决方法,需要具体代码示例引言:在编写C++程序时,时常会遇到程序出现异常的情况,如除数为0、数组越界、空指针访问等等。这些异常会导致程序的崩溃或者产生不可预测的结果,为了增强程序的稳定性和可靠性,我们需要使用异常
2023-10-22

Java中对于并发问题的处理方法是什么

本篇内容介绍了“Java中对于并发问题的处理方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先我们一起回顾一些并发的场景最基本的,
2023-07-05

Python中异常处理的常见问题及解决方法

Python中异常处理的常见问题及解决方法引言:在编写程序时,很难避免出现各种各样的错误和异常。异常处理是一种机制,可以在程序运行时捕获和处理这些异常,从而保证程序的稳定性和可靠性。在Python中,异常处理是一项非常重要的技能,本文将介绍
2023-10-22

Java工作中的并发问题处理方法有哪些

这篇文章主要介绍“Java工作中的并发问题处理方法有哪些”,在日常操作中,相信很多人在Java工作中的并发问题处理方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java工作中的并发问题处理方法有哪些
2023-06-15

Oracle归档日志爆满问题的处理方法

目录一、先清理归档日志使得数据库能够正常连接二、排查问题三、处理问题四、清理后效果最近客户单位的oracle数据库出了问题,经常出现无法连接,报错提示 ORA-00257: archiver error, Connect internal
Oracle归档日志爆满问题的处理方法
2024-10-18

linux系统报xfs_vm_releasepage警告问题的处理方法

问题说明最近的几台机器在同一天的不同时段都出现以下警告信息:Mar 26 20:55:03 host1 kernel: WARNING: at fs/xfs/xfs_aops.c:1045 xfs_vm_releasepage+0xcb/0
2022-06-04

C++中字符串处理问题及解决方法概述

C++中字符串处理问题及解决方法概述摘要:字符串处理是编程中常见的任务之一,尤其在C++中,对字符串的操作有时会遇到一些困难。本文将概述C++中常见的字符串处理问题,并提供相应的解决方法,并附上具体的代码示例。字符串长度超过限制问题描述:当
2023-10-22

JVM内存回收问题的处理方法是什么

JVM内存回收问题的处理方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。重点讨论一下JVM内存回收问题的解决方法,通常我们说的JVM内存回收总是在指堆内存回收,确实
2023-06-17

解决Springboot全局异常处理与AOP日志处理中@AfterThrowing失效问题的方法

本篇文章和大家了解一下解决Springboot全局异常处理与AOP日志处理中@AfterThrowing失效问题的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。目录一、前言二、问题三、失效场景一、前言在实际业务场景中
2023-07-06

编程热搜

目录