oracle造成系统CPU过高的检查sql
2017-09-25 17:48
363 查看
1、 根据占用CPU高的进程号来查询这个进程执行的SQL语句:
CPU过高的进程号:
SQL语句:
CPU过高的进程号:
#首先找到CPU过高的进程号 # top -bn1 是静态找到占用最高的进程 [root@localhost ~]# top -bn1 | awk '{print $1}' | grep -A2 PID
SQL语句:
SELECT sql_text FROM V$sqltext a WHERE (a.hash_value, a.address) IN (SELECT DECODE(sql_hash_value, 0 , prev_hash_value, sql_hash_value), DECODE(sql_hash_value, 0 ,prev_sql_addr, sql_address) FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = '&pid')) ORDER BY piece ASC; ####### ex: SELECT sql_text FROM v$sqltext a WHERE (a.hash_value, a.address) IN (SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value), DECODE(sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = '31968')) ORDER BY piece ASC;
相关文章推荐
- Oracle EBS-SQL (BOM-9):检查系统BOM总数.sql
- 【Vegas原创】Oracle DB 截获造成CPU占用率很高的SQL(Windows)
- 【Vegas原创】Oracle DB 截获造成CPU占用率很高的SQL(Windows)
- Sqoop导表在大并发下造成RegionServer的系统cpu过高
- 【Vegas原创】Oracle DB 截获造成CPU占用率很高的SQL(Windows)
- Oracle EBS-SQL (PO-18):检查工作台下达的PR在系统找不到.sql
- 64位系统上运行WMware虚拟机导致CPU利用率过高的问题解决
- MS SQL Server 2000版在windows server 2003企业版系统上运行时造成数据库suspect的解决方法
- PL/SQL Developer连接Oracle 11g在Win8 64位系统下乱码
- 在VMware Workstation Pro 虚拟系统中CPU占用过高的原因?
- Oracle维护常用SQL语句(查询系统表和视图)
- Win10 服务主机:本地系统 CPU占用过高
- Oracle SQLPlus运行环境、Oracle常用系统函数
- 64位win 8系统装64位oracle遇到的sqlplus和sqldeveloper乱码解决
- 办公系统Oracle数据库监控、统计常用SQL语句
- Oracle捕获问题SQL解决CPU过渡消耗
- oracle 查询当前占用cpu及时间最长的sql语句
- Oracle诊断案例----如何捕获问题SQL解决过度CPU消耗问题
- Oracle EBS-SQL (PO-3):检查期间手工下达的采购订单记录数.sql
- Oracle EBS-SQL (INV-5):检查期间拉式物料领用记录数.sql