国内最专业的IT技术学习网

Mysql数据库

当前位置:主页 > Mysql数据库 >

记一次生产环境卡顿优化过程--大事务并发回滚

发布时间:2019/08/15标签:   SQL      数据库      ASH    点击量:

原标题:记一次生产环境卡顿优化过程--大事务并发回滚

?

概述

最近生产环境有这么个现象,平时的订单调度只需要2s内可以出结果,但是多个人调度就会卡住,超过15分钟都没有结果出来,有时还会失败然后导致数据不准确。


下面记录一下生产环境卡顿时排查的过程。

1、获取ASH报告

SQL>?@?/rdbms/admin/ashrpt.sql?

--To?specify?absolute?begin?time:?

--[MM/DD/YY]]?HH24:MI[:SS]?

--08/09/19?08:40:00?





2、ASH分析

1、Top User Events


2、相关sql

Top SQL with Top Events

记一次生产环境卡顿优化过程--大事务并发回滚


sql明细


3、存储过程

记一次生产环境卡顿优化过程--大事务并发回滚


4、TOP sessions


从上面分析可以看到两个明显的等待事件:wait for stopper event to be increased 等待事件和wait for a undo record 等待事件,这个应该是批量任务调度的时候产生了大量的大事务,产生了一些回滚造成了严重的资源消耗

3、处理大事务并发回滚

一般情况下wait for stopper event to be increased 等待事件是跟wait for a undo record 等待事件联系起来的。

对于这个等待事件metalink上面有一篇文档

464246.1?

Sometimes?Parallel?Rollback?of?Large?Transaction?may?become?very?slow.?After?killing?a?large?running?transaction??

(either?by?killing?the?shadow?process?or?aborting?the?database)?then?database?seems?to?hang,?or?smon?and?parallel?query?servers??

taking?all?the?available?cpu.?

In?fast-start?parallel?rollback,?the?background?process?Smon?acts?as?a?coordinator?and?rolls?back?a?set?of?transactions?in?parallel??

版权信息Copyright ? IT技术教程 版权所有??? ICP备案编号:鲁ICP备09013610号