还是上次的数据库,win2003+Oracle9.0.1
把回滚段问题解决了,顺便exp数据做了备份,想着该万事无忧了,谁知客户还是抱怨系统运行缓慢。
看来问题还是没有解决。
查看日志,没有任何错误,查看程序日志,也没有任何错误,查看Top SQL,发现当前耗时最多的SQL是一个select语句,怪哉,不会吧!
于是把这个session kill掉,然后把进程orakill掉,CPU使用率从接近100%立即降到0左右,没运行什么吗,自然接近0了。
重新运行程序,不一会CPU又占用100%,看来这次玩死我了。再次kill掉session,Orakill掉进程。
查那个出问题的表,select count(ids) from xxx; 只有185条记录;难道是索引有问题,重建索引,问题依然。
分析出问题的语句,select max(cjsj) from xxx;
xxx表非常简单,只有4列,cjsj是date,插入删除较频繁。
索引已经重建了,没什么效果。
奇怪的是select语句会引起CPU占用100%,天下奇闻,也许我知之甚少,反正从来没有遇到过。
select语句是不会引起死锁的!
表数据另存,把原表truncate,数据再插进来,执行select max(cjsj) from xxx; 哈哈,好了!汗一个~!
供有相同问题的同仁参考吧,但我希望你永远也不要遇到类似的问题。