cpu占用过多的查找

如果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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值