在服务器上部署网站,长沙网站维护公司,建设工程公司 网站,知更鸟wordpress主题下载问题描述
近日#xff0c;数据库的测试环境中有一个打印日志表#xff0c;一共有将近50w的数据#xff0c;Java程序在查询的时候一直超时。 在DBvisualizer中查询数据无论是使用select * 还是 select count(*)查询的时候都是一直在执行#xff0c;就是查询不到结果。
排查…问题描述
近日数据库的测试环境中有一个打印日志表一共有将近50w的数据Java程序在查询的时候一直超时。 在DBvisualizer中查询数据无论是使用select * 还是 select count(*)查询的时候都是一直在执行就是查询不到结果。
排查方式
想到最近有修改过一个字段的类型 int bigint于是考虑是否因表结构有变化导致的但根据数据库反馈的信息并没有返回-668等报错信息排除了这个问题。期间使用reorg操作试过但同样不起效果数据库表依旧没有反应。考虑直接使用rename table 后重新建表但执行后依旧无反应。drop table 删除数据表依旧没有反应。
以上操作均不奏效因没有数据库管理员权限找到数据库管理员进行排查。 查看了与该表有关的锁出现了好多个IX锁X锁和IS锁。
怀疑是锁表请管理员force掉对应的application但是由于数据库所在的服务器IP之前因一些原因重新修改过导致数据库的注册信息不一致实例用户无法对数据库进行操作。
最终决定重启数据库更新数据库的注册信息。同时在重启数据库的时候相关的进程也都被force了在重启结束后数据库表查询无反应问题解决了。
总结
数据库表一直查询无反应大概率是数据表被锁死了。下次遇到的话需要优先考虑这个问题排查的时候需要有管理员权限查看锁相关信息。
db2pd -db 数据库名字 -locks show detail | grep 表明