通過linux程式號(pid)查詢Oracle的session中都執行那些sql

mahanso發表於2011-04-18
 今天有一個客戶反映登陸系統非常慢,進行排查。發現了2個效能非常差的sql,把操作過程記錄下來:

通過linux程式號(pid)查詢Oracle的session中都執行那些sql
 --1、通過系統程式查詢oracle對應的物理程式地址
select addr from v$process
where spid = '11773'

--2、通過物理程式地址查詢oracle對應的session都執行那些sql語句的id
select sql_id from v$session
where paddr= '00000000ED1564B0';

--3、通過sql_id查詢具體sql語句
select sql_text from v$sql
where sql_id = '4hrwzg1qyhayt'


之後我合併了一下:
select sql_text from v$sql
where sql_id in
(
  select sql_id from v$session
  where paddr in 
    (
        select addr from v$process 
        where spid = '11221'
    )
)

通過查詢具體pid,定位sql,接下來檢視sql執行計劃。針對具體sql解決問題。

出處:http://blog.itpub.net/12272958/viewspace-692786/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1562246/,如需轉載,請註明出處,否則將追究法律責任。

相關文章