某项目生产环境突然出现大量update语句堆积
走索引扫描 没有明显异常
在备机对数据分布进行统计,最大的receiveid 条数为19000条,不应该执行超过10分钟还没有结束
v$sessions里面trx_id可以和v$trx id字段进行关联
这里UPD_CNT为91万比较可疑,单个receiveid最大为19000 为啥会update91万数据呢,打开 sqllog日志对事务号进行过滤
通过会话找到事务ID 98796522981 进行过滤 可以看到该事务里面传入了100多个receiveid 每个receiveid 都有上万行数据这里解释了为啥v$trx 更新了上百万的数据。
联系业务人员对相关数据进行排查,发现每个receiveid存在大量异常数据,导致每个事务更新很多行数据,然后产生锁等待,最终导致会话堆积。将对应功能暂停使用后,删除异常数据,更新正常。
文章
阅读量
获赞
