【原创】查询占CPU高的oracle进程
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.hash_value=(select sql_hash_value
from v$session b
where b.SID='&sid')
0order by piece ASC;
根据lockwait字段可以查询当前正在等待的锁的相关信息:
select * from v$lock where kaddr in (select lockwait from v$session where sid= $sid);
(sql_address,sql_hash_value),(prev_sql_addr,prev_hash_value) 根据这两组字段, 可以查询到当前session正在执行的或最近一次执行的sql语句的详细信息:
select * from v$sqltext where address = &sql_address and hash_value = &sql_hash_value;
根据PID查SQL相关信息:
select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('&pid'));
根据PID查SQL语句
SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='&spid' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece;
得到进程的sid号:
select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('&pid'));
得到session的sqltext语句:
select sql_text from v$sqltext_with_newlines where hash_value in (select SQL_HASH_VALUE from v$session where paddr in (select addr from v$process where spid= '&pid')) order by piece;
【原创】查询占CPU高的oracle进程的更多相关文章
- 查看进程中占cpu高的线程方法
当在任务管理器中发现有进程占用cpu过高的时候通过下面的指令将进程快照导出到c盘 jstack -l 进程PID > c:/进程PID.stack (此命令生成.stack文件在c盘中,用文本 ...
- tomcat+java的web程序持续占cpu高问题调试【转】
转自 tomcat+java的web程序持续占cpu问题调试 - 像风一样的自由 - CSDN博客http://blog.csdn.net/five3/article/details/28416771 ...
- VMThread占CPU高基本上是JVM在频繁GC导致,原因基本上是冰法下短时间内创建了大量对象堆积造成频繁GC。
今天线上一个java进程cpu负载100%.按以下步骤查出原因. 1.执行top -c命令,找到cpu最高的进程的id 2.执行top -H -p pid,这个命令就能显示刚刚找到的进程的所有线程的资 ...
- Ubuntu1804下k8s-CoreDNS占CPU高问题排查
1.背景: 最近在ubuntu804上适配k8s的时候,部署到业务pod的时候,出现了服务器卡死,top查看发现负载很高,进行CPU排序发现如下信息,可知是CoreDNS服务导致. 2. 分析排查: ...
- omcat+java的web程序持续占cpu高问题调试【转】
1.top -c 2.查看具体线程 ps -m -p 30997 -o tid,%cpu,%mem > threads.log 3.printf %x 31865 其次将需要的线程ID转换为16 ...
- linux CPU占用率高(转)
来自:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高 gateway网关进程14094 ...
- postgresql定位分析消耗CPU高的SQL语句
第一步:使用TOP命令查看占用CPU高的postgresql进程,并获取该进程的ID号,如图该id号为3640 第二步:切换到postgres用户,并且psql连接到数据库,执行如下查询语句 SELE ...
- 查看Windows下引起Oracle CPU占用率高的神器-qslice
前言: qslice是一个win2000的工具包,能分析进程的cpu占用率,我们用于分析oracle的性能 这是绿色的软件无需安装. 我们经常会碰到oracle的CPU占用居高不下,无法快速定位到问题 ...
- Linux下java进程CPU占用率高分析方法
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...
随机推荐
- 在js在添版本号
为了增加用户访问网站体验,快速打开网页,许多网站都对不常更新的js,css文件在浏览器端设置了缓存.但如果在服务器端做了更新,浏览器使用的仍是缓存在本地的js文件,除非强制清缓存(ctrl+F5).为 ...
- SQL where 条件顺序对性能的影响有哪些
经常有人问到oracle中的Where子句的条件书写顺序是否对SQL性能有影响,我的直觉是没有影响,因为如果这个顺序有影响,Oracle应该早就能够做到自动优化,但一直没有关于这方面的确凿证据.在网上 ...
- js 屏蔽非数字字符输入
在有输入字符为数字字符的需求时,首先想到的是设置 input 的 type 为 number / tel,原因见之前的 移除input number的上下箭头 . 好巧不巧的时,在最见的项目中,碰到了 ...
- io框架
IO流的三种分类方式 1.按流的方向分为:输入流和输出流 2.按流的数据单位不同分为:字节流和字符流 3.按流的功能不同分为:节点流和处理流 (节点流表示的是直接操作节点(例如文件,键盘)的流,例如F ...
- 关于mysql无法添加中文数据的问题以及解决方案(转载)
今天弄了一天的mysql数据库,就是被一个mysql数据库乱码的问题给缠住了.现在记录一下这个问题,虽然这个问题不是什么太大的事情,但还是记录一下. 问题是这样的: 1.先在mysql的安装文件当中, ...
- ZOJ 3911Prime Query [素数处理 + 线段树]
Time Limit: 5 Seconds Memory Limit: 196608 KBYou are given a simple task. Given a sequence A[i] with ...
- PHP SOAP如何传入复杂对象
Paymentexpress有一个SOAP服务方法Check3dsEnrollment(String username,String password, EnrolmentCheckRequest t ...
- Cannot find a free socket for the debugger
win + R 输入cmd netsh winsock reset 重启电脑,重启MyEclipse,可以正常Debug了. 部分电脑可以=============================== ...
- Expressjs配置加载器
有些东西就是操刀开干,没什么好解释的.... 问题引入 解决问题 直接上码 env.js index.js 使用方法 初始化 使用方法 写在最后 问题引入 大家都知道在日常的研发过程中,我们的程序会有 ...
- 关于一些运算(&(与运算)、|(或运算)、^(异或运算)........)的本质理解【转】
看到一篇博客,关于一些运算的解析,觉得有用,怕以后找不着,直接复制下来,以备以后学习用 原文链接:https://blog.csdn.net/xiaopihaierletian/article/det ...