Search code examples
oracleoraclereportsoracle8i

ORA-00600: internal error code, arguments:[5213],[][][][], oracle 8


I have created this query to retrieve specific results. but, it gives me this error. I have records since 1995. so, if I want to retrieve all the data. I get the following error.

ERROR at line 38:
ORA-00600: internal error code, arguments:[5213],[][][][]

SELECT TO_NUMBER(SOLF.I_NO) I_NO,
GEHA.G_NAME,
ITEMS.I_NAME,
TO_NUMBER(SOLF.G_NO) G_NO,
NVL(SOLF.SL_MONY,0) SL_MONY,
SOLF.SL_DATE THE_DATE,
SOLF.SRF_NO SRF_NO,
SOLF.SOLF_NO SOLF_NO,
SUM(NVL(TS_MONY,0)) TS_MONY,
NVL(SOLF.SL_MONY,0)- SUM(NVL(TS_MONY,0)) TOTAL, 1 THE_ORDER
FROM 
SOLF,TSDED,GEHA,ITEMS
WHERE
SOLF.SOLF_NO = TSDED.SOLF_NO(+)
AND GEHA.G_NO = SOLF.G_NO
AND
ITEMS.I_NO = SOLF.I_NO
GROUP BY SOLF.I_NO, 
GEHA.G_NAME,
ITEMS.I_NAME ,
SOLF.G_NO, 
SOLF.SL_MONY, 
SOLF.SL_DATE, 
SOLF.SRF_NO, 
SOLF.SOLF_NO
UNION ALL
SELECT TO_NUMBER(TSDED.I_NO) I_NO,
GEHA.G_NAME,
ITEMS.I_NAME,
TO_NUMBER(TSDED.G_NO) G_NO,
0 SL_MONY,
TSDED.TS_DATE THE_DATE , 
TSDED.SRF_NO SRF_NO,
TSDED.SOLF_NO SOLF_NO,
SUM(NVL(TS_MONY,0)) TS_MONY,
0 -SUM(NVL(TS_MONY,0))  TOTAL, 2 THE_ORDER
FROM 
TSDED,GEHA,ITEMS
WHERE
GEHA.G_NO = TSDED.G_NO
AND
TSDED.SOLF_NO NOT IN 
(
SELECT SOLF_NO
FROM 
SOLF
)
AND
ITEMS.I_NO = TSDED.I_NO
GROUP BY TSDED.I_NO, 
GEHA.G_NAME,
ITEMS.I_NAME ,
TSDED.G_NO, 
TSDED.TS_DATE, 
TSDED.SRF_NO, 
TSDED.SOLF_NO
ORDER BY G_NO, I_NO , THE_ORDER ,THE_DATE ; 

I have tried to fix it, but with no results. anyways, the error line is 38 which is : TSDED,GEHA,ITEM. my oracle database is 8i


Solution

  • What version of Oracle are you running? If you are using a version below 8.1.6.3 you are probably hitting bug 1331849,

    Description: Queries with a UNION ALL and more than one disk sort operation may fail with error ORA-600 [[5213]]

    http://www.orafaq.com/forum/t/9968/

    In general ora-00600 is an internal error, usually this is related to some internal structure getting corrupted or a bug in the database.

    To work around the issue the easiest way I think is probably to use a table (temporary or not); separately insert the row you need there avoiding the union all and query the table.