一、问题描述
运行在Windows上的Oracle开发库的oracle进程CPU使用率保持在99%,服务器和数据库均反应缓慢。
二、排查思路
可能造成CPU使用率高的情况有:大量排序、大量SQL解析、全表扫描、Oracle Bug等。因此希望找到占用CPU较高的进程ID(UNIX或LINUX)或线程ID(Windows)来找到对应的SQL语句,以分析问题的原因。
三、处理步骤
-
下载process explorer工具,用于查看Windows环境下的进程和线程信息。
-
双击oracle.exe进程,查看oracle的线程信息,按照CPU使用率倒序排序,找到占用CPU较高的TID。(如在UNIX或LINUX系统中,使用top命令即可获得占用CPU较高的进程ID,使用进程ID去数据库中查找对应信息即可)
-
使用上面找到的TID代入下面的SQL查询对应的SQL语句或会话信息。
SELECT sql_text FROM v$sqltext a
WHERE (a.hash_value, a.address) IN (


916

被折叠的 条评论
为什么被折叠?



