客户的10.2.0.2环境在告警日志中出现这个错误。
错误信息为:
Thu Oct 27 21:18:03 2011
Errors in file /oracleapp/oracle10g/admin/ora10/udump/ora10_ora_27896.trc:
ORA-00600: internal error code, arguments: [kgscLogOff-notempty], [1], [], [],
[], [], [], []
Thu Oct 27 21:18:05 2011
Errors in file /oracleapp/oracle10g/admin/ora10/udump/ora10_ora_27896.trc:
ORA-00600: internal error code, arguments: [kgscLogOff-notempty], [1], [], [],
[], [], [], []
ORA-00081: address range [0x6000000000127430, 0x6000000000127434) is not
readable
ORA-00600: internal error code, arguments: [kgscLogOff-notempty], [1], [], [],
[], [], [], []
查询MOS发现这个bug是在会话LOG OFF的时候报错。其实从错误信息中也可以看到这一点。
*** SERVICE NAME:(SYS$USERS) 2011-10-27 21:18:03.874
*** SESSION ID:(488.65460) 2011-10-27 21:18:03.874
*** 2011-10-27 21:18:03.874
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kgscLogOff-notempty], [1], [], [],
[], [], [], []
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+64 call _etext_f()+23058430 000000000 ? 000000001 ?
09017162224
ksedmp()+1680 call _etext_f()+23058430 000000000 ?
09017162224 C000000000000D20
?
40000000052B0470 ?
000000000 ? 000000000 ?
000000000 ?
ksfdmp()+48 call _etext_f()+23058430 000000003 ?
09017162224
kgerinv()+400 call _etext_f()+23058430 400000000944F6F0 ?
09017162224 000000003 ?
C000000000000612 ?
000008F07 ? 000000000 ?
000000000 ?
kgeasnmierr()+144 call _etext_f()+23058430 6000000000015C50 ?
09017162224 6000000000016D08 ?
6000000000014240 ?
600000000011C078 ?
6000000000017070 ?
$cold_kgscLogOff()+ call _etext_f()+23058430 6000000000015C50 ?
144
09017162224
6000000000268350 ?
6000000000268360 ?
6000000000017080 ?
000000000 ? 000000001 ?
kkslof()+320 call _etext_f()+23058430 6000000000015C50 ?
09017162224
opifcs()+592 call _etext_f()+23058430 C0000001E8158788 ?
09017162224
C000000000000E21 ?
4000000002DB9C40 ?
000000000 ? 000000000 ?
ksuxds()+1504 call _etext_f()+23058430 C0000001E8158788 ?
09017162224
4000000002E57DE0 ?
000008F9F ?
9FFFFFFFBF56BFC4 ?
9FFFFFFFBF56BFC6 ?
C0000001E8158788 ?
00000003F ?
9FFFFFFFBF56BFBC
?
ksudel()+128 call 0000000000000006 C0000001E8159B78 ?
60000000001274D4 ?
9FFFFFFFFFFF6A90 ?
600000000011D1C0 ?
opilof()+2624 call 0000000000000006 C0000001E8158788 ?
6000000000127678 ?
4000000003D0C7E0 ?
C0000000000011A9 ?
00000810D ?
60000000001274D4 ?
opiodr()+2064 call
400000000304FDD0 ?
00000820F ?
9FFFFFFFFFFF7020 ?
600000000011D1C0 ?
C000000000001836 ?
Cannot find symbol in .
Cannot find symbol in .
ttcpip()+1824 call __text_start_f()+22 6000000000129A70 ?
765064 6000000000015DD0 ?
9FFFFFFFFFFFA790 ?
6000000000015DD0 ?
9FFFFFFFFFFF80C0 ?
600000000011D1C0 ?
000000000 ?
6000000000021838 ?
opitsk()+2224 call 0000000000000000 6000000000021830 ?
000000000 ?
9FFFFFFFFFFFA790 ?
000000000
?
9FFFFFFFFFFFA900 ?
9FFFFFFFFFFFA6F4 ?
4000000001EA0780 ?
9FFFFFFFFFFFA6E8 ?
opiino()+1920 call _etext_f()+23058430 000000000 ? 000000000 ?
09016090072
600000000011D1C0 ?
40000000023A45D0 ?
000008001 ?
9FFFFFFFFFFFA6E4 ?
opiodr()+2064 call _etext_f()+23058430 00000003C ?
09016090072 9FFFFFFFFFFFF0D0 ?
9FFFFFFFFFFFF0C0 ?
9FFFFFFFFFFFBE00 ?
000000084 ?
600000000010EC20 ?
opidrv()+1104 call __text_start_f()+22 6000000000129A70 ?
767104 6000000000015DD0 ?
9FFFFFFFFFFFF0C0 ?
6000000000015DD0 ?
9FFFFFFFFFFFC950 ?
600000000011D1C0 ?
sou2o()+240 call _etext_f()+23058430 00000003C ? 000000004 ?
09017120608
9FFFFFFFFFFFF0C0 ?
opimai_real()+240 call _etext_f()+23058430 9FFFFFFFFFFFF0E0 ?
09017120608 00000003C ? 000000004
?
9FFFFFFFFFFFF0C0 ?
main()+352 call _etext_f()+23058430 000000000 ?
09017120608
9FFFFFFFFFFFF110 ?
main_opd_entry()+80 call _etext_f()+23058430 000000002 ?
09017120608
9FFFFFFFFFFFF5C0 ?
C000000000033910 ?
000000000 ?
--------------------- Binary Stack Dump ---------------------
MOS中没有记录进一步的信息,不过根据后面的ORA-81错误,可以判断,应该是会话进行退出登录的清理动作时,发现了内存中有部分地址不可读,造成了这个错误的产生。
检查trace还可以发现下面的信息:
Memory dump of process state object:
Dump of memory from 0xC0000001E804BEE8 to 0xC0000001E804C6D8
C0000001E804BEE0
******** ******** [********]
C0000001E804BEF0 ******** ******** ******** ******** [****************]
Repeat 125 times
C0000001E804C6D0 ******** ******** [********]
Symbolic dump of process state object:
kqfdumpvar: address 0xC0000001E804BEE8 cannot be dumped as type 'ksupr' (8
bytes are unreadable)
KSFD PGA DUMPS
Number of completed I/O requests=0 flags=0
END OF PROCESS STATE
显然在处理PGA的时候,处理8个字节的地址不可读,导致了这个ORA-600错误。根据MOS中的记录,由于错误发生在LOG OFF的时候,可以简单的忽略这个问题,并不会对系统造成影响,而这个错误在10.2.0.4和11.1.0.6中被fixed。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-711741/ ,如需转载,请注明出处,否则将追究法律责任。