下午监控酒窖数据库的时候,突然发现cpu使用率猛涨,具体信息如下:
拉出对应的sql语句,发现有大量的排序操作,单独放到pl/sql里面执行,然后操作系统层面查看对应的磁盘写操作,发现有大量的临时表空间写操作,询问酒窖相关人员,这几天也没有上什么新的功能,都是些老的sql,然后查询操作系统内存使用情况,发现64G的内存只剩下2G左右的空闲内存了,于是释放内存,之后发现数据库回归到了正常情况,但是没有持续多久cpu使用率又涨上去了,查询相关sql,依旧是之前的语句,拿出来仔细研究发现,这个查询语句,涉及到4张表,2个排序操作,但是其中有张表where条件没有关联,从而造成查询的时候形成了笛卡尔集的查询结果,数据量几百万,而且实时查询又很多,应该是这个原因造成的,于是联系开发人员,改写相关sql,重新紧急发布上线,之后数据库就恢复正常了,如下:
具体原因,初步推断应该是该功能模块,最近执行的比较多,只是推断,继续排查吧。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25618347/viewspace-717312/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25618347/viewspace-717312/