如果sql中出现一个死循环占用了大量的user cpu(pct)则需要查询出该spid--addr--sid,serial#,sql_text然后kill session,window中使用工具qslice 或者itpub friend fuyuncat's topshow来查询出spid
v$osstat busy_time/idle_time表示cpu的繁忙率,代表的是server提供的主机中CPU是不是瓶颈属性
http://www.cnblogs.com/fenny8/archive/2009/03/16/1412839.html
http://www.eygle.com/faq/Kill_Session.htm
ORACLE CPU过高的一次调整过程
文章出处:http://www.diybl.com/course/7_databases/oracle/Oracleshl/2008810/135671.html
http://blog.chinaunix.net/u1/39379/showart_376209.html
[@more@]Select * From v$sqlarea Where address = '2E6DC5D4'
Select * From v$session Where paddr = '3464DDBC'
Select * From v$process Where spid = 1368
Alter System Kill Session '148,9601'
Select * From v$osstat
Select * From v$sysstat
Select * From v$sesstat
Select * From v$mystat
Select * From v$sql
Select * From V$vmstat
Select * From (Select * From v$sqlarea Order By buffer_gets Desc) Where Rownum <= 10 --cpu_time for loop
Select * From v$sql Where sql_id = '2psa9b228y377'
Select * From v$sqltext Where Sql_id = '2psa9b228y377'
403438
Select * From v$session Where sql_address = '2FBBC030'
378676
Select To_number(558,'xxxx') From dual
Declare
vl_a int;
vl_b int;
begin
while true
loop
vl_a := vl_b;
end loop;
end;
/
--which sql use the cup(pct) highest
Select sql_text
From v$sqlarea
Where address=(Select sql_address From v$session Where paddr = (Select addr From v$process Where spid = to_number(558,'xxxxx')))
Alter System Kill Session
了解到了v$sql,v$sqlarea,v$sqltext,v$sql_newline
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/450962/viewspace-1026986/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/450962/viewspace-1026986/