利用Procexp工具监控Windows平台上的Oracle数据库性能
- 包括進程的性能數據,包括CPU、Virtual Memory、Physical Memory、I/O、Handles
- 查看詳細的線程信息(包括個別線程的CPU使用率)
- 查看線程堆棧(thread stack)
- Kill/suspend thread
- 提供系統級別的性能數據
- 創建FULL或minidump轉儲以便診斷BUG
- 可以用來判斷進程鎖住了那些DDL文件或普通文件句柄
以上SPID=3124即指TID為3124的線程為PMON"后臺進程",在Thread面板上能夠直接了解到某個線程的CPU使用率,這在我們診斷Oracle.exe進程有過高的CPU使用率時可以方便定位;點擊stack按鈕可以調出該線程當前的調用棧,這在我們確定BUG的時候很有用。?? 同時在以上Thread面板上還可以使用Kill/Suspend按鈕來殺死或停止某個異常線程(前提是我們確認所要殺死的線程是非關鍵后臺的non-critical background thread),在Windows平臺上這原本是需要使用orakill命令來完成的。?TCP/IP面板可以為我們提供簡要的進程網絡信息,包括Local Address和Remote Address,如果要獲取更完整的信息可以配合其他網絡監控工具(如工具包中的TCPView):????另一個十分有用的功能是Environment面板,該面板用以顯示詳細的環境變量信息,如:Path,TEMP,ORACLE_SID,CLASSPATH等等,在診斷一些本地登錄問題或實例異常問題時十分有效:?Procexp工具也能像taskmgr那樣監控系統級的性能信息,而且更為詳細,點擊主面板上的View -> System Information:???如上文所述View DDL/Handle功能可以幫助我們了解Oracle進程所調用的動態鏈接庫文件(DDL)和所持有的文件句柄(Handle)信息,因為Windows平臺上某個被打開的文件時無法被同時修改或移動的,這在我們維護過程中可能造成許多麻煩, 而又因為win平臺上沒有如lsof,fuser這樣的工具,所以我們在診斷Oracle軟件的某些文件鎖定問題時可以借助于該功能。?如上圖所示Oracle.exe持有”\Device\NamedPipe\*oraspawn_pipe*.4284“等多個文件的句柄。?如上圖所示Oracle.exe加載了多個ora開頭的DDL,因為Windows平臺上的特殊性,Oracle軟件大量使用DDL庫來替換在Unix平臺上編譯在Oracle 2進制鏡像中的指令,這樣方便了升級(直接替換DDL文件就可以了,無需編譯,這也導致Windows平臺上PSU/CPU補丁發布的特殊性),可以注意到這些DDL文件還標有Version信息,大多為11.02.0000.0001,編譯時間為2010/2/10 9:01。 在較新版本的Procexp工具中還加入了create dump功能,以完善該工具的診斷能力。針對Oracle實例的異常現象和Bug可以創建進程轉儲信息,以便提交給Oracle Support分析問題,一般來說你并不需要親自分析dump文件,這是一項高級功能,不要對正常運行著的生產數據庫使用這一終極手段。?總結?如果你還在抱怨Windows平臺上為什么沒有一個如Unix平臺上NMON功能強大的監控軟件的話,那么Procexp會是一個非常杰出的選擇,另一點需要感恩的是這是一款免費軟件,訪問該軟件的Homepage,可以讓你了解更多的有用信息。
本文轉自maclean_007 51CTO博客,原文鏈接:http://blog.51cto.com/maclean/1277855
總結
以上是生活随笔為你收集整理的利用Procexp工具监控Windows平台上的Oracle数据库性能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql设置
- 下一篇: Windows Server 2012