oradebug使用詳解

  oradebug的前身是在ORACLE7時的ORADBX,它可以啓動用停止跟蹤任何會話,dumpSGA和其它內存結構,喚醒ORACLE進程,如SMON、PMON進程,也可以通過進程號使進程掛起和恢復等,還有很多功能,實際上這些功能都不常用,但是我們在看別人做問題診斷時,常看到別人在使用oradebug命令,其實我感覺最好用的就是他可以直接通過命令輸出生成trace文件的名稱(帶路徑的哦),省去不少麻煩,系統HANG住用它做分析也比較好用,和大家分享一下它最常用的方法!

1> oradebug有哪些可用命令?

   以sysdba身份登陸數據庫,通過oradebughelp可以看到oradebug常用命令

   sqlplus / as sysdba

   oradebug help

2> 跟蹤當前會話信息

   oradebugsetmypid --跟蹤當前會話

   oradebugsetospid --跟蹤系統進程

   oradebugsetorapid --跟蹤ORACLE進程

   oradebugunlimit  --取消trace文件大小限制     

   oradebugtracefile_name --查看trace文件名及位置

3> 用oradebug做session級10046或10053

   oradebug setmypid

   oradebugunlimit

   oradebug session_event10046 trace name context forever ,level 4 --啓用會話級10046

   oradebug event 10046 tracename context off   --關閉10046事件

   oradebugtracefile_name --查看tracefile文件位置及文件名

4> 用oradebug做oracle process級10046

   oradebug setorapid

   oradebug unlimit

   oradebug event 10046 tracename context forever ,level 4

   oradebug event 10046 tracename context off 

   oradebug tracefile_name

5> oradebug系統hang住原因分析

   如果系統HANG住,只要sys用戶可以登陸,那麼用oradebug做原因分析是非常有用的

   oradebug setmypid

   oradebug unlimit

   oradebug setinstall  --RAC環境

   oradebughanganalyze 3 -- 級別一般指定爲3足夠了

   oradebug -g def dumpsystemstate 10  --RAC環境

   oradebug tracefile_name

6> 獲取某進程的狀態信息

   oradebug setospid 22180

   oradebugdump processstate 10

   oradebug tracefile_name

7> 獲取進程錯誤信息狀態

   oradebug setospid 22180

   oradebug dump errorstack3

8> 追蹤造成錯誤信息的原因,如ORA-04031

  oradebugevent 4031 trace name errorstack level3


原文網址:http://blog.sina.com.cn/s/blog_61cd89f60102ee3j.html

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