服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

怎样使用errorstack进行错误跟踪及诊断

通常,诊断事件可以在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]$

扫描关注微信公众号