在linux 系统中 用top命令查出CPU最高的SPID,再将SPID给存储过程,可以查出该进程的SQLTEXT

create or replace procedure pro_get_sqltext(pin_spid      in varchar2,
pout_sqltext out varchar2,
pout_sqltests out clob,
pout_sql_kill_sid out varchar2) is v_spid number := 0;
v_sid number := 0;
v_serial number := 0;
v_sqltext varchar2(4000) := '';
v_sqltexts clob:='';
v_sql_kill_sid varchar2(4000) :=''; begin begin
select SID, serial#
into v_sid, v_serial
from v$session
where paddr in (select addr from v$process where spid in (pin_spid)); v_sql_kill_sid:=' alter system kill session '||''''||v_sid||','||v_serial||''''||';';
pout_sql_kill_sid:=v_sql_kill_sid; exception
when NO_DATA_FOUND THEN
pout_sqltext := 'the sid do not be founded';
v_sql_kill_sid := 'the sid do not be founded';
end; begin
select q.SQL_TEXT,q.SQL_FULLTEXT
into v_sqltext,v_sqltexts
from v$sqlarea q
where exists (select *
from v$sqltext a
where exists (select sql_hash_value
from v$session b
where b.SID = v_sid
and a.HASH_VALUE = b.sql_hash_value)
and q.SQL_ID = a.SQL_ID); pout_sqltext := v_sqltext;
pout_sqltests:=v_sqltexts; exception
when NO_DATA_FOUND then
pout_sqltext := 'the SQL_TEXT do not be founded';
end;
commit; end pro_get_sqltext;

存储过程:通过操作系统进程查询SQL

SELECT s.SID,
p.SPID,
q.SQL_TEXT,
q.SQL_FULLTEXT,
s.LOGON_TIME,
s.STATUS,
q.CPU_TIME/1000/1000 "minutes",
q.ELAPSED_TIME/1000/1000 "minutes"
FROM v$process p, v$session s, v$sql q
where s.PADDR = p.ADDR
and q.SQL_ID = s.SQL_ID
and s.TYPE = 'USER'
and s.STATUS='ACTIVE'
;

查询SQL

分解SQL如下:

select s.SID,
s.serial#,
s.username,
s.osuser,
s.machine,
s.program,
s.process,
to_char(s.logon_time, 'yyyy/mm/dd hh24:mi:ss') logon,
p.spid
from v$session s,v$process p
where 1=1
and s.PADDR=p.ADDR
and P.spid in ('')
; select sql_text,a.SQL_ID
from v$sqltext a
where a.HASH_VALUE=(select sql_hash_value
from v$session b
where b.SID='')
order by piece ASC; select * from v$sqlarea q
where q.SQL_ID='akf0uyy10kgn9'
; --------------------- select *
from (select q.SQL_ID,q.SQL_TEXT, q.SQL_FULLTEXT,s.SID,s.SERIAL#
from v$sqlarea q,v$session s
where q.SQL_ID=s.SQL_ID
and LAST_ACTIVE_TIME>=to_date('2016-05-03 08:00:00','YYYY-MM-DD HH24:MI:SS')
AND INSTR(PARSING_SCHEMA_NAME,'SYS') <=0
order by cpu_time desc)
where rownum <= 15
order by rownum asc; alter system kill session '634,40971';

SQL通过SPID查询SQLTEXT

性能优化-查询最耗CPU的SESSION与SQL的更多相关文章

  1. 查询oracle比较慢的session和sql

    注:本文来源:sxhong   <查询oracle比较慢的session和sql> ---查询最慢的sql select * from ( select parsing_user_id,e ...

  2. SQL脚本--总耗CPU最多的前个SQL --平均耗CPU最多的前个SQL

    --总耗CPU最多的前个SQL SELECT TOP 20 total_worker_time/1000 AS [总消耗CPU 时间(ms)],execution_count [运行次数], qs.t ...

  3. MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY)

    在上一篇文章MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介中介绍了EXPLAIN语句,并举了一个慢查询例子:

  4. 性能优化之基础资源cpu&内存(JVM)

    本章主要介绍计算机的一些基础资源以及操作系统处理后的一些基础资源. 主要包括 cpu 内存 磁盘 网络 线程 本章会介绍这些资源的一些原理,介绍如何查看资源的数量,使用情况,对性能和整体计算机执行的一 ...

  5. 查询总耗CPU最多与平均耗CPU最多的SQL语句

    总耗CPU最多的前20个SQL total_worker_time AS [总消耗CPU 时间(ms)],execution_count [运行次数], qs.total_worker_time AS ...

  6. mysql 之 group by 性能优化 查询与统计分离

    背景介绍 记录共128W条!   SELECT cpe_id, COUNT(*) restarts FROM business_log WHERE operate_time>='2012-12- ...

  7. SqlServer性能优化 查询和索引优化(十二)

    查询优化的过程: 查询优化: 功能:分析语句后最终生成执行计划 分析:获取操作语句参数 索引选择 Join算法选择 创建测试的表: select * into EmployeeOp from Adve ...

  8. 记一次SQL性能优化,查询时间从4000ms优化到200ms.

    以下这句SQL是从PLM中获取代办工作流的.没优化前SQL语句执行一次大概4000ms(4秒). select ch.change_number changeNumber, f.text change ...

  9. SQL性能优化-查询条件与字段分开执行,union代替in与or,存储过程代替union

    PS:概要.背景.结语都是日常“装X”,可以跳过直接看优化历程 环境:SQL Server 2008 R2.阿里云RDS:辅助工具:SQL 审计 概要 一个订单列表分页查询功能,单从SQL性能来讲,从 ...

随机推荐

  1. D - Charm Bracelet 背包问题

      Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Pra ...

  2. select与epoll、apache与nginx实现原理对比

    转自:http://www.tuicool.com/articles/AzmiY3 关于select与epoll 两种IO模型,都属于多路IO就绪通知,提供了对大量文件描述符就绪检查的高性能方案,只不 ...

  3. matlab norm的使用

    格式:n=norm(A,p)功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM Matrix or vector n ...

  4. TypeError: The CanvasRenderingContext2D.webkitBackingStorePixelRatio getter can only be used on instances of CanvasRenderingContext2D

    ios10: CanvasRenderingContext2D.prototype.webkitBackingStorePixelRatio 报异常

  5. Activity Lifecycle

    Activity Lifecycle Activities in the system are managed as an activity stack(activity栈?). When a new ...

  6. hdu 3666 Making the Grade

    题目大意 给出了一列数,要求通过修改某些值,使得最终这列数变成有序的序列,非增或者非减的,求最小的修改量. 分析 首先我们会发现,最终修改后,或者和前一个数字一样,或者和后一个数字一样,这样才能修改量 ...

  7. ZPPR101-批量更改BOM组件

    ************************************************************************ Title : ZPPR101 ** Applicat ...

  8. public static void main(String[] args){}函数诠释

    public static void main(String[] args){}函数诠释 主函数的一般写法如下: public static void main(String[] args){-} 下 ...

  9. POJ 1502 MPI Maelstrom

    MPI Maelstrom Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other) Total ...

  10. JQuery onload、ready概念介绍及使用方法

    页面加载完成有两种事件,一是ready,表示文档结构已经加载完成,onload,ready概念容易混淆,下面为大家详细介绍下   页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包 ...