您好,登錄后才能下訂單哦!
在使用oracle數(shù)據(jù)庫的過程中,可能會遇到各種各樣的錯(cuò)誤或異常,很多異常提示并不具體,我們有必要了解一下oracle的ErrorStack跟蹤方式。ErrorStack是oracle提供的一種對于錯(cuò)誤堆棧進(jìn)行跟蹤的方法,通過設(shè)置跟蹤可以將一些錯(cuò)誤的后臺信息詳盡轉(zhuǎn)儲出來,寫入跟蹤文件,對于錯(cuò)誤的研究與診斷非常有效。設(shè)置ErrorStack主要有4個(gè)級別:
0 僅轉(zhuǎn)儲錯(cuò)誤堆棧(0級已經(jīng)逐漸被廢棄)
1 轉(zhuǎn)儲錯(cuò)誤堆棧和函數(shù)調(diào)用堆棧
2 level 1+ProcessState
3 level 2+Context area(顯示所有cursors,著重顯示當(dāng)前cursor)
用法:
開始跟蹤: alter system set events '<error_num> trace name errorstack forever,level <level>';
結(jié)束跟蹤: alter system set events '<error_num> trace name errorstack off';
首先模擬一個(gè)錯(cuò)誤:
SQL> create table t3(id number,name varchar2(10));
表已創(chuàng)建。
SQL> insert into t3 values(1,a);
insert into t3 values(1,a)
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-00984: 列在此處不允許
下面跟蹤這個(gè)錯(cuò)誤:
SQL> alter system set events '984 trace name errorstack forever,level 3';
系統(tǒng)已更改。
SQL> insert into t3 values(1,a);
insert into t3 values(1,a)
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-00984: 列在此處不允許
SQL> alter system set events '984 trace name errorstack off';
系統(tǒng)已更改。
在alert_orcl.log文件中可以看見如下信息:
Sun Dec 18 21:08:13 2011
OS Pid: 4058 executed alter system set events '984 trace name errorstack forever,level 3'
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4058.trc:
ORA-00984: 列在此處不允許
Sun Dec 18 21:08:49 2011
Trace dumping is performing id=[cdmp_20111218210849]
Sun Dec 18 21:09:20 2011
OS Pid: 4058 executed alter system set events '984 trace name errorstack off'
截取跟蹤文件的一段錯(cuò)誤信息:
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)
----- Error Stack Dump -----
ORA-00984: 列在此處不允許
----- Current SQL Statement for this session (sql_id=9b8cruw3gwdxx) -----
insert into t3 values(1,a)
*** 2011-12-18 21:08:22.550
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。