Oracle CPU使用率过高问题处理

Posted 癫狂编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle CPU使用率过高问题处理相关的知识,希望对你有一定的参考价值。

1.下载Process Explorer

2.打开Process Explorer,查看CPU使用情况最高的进程

3.双击该进程,查看详情

4.    获取cpu使用最好的线程tid

5.    查询sql_id

select sql_id from v$session  
  where paddr in(  
    select addr from v$process  
    where spid in(16796,11972,9812,11652,5484)  
 )  

6.根据5中的sql_id查询具体执行占用CPU过高的sql语句

select * from v$sqlarea where sql_id in(sql_id1,sql_id2,sql_id3...);  

7.查询sid和serial#

SELECT sid,serial#,sql_id from v$session where sql_id in(sql_id1,sql_id2,sql_id3...)  

8.杀掉进程

alter system kill session sid,serial#;  

或批量杀进程

SELECT alter system kill session ‘‘‘||sid||,||serial#||‘‘‘; from v$session where sql_id in(sql_id);  
 

9.分析SQL进行优化

以上是关于Oracle CPU使用率过高问题处理的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 占用cpu过高的处理办法

如何查询占CPU高的oracle进程

java cpu占用高,该怎么处理

[转]定位占用oracle数据库cpu过高的sql

Oracle内存和CPU占用率极高,是啥问题

java cpu占用高,该怎么处理