永发信息网

如何查询占CPU高的oracle进程

答案:1  悬赏:30  手机版
解决时间 2021-01-12 01:03
  • 提问者网友:骑士
  • 2021-01-11 15:56
如何查询占CPU高的oracle进程
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-01-11 16:51
oracle占用cpu过高怎么处理,本文将介绍有关oracle进程CPU占用率过高的问题,需要了解跟多的朋友可以参考下
1:首先使用TOP命令传到占用CPU高的SPID号
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND
3575 oracle 1 12 0 0K 0K run 748.6H 24.98% oracle
3571 oracle 1 22 0 0K 0K sleep 706.2H 22.84% oracle

2:使用DBA账户登录数据库,使用以下SQL语句查询:
SELECt * FROM V$PROCESS WHERe spid=3575;查询到SQL相关信息
3:根据以上查询到的信息使用以下SQL查询:
SELECt sid, program FROM V$SESSION S WHERe EXISTS(SELECt 1 FROM V$PROCESS WHERe spid=3575 AND ADDR = S.PADDR);
可以查询到具体那个客户端查询一直在不断占用ORACLE资源!
最后对这个查询进行处理!

4.根据SID查得SQLITPUB

复制代码代码如下:

select sql_textITPUB
from v$sqltext
where a.hashvalue=(select sql_hash_value
from v$session b
where b.SID='&sid')
0order by piece ASC;

根据lockwait字段可以查询当前正在等待的锁的相关信息:
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯