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

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

我相信很多没有经验的人对如何处理latch中的撤销全局数据问题无能为力。为此,本文总结了问题产生的原因和解决方法,希望大家可以通过这篇文章来解决这个问题。

五一假期收到运维同学的微信,说应用报错,跟数据库有关。我发了一个截图,看到错误信息是无法获取下一个序列值。我以为是某个序列达到了最大值。请帮我找出是哪个序列。

所以我们查了dba_sequence,都没有达到最大值。

然后查看session的信息,查询v$session中的等待事件,发现大量的等待事件是“latch:撤销全局数据”。从事件的名称来看,应该是撤销的问题。

查询还原表空间的利用率,果然达到了100%。但是,撤销可以重用,除非非常大的事务占用整个撤销表空间,并且撤销表空间超过460 g,这不太可能是满的。

我在网上搜索了与latch:撤销全局数据相关的文章,其中一篇提到了MOS上的一个文档:顶级等待事件中的Latch:撤销全局数据(文档ID 1451536.1)

文档中描述的这种等待事件意味着大量会话试图找到新的撤消范围并窃取未到期的撤消范围。这种等待与隐式参数undo_autotune设置为FALSE时缺少UNDO空间有关。

当前数据库的_undo_autotune为FALSE,undo_retention=259200,相当于72小时。

首先理解隐式参数undo_autotune:

从10.2版开始,默认情况下,oracle会自动调整撤消保留。

根据您的还原表空间的大小和系统的繁忙程度(v$undostat中的信息)自动调整undo_retention参数,因此您通常会发现10g数据库上的还原表空间总是满的,因为当您的还原表空间中有空闲空间时,系统会自动增加undo_retention以保留更多的还原块。这种方法有利于长时间查询,但不适用于典型的OLTP系统。因为查询不太可能在OLTP上运行这么长时间,而且它还会导致上面在非常繁忙的OLTP上遇到的问题。

_undo_autotune=true,undo_retention不再适用。当_undo_autotune=false时,undo_retention会保留设定的时间。

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

解决方案:

1.Set _undo_autotune=true,可以在线修改。

2.增加还原表空间的大小(调整现有数据文件的大小或增加数据文件)

3.关闭撤销保留参数

最后,undo_retention参数减少到43200(12小时),应用程序恢复正常。

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

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

看完以上内容,你是否掌握了latch中撤销全局数据问题的处理方法?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/86576.html

(0)

相关推荐

  • 如何进行分布式事务Seata Saga模式以及三种模式

    技术如何进行分布式事务Seata Saga模式以及三种模式如何进行分布式事务Seata Saga模式以及三种模式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,

    攻略 2021年10月20日
  • MongoDB和MySQL的区别有哪些

    技术MongoDB和MySQL的区别有哪些这篇文章主要讲解了“MongoDB和MySQL的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoDB和MySQ

    攻略 2021年12月2日
  • SpringSecurity原理是什么

    技术SpringSecurity原理是什么本篇内容主要讲解“SpringSecurity原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringSecurity原

    攻略 2021年10月26日
  • sqlsession调用存储过程(sqlsession操作数据库的过程)

    技术如何将Session值储存于SQL Server中如何将Session值储存于SQL Server中,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能

    攻略 2021年12月17日
  • 桑蚕丝和真丝的区别,真丝与桑蚕丝的区别是什么

    技术桑蚕丝和真丝的区别,真丝与桑蚕丝的区别是什么要搞清楚真丝与桑蚕丝的区别,首先要知道什么是真丝,什么是桑蚕丝。桑蚕丝是一种人工养殖的以桑叶为食物的动物桑蚕所吐的丝纤维,主要成分是蛋白质,里面含有十八种对人体有益的氨基酸

    生活 2021年10月26日
  • oracle11g dataguard如何切换

    技术oracle11g dataguard如何切换这篇文章主要介绍“oracle11g dataguard如何切换”,在日常操作中,相信很多人在oracle11g dataguard如何切换问题上存在疑惑,小编查阅了各式

    攻略 2021年11月11日