oracle 實時查詢消耗資源SQL

2022-05-09 20:50:44 字數 1081 閱讀 5777

1. 先通過top命令檢視產用資源較多的pid號,注意:top命令的user的oacle的,關注pid

2.查詢當前耗時的會話id,使用者名稱,sqlid等:其中top中的pid就是v$process的spid字段值。不是v$process檢視中的pid值

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','256500'));其中 5648612','256500' 就是查詢出的程序對應的pid值

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=''

--網友提供的----

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

sqlserver定位消耗資源比較高的sql

sqlserver檢視消耗資源的sql 具體如下 可以使用sql 快速定位資料庫裡cpu,io 消耗比較高的sql 1.定位消耗cpu,io 最高的程序資訊 selectspid,dbid,cpu,physical io,login time,last batch,status,hostname,p...

如何查詢消耗資源較大的SQL

對於優化來講,查詢消耗資源較大的sql至關重要,下面介紹幾個之前用到的sql。1.從v sqlarea中查詢最占用資源的查詢。1 select b.username username,a.disk reads reads,2 a.executions exec,a.disk reads decode...

如何查詢消耗資源較大的SQL

對於優化來講,查詢消耗資源較大的sql至關重要,下面介紹幾個之前用到的sql。1.從v sqlarea中查詢最占用資源的查詢。select b.username username,a.disk reads reads,a.executions exec,a.disk reads decode a.e...