重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
0> oradebug使用步驟
1)啟動sql*plus并以sysdba身份登入
2)連接到一個進程
3)設(shè)置一個事件或者進行診斷轉(zhuǎn)儲
4)檢索trc文件名
5)與連接到的進程斷開
1> oradebug有哪些可用命令?
以sysdba身份登陸數(shù)據(jù)庫,通過oradebug help可以看到oradebug常用命令
sqlplus / as sysdba
oradebug help
2> 跟蹤當前會話信息
oradebug setmypid --跟蹤當前會話
oradebug setospid --跟蹤系統(tǒng)進程
oradebug setorapid --跟蹤ORACLE進程
oradebug unlimit --取消trace文件大小限制
oradebug close_trace -- 關(guān)閉 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 --關(guān)閉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系統(tǒng)hang住原因分析
如果系統(tǒng)HANG住,只要sys用戶可以登陸,那么用oradebug做原因分析是非常有用的
oradebug setmypid
oradebug unlimit
oradebug setinst all --RAC環(huán)境
oradebug hanganalyze 3 -- 級別一般指定為3足夠了
oradebug -g def dump systemstate 10 --RAC環(huán)境
oradebug tracefile_name
6> 獲取某進程的狀態(tài)信息
oradebug setospid 22180
oradebug dump processstate 10
oradebug tracefile_name
7> 獲取進程錯誤信息狀態(tài)
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