ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-600(17281)(1001)错误(二)

ORA-600(17281)(1001)错误(二)

原创 Linux操作系统 作者:yangtingkun 时间:2012-02-02 23:50:15 0 删除 编辑

和第一次碰到这个错误不同,这次是在10.2环境中出现的。

ORA-600(17281)(1001)错误:http://yangtingkun.itpub.net/post/468/514806

 

 

告警日志中错误信息为:

Tue Jan 31 15:55:55 2012
Errors in file /oracle/admin/ORCL/udump/orcl_ora_6225970.trc:
ORA-00600: internal error code, arguments: [17281], [1001], [0x70000059AB9BE38], [], [], [], [], []
ORA-01001: invalid cursor

详细TRACE信息如下:

Dump file /oracle/admin/ORCL/udump/orcl_ora_6225970.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /oracle/orcl/10.2.0
System name:  AIX
Node name:    porcl2
Release: 1
Version: 6
Machine: 00F67AD94C00
Instance name: ORCL
Redo thread mounted by this instance: 1
Oracle process number: 503
Unix process pid: 6225970, image: oracleORCL@porcl2

*** SERVICE NAME:(SYS$USERS) 2012-01-31 15:55:55.419
*** SESSION ID:(4136.11880) 2012-01-31 15:55:55.419
*** 2012-01-31 15:55:55.419
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [17281], [1001], [0x70000059AB9BE38], [], [], [], [], []
ORA-01001: invalid cursor
Current SQL statement for this session:
declare  cursor NlsParamsCursor is    SELECT * FROM nls_session_parameters;begin  SELECT Nvl(Lengthb(Chr(65536)), Nvl(Lengthb(Chr(256)), 1))    INTO :CharLength FROM dual;  for NlsRecord in NlsParamsCursor loop    if NlsRecord.parameter = 'NLS_DATE_LANGUAGE' then      :NlsDateLanguage := NlsRecord.value;    elsif NlsRecord.parameter = 'NLS_DATE_FORMAT' then      :NlsDateFormat := NlsRecord.value;    elsif NlsRecord.parameter = 'NLS_NUMERIC_CHARACTERS' then      :NlsNumericCharacters := NlsRecord.value;    elsif NlsRecord.parameter = 'NLS_TIMESTAMP_FORMAT' then      :NlsTimeStampFormat := NlsRecord.value;    elsif NlsRecord.parameter = 'NLS_TIMESTAMP_TZ_FORMAT' then      :NlsTimeStampTZFormat := NlsRecord.value;    end if;  end loop;end;
----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
ksedst+001c          bl       ksedst1              000000008 ? 000000000 ?
ksedmp+0290          bl       ksedst               1048E2120 ?
ksfdmp+0018          bl       03F34B6C            
kgeriv+0108          bl       _ptrgl              
kgeasi+0118          bl       kgeriv               11046CD88 ? 1101B37C0 ?
                                                   104A364BC ? 7000000100067F8 ?
                                                   000000000 ?
kgicli+0188          bl       kgeasi               110190630 ? 1104AE040 ?
                                                   438100004381 ? 200000002 ?
                                                   200000002 ? 000000000 ?
                                                   0000003E9 ? 000000002 ?
kgidlt+0398          bl       kgicli               000000800 ? 000000001 ?
kgidel+0018          bl       kgidlt               FFFFFFFFFFF91A8 ? 000000000 ?
                                                   000000001 ? 000000000 ?
                                                   FFFFFFFFFFF9558 ?
perabo+00ac          bl       kgidel               FFFFFFFFFFF90E8 ? 1102247F0 ?
perdcs+0034          bl       perabo               FFFFFFFFFFF9440 ? 110190630 ?
                                                   FFFFFFFFFFF91A0 ?
peidcs+01dc          bl       perdcs               FFFFFFFFFFF92F0 ? 110190630 ?
kkxcls+00a4          bl       peidcs               FFFFFFFFFFF9558 ? 11046A640 ?
kxsClean+0044        bl       kkxcls               1100C99F8 ?
kxsCloseXsc+0444     bl       kxsClean             FFFFFFFFFFF9850 ?
kksCloseCursor+031c  bl       kxsCloseXsc          11046D038 ? 000000000 ?
opicca+00c4          bl       kksCloseCursor       104A503C0 ?
opiclo+0098          bl       opicca               1001376F0 ?
kpoclsa+0050         bl       03F35D58            
opiodr+0adc          bl       _ptrgl              
ttcpip+1020          bl       _ptrgl              
opitsk+10b0          bl       ttcpip               1100C99F8 ? 90000000063A614 ?
                                                   FFFFFFFFFFFB680 ?
                                                   2842288400000001 ?
                                                   9000000007307A8 ? 000000001 ?
                                                   11062EAF8 ? FFFFFFFFFFFB820 ?
opiino+0990          bl       opitsk               000010860 ? 000000000 ?
opiodr+0adc          bl       _ptrgl              
opidrv+0474          bl       opiodr               3C1028E590 ? 4102909B0 ?
                                                   FFFFFFFFFFFF490 ? 0A0082608 ?
sou2o+0090           bl       opidrv               3C02AB579C ? 4A0071248 ?
                                                   FFFFFFFFFFFF490 ?
opimai_real+01bc     bl       01FA4A34            
main+0098            bl       opimai_real          000000000 ? 000000000 ?
__start+0070         bl       main                 000000000 ? 000000000 ?

--------------------- Binary Stack Dump ---------------------

查询MOS发现这是JDBC THIN CLIENT导致的,具体文档参考Intermittent ORA-600 [17281], ORA[1001] With JDBC Thin Client [ID 436914.1],这个问题与Bug 4359111非常类似,但是这个bug已经在10.2.0.2中被FIXED,而当前数据库的版本是10.2.0.3,而当前的问题影响的版本就包含10.2.0.3,且堆栈中的错误函数可以完全对应到文档给出的错误信息。

这个问题在10.2.0.4以后被修正,11g中同样修正了这个问题。如果短期数据库不会升级,且错误频繁发生,可以考虑替换客户端的ojdbc14.jar文件为10.2.0.4版,因为这个问题的解决是在JDBC客户端,因此客户端的驱动更新后,这个问题就可以被修正,而不需要升级数据库本身的版本。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-715590/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Oracle VM用户手册
请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10367405