ORA-600(12235)错误
上一篇 / 下一篇 2008-05-21 23:49:31 / 个人分类:Bug
在数据库后台查询到了这个错误,但是开始并没有发现导致这个错误的原因,直到今天的一次手误重现了错误,才找到问题的原因。
首先先看一下错误信息:
Errors in file /opt/oracle/admin/data01/bdump/data01_ora_29840.trc:ITPUB个人空间O qLv'F
ORA-00600: internal error code, arguments: [12235], [], [], [], [], [], [], []
而详细的trace描述为:
bash-2.03$ more /opt/oracle/admin/data01/bdump/data01_ora_29840.trc
%c?X t8?c6qR0/opt/oracle/admin/data01/bdump/data01_ora_29840.trcITPUB个人空间k3XHx$v k2u'O
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit ProductionITPUB个人空间N0q${%Iw/SA
With the Partitioning, OLAP and Oracle Data Mining options
IrVb(W0JServer Release 9.2.0.4.0 - ProductionITPUB个人空间T`%f!i6z W
ORACLE_HOME = /opt/oracle/product/9.2.0
)^1s
U_/Z;uL:VA0System name: SunOS
sLj3qL ^#{@0Node name: bjdb03ITPUB个人空间N"P;p5r2|-Pbwe1y
Release: 5.8
pQ9R9Jz8J
AtsI0Version: Generic_108528-22ITPUB个人空间/|6shGDgg
Machine: sun4u
j2j ilFQ.Hh0Instance name: data01ITPUB个人空间\9lo1S$]9@y8jl
Redo thread mounted by this instance: 1
.TB%o3BU t+L0Oracle process number: 0ITPUB个人空间O2Nl kP
Y
29840
Oracle program name: oracle@bjdb03ITPUB个人空间b(|\S(o'W,\$`+[{
*** 2008-05-20 14:26:18.808ITPUB个人空间sz [/P0F4zc;H
ksedmp: internal or fatal errorITPUB个人空间'@t!rF'^&XTE
ORA-00600: internal error code, arguments: [12235], [], [], [], [], [], [], []
Q!tO5g"qW@sxO0Current SQL information unavailable - no session.
U5D+l6y)C
z Wau3CI0----- Call Stack Trace -----ITPUB个人空间T`9yO3}B&vL
calling call entry argument values in hex ITPUB个人空间b3_(Rn{w
location type point (? means dubious value) ITPUB个人空间"t'FC0q3pl{/|S3h
-------------------- -------- -------------------- ----------------------------
A9@5if+y0ksedmp()+328 CALL ksedst()+0 000000009 ? 000000000 ?ITPUB个人空间;Q(Wk's$yK-G4{
000000000 ?
FFFFFFFF7FFFE248 ?
*Iwp;__ \B0 1031D6908 ?ITPUB个人空间7Q:t1as1vr#r)Q
kgeriv()+208 PTR_CALL 0000000000000000 000000000 ? 000103400 ?ITPUB个人空间*H2zQJAD
0001035DA ?
-ai,qX8oPm"q0 1035DA000 ? 1035DAE28 ?
)w_
|2cT*c0kgesiv()+108 CALL kgeriv()+0 1035DB088 ? 000000000 ?ITPUB个人空间9K-\'dF(Wg
000002FCB ? 000000000 ?
{-nayN%U*N0 FFFFFFFF7FFFEB78 ?ITPUB个人空间9u*O4q+K!A4Pl(t)C#R j'|)C
1035DC458 ?ITPUB个人空间2j:\$u7I(G2xjZGsm
ksesic0()+92 CALL kgesiv()+0 1035DB088 ? 000000000 ?
3}R!DN+q0bE0 000002FCB ? 000000000 ?
(Tt!E#l6}w1zG'Llb0 FFFFFFFF7FFFEB78 ?ITPUB个人空间)[f~.C2[.G9}6m
000000000 ?
%A"v`5v0J!j5?j0opirip()+1528 CALL ksesic0()+0 000002FCB ? 00000000D ?
%qysU8^7ZN3JrJ0 FFFFFFFF7FFFEBE0 ?ITPUB个人空间6Bf_ITq[
000000000 ? 000000800 ?ITPUB个人空间N4P3r9?
D'~ tL7Ry
*Y*V
ITE#Y0opidrv()+1012 CALL opirip()+0 000000000 ? 000000001 ?ITPUB个人空间G-t!gi g9i0d"z6M6\;[
000380000 ? 1035DAE28 ?ITPUB个人空间Bk~Y5LK
1035DFFC8 ?
#^bw.F
i.}/g+mXH0sou2o()+16 CALL opidrv()+0 000000000 ? 000000000 ?ITPUB个人空间!_6F A0P9{ a%sH)P6K
1035DABAC ? 000000032 ?
N&`LuF0 1035DB088 ? 000103400 ?
s4f v4L UFB q0main()+308 CALL sou2o()+0 FFFFFFFF7FFFF930 ?
mamR,?]N0 000000032 ? 000000000 ?ITPUB个人空间 T7k|M(C'P_a
000000000 ? 000039858 ?
+Y*VG&wBA2F,}Y5gV^y0 000000000 ?ITPUB个人空间hNN6JTE)z.vE
_start()+380 CALL main()+0 000000001 ? 000000000 ?ITPUB个人空间0~']:C;j$x!k
FFFFFFFF7FFFFA88 ?
Q3|-R2p]5}2u!]-f0 000000000 ? 000000000 ?ITPUB个人空间
I rx{G@`@
100000000 ?
无论是从上面的Oracle进程号码看,还是从会话信息看,这个trace文件都与众不同。首先这个trace文件并没有对应任何的会话信息,而且从Oracle进程号看也和普通的trace文件不同。
简单了查询了一下metalink,当时并未发现和这个现象比较相似的问题。由于又缺少会话信息,不知道是谁做了什么,因此也一直没有办法进行诊断。
知道今天一时手误,认为telnet还没有登陆,于是输入用户名oracle并回车。输入完成后才发现这个telnet窗口已经是登陆上的,换句话说,实际上执行了一个oracle命令。
查询后台alert文件,发现了这个ORA-600 [12235]错误。
其实这个错误以前也碰到过,alert文件中前面出现的那次就是这样引起的,还记得当时特意查询了metalink,文档上描述说这个错误可以忽略,只是由于手工执行了oracle命令造成的。只是当时还没有记录bug的习惯,因此在检查以往的错误信息的时候,就想不起这件事了。
不过这次查询文档确实也并不是很仔细,因为在文档Doc ID: Note:33174.1中描述了下面的文字:
Ignore the error.ITPUB个人空间/Ta6p5M#ik'~g
f(e?1N
ITPUB个人空间8Bv o3C+Y@!I
One of the most common reasons for this error to be reported is that someone typed 'oracle' manually at the OS prompt.
如果刚刚不小心执行了oracle命令,并在后台检查到了这个错误,那么问题很容易定位,但是如果是在后台日志中看到了这个错误,恐怕很难联想到是这个错误造成的。因此这里还是记录下来,避免以后再次碰到同样的错误时,仍然需要花大量的事件定位才发现是一个碰到过多次的问题。
导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报
TAG:
