oracle的oradebug命令用法
1> oradebug有哪些可用命令?
以sysdba身份登陸數據庫,通過oradebug help可以看到oradebug常用命令
sqlplus / as sysdba
oradebug help
2> 跟蹤當前會話信息
oradebug setmypid --跟蹤當前會話
oradebug setospid --跟蹤系統進程
oradebug setorapid --跟蹤ORACLE進程
oradebug unlimit --取消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