国内最专业的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 databasethen 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号