ORA-600[17183] With Temporary Tables (Doc ID 1244224.1)

Last updated on NOVEMBER 28, 2016

Applies to:

Oracle Database - Enterprise Edition - Version 10.2.0.3 to 10.2.0.4 [Release 10.2]
Information in this document applies to any platform.

Symptoms

This issue was observed on Oracle 10.2.0.4 64-bit on a IBM AIX 64-bit server

SYMPTOMS
Temporary tablespace filled up when doing inserts on a temp table.
During the time of the problem, ORA-600 error occurred, followed by instance termination.


ERROR:
The alert log shows the errors:
Wed Oct 13 10:24:12 2010
Errors in file /elprd2/trc/elprd2_ora_3518828.trc:
ORA-00600: internal error code, arguments: [17183], [0x7000005D5AAAB90], [], [], [], [], [], []
. . . .
Wed Oct 13 10:24:42 2010
ORA-1652: unable to extend temp segment by 512 in tablespace ESTAR_TEMP
Wed Oct 13 10:25:40 2010
Errors in file /elprd2/trc/elprd2_ora_3518828.trc:
ORA-00600: internal error code, arguments: [kxttDropObj-1], [37], [5151753], [], [], [], [], []
ORA-00600: internal error code, arguments: [17183], [0x7000005D5AAAB90], [], [], [], [], [], []
. . . .
Wed Oct 13 10:28:01 2010
Errors in file /elprd2/trc/elprd2_pmon_4001818.trc:
ORA-00600: internal error code, arguments: [17183], [0x7000005D5AAAB90], [], [], [], [], [], []
Wed Oct 13 10:28:05 2010
PSP0: terminating instance due to error 472


The trace file shows a failing statement:


INSERT INTO temptable (column1, column2, column3)
SELECT ..... FROM
another_temp_table


The trace file also shows a heap dump with the failing address in the "temporary tabl" subheap.
********** Internal heap ERROR 17183 addr=7000005d5aaab90 *********
. . . .

HEAP DUMP heap name="temporary tabl" desc=7000005f8304278
extent sz=0x1040 alt=32767 het=32767 rec=0 flg=2 opc=2
parent=700000010000058 owner=0 nex=0 xsz=0x1040
EXTENT 0 addr=7000005d5aaaa68
Chunk 7000005d5aaaa78 sz= 88 freeable " "
Chunk 7000005d5aaaad0 sz= 48 freeable "ktatt "
Chunk 7000005d5aaab00 sz= 72 free " "
Chunk 7000005d5aaab48 sz= 48 freeable "ktatt "
Chunk 7000005d5aaab78 sz= 216 free " " <--- bad address is here



The function stack shows Oracle  was trying to free memory:

ksedst <- ksedmp <- ksfdmp <- kgeriv <- kgesiv <- kgesic1 <- kgherror
kghfrf kxtthDrpPh kxttICreate kauxTICreate insSetExecTmpTabInfo insExecStmtIniEngine  <-- kghfrf is failing
insExecStmtExecIniEngine <- insexe <- opiexe <- opiodr <- rpidrus <- skgmstack
rpidru <- rpiswu2 <- rpidrv <- psddr0 <- psdexn

So we notice that we are trying to free memory at location 7000005d5aaab78 that is already free.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms