oracle之 oradebug 命令用法

張衝andy發表於2017-08-16

0> oradebug使用步驟
 1)啟動sql*plus並以sysdba身份登入
 2)連線到一個程式
 3)設定一個事件或者進行診斷轉儲
 4)檢索trc檔名
 5)與連線到的程式斷開

1> oradebug有哪些可用命令?

以sysdba身份登陸資料庫,透過oradebug help可以看到oradebug常用命令
sqlplus / as sysdba
oradebug help

2> 跟蹤當前會話資訊
oradebug setmypid --跟蹤當前會話
oradebug setospid --跟蹤系統程式
oradebug setorapid --跟蹤ORACLE程式
oradebug unlimit --取消trace檔案大小限制 
oradebug close_trace -- 關閉 trace 
oradebug tracefile_name --檢視trace檔名及位置

3> 用oradebug做session級10046或10053
oradebug setmypid
oradebug unlimit
oradebug session_event 10046 trace name context forever ,level 4 --啟用會話級10046
oradebug event 10046 trace name context off --關閉10046事件
oradebug tracefile_name --檢視tracefile檔案位置及檔名

4> 用oradebug做oracle process級10046
oradebug setorapid
oradebug unlimit
oradebug event 10046 trace name context forever ,level 4
oradebug event 10046 trace name context off 
oradebug tracefile_name

5> oradebug系統hang住原因分析
如果系統HANG住,只要sys使用者可以登陸,那麼用oradebug做原因分析是非常有用的
oradebug setmypid
oradebug unlimit
oradebug setinst all --RAC環境
oradebug hanganalyze 3 -- 級別一般指定為3足夠了
oradebug -g def dump systemstate 10 --RAC環境
oradebug tracefile_name

6> 獲取某程式的狀態資訊
oradebug setospid 22180
oradebug dump processstate 10
oradebug tracefile_name

7> 獲取程式錯誤資訊狀態
oradebug setospid 22180
oradebug dump errorstack 3

8> 追蹤造成錯誤資訊的原因,如ORA-04031
oradebug event 4031 trace name errorstack level 3

9> 跟蹤oracle程式樣例:
oradebug setorapid 120
oradebug unlimit
oradebug event 10046 trace name context forever ,level 4
oradebug event 10046 trace name context off 
oradebug tracefile_name


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

相關文章