各種平臺上透過server process的pid追蹤遠端主機ip的方法

wxjzqym發表於2012-05-09

    由於某個會話大量消耗資料庫資源導致資料庫效能下降的情況發生時,我們往往希望快速定位這個會話是有哪臺主機發起的,而v$session中的machine欄位可以快速定位主機名,但是大多數情況下我們更希望確認的是遠端主機的ip地址(在無DNS的情況下),下面是我自己總結的在window,linux,aix三種平臺下定位的方法:
     window平臺下:
    透過netstat -ano命令可以以ip地址的形式顯示與本機建立的網路連線並且顯示程式的pid,顯示pid是有選項-o決定的。
    linux平臺下:
    透過netstat -anp命令也可以達到以上效果,這裡的-p選項相當於window平臺下的-o選項
    aix平臺下:(5.3)
    在aix下無論是-o或者-p選項都無法顯示server process的pid,我們可以下載安裝lsof命令,然後透過lsof -p pid -n -i :1521 -P,這裡稍微解釋一下:
    -p:後面接的是server process的pid
    -n:為顯示ip地址(預設是主機名)
    -i:後接的是埠號(這裡為監聽的埠)
   -P:為顯示埠號(預設是顯示埠名)
     這裡有一點說明一下,lsof命令測試是在linux上進行的,所以不敢保證在aix上安裝lsof命令會與linux上一模一樣。。。 因為就拿netstat命令來說在window,linux,aix三個平臺上各有差異,不過大部分是相似的。。。
    

 

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

相關文章