背景:
数据库日常巡检发现:线上数据库开始出现了序列的争抢(几乎是所有序列都出现了明显的争抢) 。 跟业务人员交流后,业务人员反馈业务运行速度与平常比有较明显的下降,明显的一卡一卡。
处理过程:
1. 首先查看争抢的序列, 通过快照拉取相关序列调用的次数进行对比, 发现序列调用与往常相比没有明显提升,即业务没有明显变化;
2. 排查相关序列是否都有Cache, 发现部分相关序列都有Cache,部分序列没有Cache,但是部分序列有Orders;
3. 首先将相关序列的Cache进行扩大, 将没有Cache 的序列增加Cache.
alter sequence object_name cache 2000;
4. 同时咨询业务序列的Orders 属性能否去掉,答复无法去除;
5. 执行完第三步后,发现序列的争抢现象有所缓解,争抢依然存在,同时前端业务反馈,业务运行依然有一卡一卡的现象;

6. 对相关表进行统计信息收集,发现统计信息收集完成后,争抢消除,业务正常;
7. 观察一周,业务均正常。
交流:
事后与大咖交流,该问题很诡异,可能是共享池的某片内存空间中存了很多队列的Cache值,争抢出现在数据库的内存块上。
最后修改时间:2022-05-28 20:50:16
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




