zoukankan      html  css  js  c++  java
  • oracle 实时查询最耗CPU资源的SQL语句

    1. 先通过top命令查看产用资源较多的spid号

    2.查询当前耗时的会话ID,用户名,sqlID等:
    select sid,serial#,machine,username,program,sql_hash_value,sql_id,
           to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time from v$session
    where paddr in (select addr from v$process where spid in ('5648612','256523'));


    3. 如果上一步sql_id或者 hash_value不为空,则可用v$sqlarea查出当前正在使用的sql
    select sql_text
      from v$sqltext_with_newlines
      where hash_value = &hash_value
    order by piece;

    select * from v$sql where sql_id=''

    ---CSDN 网友提供的----

    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'))
    ORDERBY piece ASC

  • 相关阅读:
    英语常用口语
    单词记忆(3)
    电视制式及声音制式的划分
    单词记忆(2)
    单词记忆(1)
    低调做人 高调做事
    分析数据库死锁原因的方法
    详细查看数据库SQL执行计划
    如果查看数据库链接数
    刷新所有视图
  • 原文地址:https://www.cnblogs.com/weaver1/p/2720305.html
Copyright © 2011-2022 走看看