有天晚上客户联系我们说,有一张表的数据量增速特别大,所在的表空间已经扩了50多G,后来我们去查看发现是一张写日志的queue table 表,里面积压了大量的表数据,每天百万级的增长。
数据库高级队列啊,这个以前都没有接触过,先查看了大量的资料,网上大神的博客和数据讲了各种原理,什么新建queue ,消息怎么进队列,怎么出队列,查了两天以后发现并不能解决当前问题,完全没有头绪,然后,就重新翻此部分的代码,巴拉巴拉,此处省略一万字的辛苦查找,发现出队列的根据msgID根据一个sequence 生成的,发现这个sequence当前数据有点小,已经跑了很久的 不可能这么小啊,后来问了客户的DBA,他们因为一些原因在前两天重启过数据库 ,然后和他们商量之后,清掉了queue table中的表数据,发现好了,误打误撞修复了此问题,后来复盘认为可能是因为入队序列和出队序列不一致造成的,后续继续跟踪,有想法的朋友也提供一些帮助,谢谢