通常,诊断事件可以在session级设置,也可以在系统级设置,如果你要诊断全局错误,则最好在系统级设置较为盒式,下面是一个测试实例,仅供大家参考:
sql> alter system set event='984 trace name errorstack level 10' scope=spfile;
system altered.
sql> startup force;
oracle instance started.
total system global area 101782828 bytes
fixed size 451884 bytes
variable size 37748736 bytes
database buffers 62914560 bytes
redo buffers 667648 bytes
database mounted.
database opened.
sql> create table t (name varchar2(10),id number);
table created.
sql> insert into t values(a,1);
insert into t values(a,1)
*
error at line 1:
ora-00984: column not allowed here
sql> !
|
请注意,此刻984错误将会被跟踪,记录到跟踪文件中。注意检查udump目录,找到trace文件:
注释:此跟踪文件可以定位和诊断错误。
[oracle@jumper oracle]$ cd $admin
[oracle@jumper udump]$ ls -sort
total 1020
4 -rw-r--r-- 1 oracle 533 mar 2 16:06 t.sql
4 -rw-r--r-- 1 oracle 522 mar 3 09:44 d.sql
20 -rw-r--r-- 1 oracle 17445 mar 8 11:06 a.log
4 -rw-r----- 1 oracle 3254 mar 14 23:15 conner_ora_30683.trc
4 -rw-r----- 1 oracle 1645 mar 14 23:15 conner_ora_30701.trc
4 -rw-r----- 1 oracle 1638 mar 14 23:16 conner_ora_30719.trc
4 -rw-r----- 1 oracle 1645 mar 16 09:05 conner_ora_18565.trc
976 -rw-r----- 1 oracle 993555 mar 16 09:06 conner_ora_18589.trc
[oracle@jumper udump]$ vi conner_ora_18589.trc
/opt/oracle/admin/conner/udump/conner_ora_18589.trc
oracle9i enterprise edition release 9.2.0.4.0 - production
with the partitioning option
jserver release 9.2.0.4.0 - production
oracle_home = /opt/oracle/product/9.2.0
system name: linux
node name: jumper.hurray.com.cn
release: 2.4.21-15.el
version: #1 thu apr 22 00:27:41 edt 2004
machine: i686
instance name: conner
redo thread mounted by this instance: 1
oracle process number: 10
unix process pid: 18589, image: oracle@jumper.hurray.com.cn (tns v1-v3)
*** 2005-03-16 09:06:56.178
ksedmp: internal or fatal error
ora-00984: column not allowed here
current sql statement for this session:
insert into t values(a,1)
----- call stack trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedmp()+269 call ksedst()+0 0 ? 0 ? 0 ? 0 ? 922c89f ?
aa642a0 ?
ksddoa()+446 call ksedmp()+0 a ? aabdca8 ? b70100b0 ?
3d8 ? 1 ? b7010114 ?
ksdpcg()+521 call ksddoa()+0 b70100b0 ? aabdca8 ?
ksdpec()+220 call ksdpcg()+0 3d8 ? bfff3d20 ? 1 ?
ksfpec()+133 call ksdpec()+0 3d8 ? 3d8 ? aabae7c ?
bfff3d54 ? 9835e89 ?
aa642a0 ?
[oracle@jumper udump]$
|