ORA-600(rpidrv-3)错误
上一篇 / 下一篇 2008-05-15 23:53:22 / 个人分类:Bug
一个没有什么危害的小bug。当建立视图时,访问一张不存在的表时,可能引发这个错误。
错误信息为:
Errors in file /u1/oracle/admin/repdb01/udump/repdb01_ora_4346.trc:ITPUB个人空间w0Qh'v$~
ORA-00600: internal error code, arguments: [rpidrv-3], [], [], [], [], [], [], []
对应的trace文件中,错误信息为:
ksedmp: internal or fatal error
t,YU.j u9z0ORA-00600: internal error code, arguments: [rpidrv-3], [], [], [], [], [], [], []
4C&s{g!}R0Current SQL statement for this session:
'D`S~GvU@'M0create or replace view zh_ndmain.gpo_reg_product_public as
vD
yo]aj0selectITPUB个人空间:{!j(Nm_
a.ID,
uQ wP5F.y)q5w0 b.DATA_PRODUCT_ID,
KO%FQ _-Y(QI0 a.REG_ORG_ID as MANUFACTURE_ID,ITPUB个人空间C\,E5aY@2BOoa
a.STATUS,
d#h.sl4QB0 a.REG_DATE,
/z^*tN^%s0 a.REG_END_DATE,
!o1`8yRI0 a.EXPIRY_STATUS,
wd2]:Py0 a.CREATE_DATE,
(c;E$\Mo"n\{ B0 a.CREATE_USER,ITPUB个人空间X}G'pBU
a.LAST_UPDATE_DATE,ITPUB个人空间U i){5DY_L
a.LAST_UPDATE_USER,ITPUB个人空间']I3K-~R%X
a.REMARK,
S7mu5r-u0 a.BID_FLAG,ITPUB个人空间j,_*G5h.j'\Yt
a.TRADE_FLAG
V.~xbT.o0a0 from GPO_AGENT_SELLER a,GPO_REG_PRODUCT b
%h(?n0s M"z-ynY1}0 where a.REG_PRODUCT_ID=b.id
v%v?$`2]Y0^ L0 and a.agent_level in(1,2)
|KKo.bT0----- Call Stack Trace -----
3tT/I4O*^:e3hq;n0calling call entry argument values in hex
!rmU4lX6[^,I;F f0location type point (? means dubious value)
+Z$S
H
g`h+CE+K}_0-------------------- -------- -------------------- ----------------------------ITPUB个人空间#J:d4x7?S:T
]'UmH
ksedmp()+328 CALL ksedst()+0 FFFFFFFF7FFF5850 ?ITPUB个人空间9}
friF#mQ9M
000000000 ? 000000000 ?ITPUB个人空间fP2h4C1DP,@1]^/U'MK'U
00000003E ?
+ML*~oZ*P yo0 FFFFFFFF7FFF60E8 ?ITPUB个人空间+b5{w}a@!Fi]
1031D
kgerinv()+184 PTR_CALL 0000000000000000 000000000 ? 000103400 ?ITPUB个人空间\g4]}s
0001035D9 ?
1035D9000 ? 1035D
kgesinv()+20 CALL kgerinv()+0 1035D9E88 ? 1036FA708 ?ITPUB个人空间j:HR ~ l%c0_&`
\7V
V.vk:CI_
p0 1035DBF94 ? 1035DB258 ?ITPUB个人空间6si)kA?
`ZzA
ksesin()+88 CALL kgesinv()+0 1035D9E88 ? 1036FA708 ?
/BP&Wl{T0 103195D60 ? 000000000 ?
2PK
f'it#fTO0 FFFFFFFF7FFF
a"q"?w#s3~;xq,UK0 FFFFFFFF7CF5CD48 ?ITPUB个人空间$b+_'B1j[7|
rpidrv()+2748 CALL ksesin()+0 103195D60 ? 000000000 ?ITPUB个人空间*P*OH^n
Ks%l+W
000000000 ?
4H ZD^j
Z9MX0 07FFFFC00 ?
7JxD~7tWl0rpiope()+72 CALL rpidrv()+0 000000064 ? 0001035E5 ?
$^B6RE:CsL:m)C+G0 000000000 ? 000000008 ?
6E)y;oS7v0
%JU?#\tk[)V?0 FFFFFFFF7FFF6B38 ?ITPUB个人空间Eb$hc5|w%Au
kqdgtc()+360 CALL rpiope()+0 000000002 ?
000000002 ? 000000000 ?ITPUB个人空间4Y'YDr^d
000000010 ? 000000000 ?
根据错误函数查询,找到metalink上对应的bug描述:Doc ID: Note:2949392.8。
根据Oracle的描述,这个错误确认影响的版本是9204,9205和
根据bug中的描述,当Oracle在创建一个视图的时候,没有检查创建视图的用户是否是一个存在的用户,从而导致了内部错误的发生。
比如下面就模拟了这个错误的产生,其中ABC用户并不存在:
SQL> CREATE OR REPLACE VIEW ABC.CAT_VIEW ASITPUB个人空间@%g3n#K1P1}'`(F
2 SELECTITPUB个人空间2f2|%VleV"U
3 A.ID,
z&r
spb"RP0 4 B.ID,
Yq7qc'Z I.Jf"c0 5 A.NAME,
!~?rGCgv0 6 A.ENABLE_FLAG
9rqw3SF
L&f0 7 FROM CAT_NOT_EXIST B, CAT_ORG A
f7r/r.zVU1m ~2@0 8 WHERE A.ID=B.IDITPUB个人空间;M-ol X7o\Y
9 ;