zoukankan      html  css  js  c++  java
  • oracle造成系统CPU过高的检查sql

    1、 根据占用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;
    
  • 相关阅读:
    RMI笔记
    java 本地方法(JNI)
    java 的SPI机制
    eclipse中的 Compiler compliance level含义
    初步理解JNDI
    大数据5.1
    大数据4.1
    需要攻破的知识点
    大数据4.2 -- hive数据库
    大数据---单词释义
  • 原文地址:https://www.cnblogs.com/frankielf0921/p/7593066.html
Copyright © 2011-2022 走看看