根據作業系統程式號檢視oracle對應的SQL語句內容

czxin788發表於2015-03-17
我想,根據作業系統程式號檢視oracle對應的SQL語句內容,這一需求對sql最佳化有一定作用,今天整理了一下。

1、  先用ps -aux查詢,發現有個程式佔用大量CPU,記錄下PID

2、檢視哪個會話在執行什麼SQL語句,程式號是多少:

2.1 檢視所有會話對應的sql
SELECT c.spid,b.sql_text, a.sid, a.serial#, osuser, machine  
    FROM v$session a, v$sqlarea b ,v$process c
    WHERE a.sql_address = b.address and a.paddr=c.addr; 

2.2 檢視某個會話對應的sql內容
SELECT c.spid,b.sql_text, a.sid, a.serial#, osuser, machine  
    FROM v$session a, v$sqlarea b ,v$process c
    WHERE a.sql_address = b.address and a.paddr=c.addr and spid=&pid; 
 
3、 用語句select * from v$session_wait where sid=  就能查出等待事件是什麼。


4、top -d pid可以觀察某個程式的時時狀態

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

相關文章