诊断全局错误时如何在系统级进行设置

日期: 2008-06-12 作者:Conrad 来源:TechTarget中国

  一般情况下,诊断事件可以在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]$

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Conrad
Conrad