性能优化-查询最耗CPU的SESSION与SQL

在linux 系统中 用top命令查出CPU最高的SPID,

然后按下面

select SID,

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 (‘24566‘));

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 s.SID=‘1050‘

;

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=‘634‘)

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‘;

时间: 2024-10-16 22:52:08

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

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 sp

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

本章主要介绍计算机的一些基础资源以及操作系统处理后的一些基础资源. 主要包括 cpu 内存 磁盘 网络 线程 本章会介绍这些资源的一些原理,介绍如何查看资源的数量,使用情况,对性能和整体计算机执行的一些影响.本章很多内容都基于linux,不是特殊说明,就是针对linux的情况.可能在其它操作系统不一定适用. 另外还会对jvm之上的一些内容做特殊说明,因为大家很大的一些积累都在jvm之上,内部的系统基本也建立在jvm上. jvm 指令 jvm 内存使用 cpu cpu是计算机里最重要的资源,没有之

mysql数据库性能优化 - 查询缓存

查询缓存       缓存机制简单的说就是缓存sql文本和查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要去解析和执行sql,如果表更改了,那么使用这个表的所有缓存查询将不再有效,查询缓存值的相关条目被清空.更改指的是表中任何数据或是结构的改变,包括insert.update.delete.truncate.alter table.drop table或drop database等.这对频繁更新的表,查询缓存是不适合的,而对一些不常改变数据且大量相同的sql查询的表,查询缓存

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

以下这句SQL是从PLM中获取代办工作流的.没优化前SQL语句执行一次大概4000ms(4秒). 1 select ch.change_number changeNumber, f.text changeDetail, u1.last_name creator, 2 l.value status, to_char(create_date,'yyyy-mm-dd hh24:mi:ss') createDate, 3 so.signoff_status type 4 from agile.chang

查询oracle比较慢的session和sql

--查询最慢的sql select * from (select parsing_user_id,executions,sortscommand_type,disk_reads,sql_text from v$sqlarea order by disk_reads desc)where rownum<10 --查询对应session select SE.SID,SE.SERIAL#,PR.SPID,SE.USERNAME,SE.STATUS,SE.TERMINAL,SE.PROGRAM,SE.M

【转】查询oracle比较慢的session和sql

-查询最慢的sql select * from ( select parsing_user_id,executions,sorts command_type,disk_reads,sql_text from v$sqlarea order by disk_reads desc )where rownum<10 --查询对应session select SE.SID,SE.SERIAL#,PR.SPID, SE.USERNAME,SE.STATUS,SE.TERMINAL, SE.PROGRAM,

转:查询oracle比较慢的session和sql

--查询最慢的sql select * from (select parsing_user_id,executions,sortscommand_type,disk_reads,sql_text from v$sqlarea order by disk_reads desc)where rownum<10 --查询对应session select SE.SID,SE.SERIAL#,PR.SPID,SE.USERNAME,SE.STATUS,SE.TERMINAL,SE.PROGRAM,SE.M

sql server 性能优化和日常管理维护 笔记

1.将sqlserver Profile收集到的trace 比如 duration >5000ms 的trace 文件 导入到sample 表分析或者用查询优化器顾问分析 2.可以用DMV 动态管理视图来查询分析 sqlserver性能,使用情况,比如 查询最近50条最耗时的sql. --总耗CPU最多的前个SQL:SELECT TOP 20 total_worker_time / 1000 AS [总消耗CPU 时间(ms)] , execution_count [运行次数] , qs.tot

【转载】SQL Server中查询CPU占用高的SQL语句

本文导读:触发器造成死锁.作业多且频繁.中间表的大量使用.游标的大量使用.索引的设计不合理.事务操作频繁.SQL语句设计不合理,都会造成查询效率低下.影响服务器性能的发挥.我们可以使用sql server自带的性能分析追踪工具sql profiler分析数据库设计所产生问题的来源,进行有针对性的处理:下面介绍SQL Server中如何查询CPU占用高的SQL语句 SQL Server中查询CPU占用高的情况,会用到sys.sysprocesses ,dm_exec_sessions ,dm_ex