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 a.*,b.SQL_TEXT from (

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 ('23226'))

) a,v$sql b

where a.sql_id  = b.SQL_ID(+)




4.kill佔用大資源的session

Alter system kill session 'SID,SERIAL#' 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章