ORA-00600:内部错误代码,参数:[5213],[],oracle 8
我创建此查询是为了检索特定结果。 但是,它给了我这个错误。 我从1995年起就有记录了。所以,如果我想检索所有的数据。我得到以下错误ORA-00600:内部错误代码,参数:[5213],[],oracle 8,oracle,oraclereports,oracle8i,Oracle,Oraclereports,Oracle8i,我创建此查询是为了检索特定结果。 但是,它给了我这个错误。 我从1995年起就有记录了。所以,如果我想检索所有的数据。我得到以下错误 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
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 ;
我曾试图修复它,但没有结果。无论如何,错误行是38,这是:TSDED,GEHA,ITEM。
我的oracle数据库是8i您运行的oracle版本是什么?如果你是 使用低于8.1.6.3的版本,您可能 点击bug 1331849 描述:具有一个或多个UNION ALL的查询 一次磁盘排序操作可能会失败,并出现错误ORA-600 [[5213]] 通常,ora-00600是一个内部错误,通常与某些内部结构损坏或数据库中的错误有关
要解决这个问题,我认为最简单的方法可能是使用表格(临时或非临时);分别插入所需的行,避免使用union all并查询表。您运行的是什么版本的Oracle?如果你是 使用低于8.1.6.3的版本,您可能 点击bug 1331849 描述:具有一个或多个UNION ALL的查询 一次磁盘排序操作可能会失败,并出现错误ORA-600 [[5213]] 通常,ora-00600是一个内部错误,通常与某些内部结构损坏或数据库中的错误有关
要解决这个问题,我认为最简单的方法可能是使用表格(临时或非临时);分别插入所需的行,避免union all并查询表。如果我们假设union中的每个查询都可以正常工作,而没有错误;然后 可能会强制引擎具体化结果,然后使用内联视图/子查询进行排序
SELECT *
FROM (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) mSub
ORDER BY
G_NO,
I_NO,
THE_ORDER,
THE_DATE;
如果我们假设union中的每个查询都可以正常工作,而不存在错误;然后 可能会强制引擎具体化结果,然后使用内联视图/子查询进行排序
SELECT *
FROM (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) mSub
ORDER BY
G_NO,
I_NO,
THE_ORDER,
THE_DATE;
该表名为items。错误显示项目。。。是哪一个?表示修补到8.1.7或增加排序区域大小。表名为items。错误显示项目。。。是哪一个?表示要修补到8.1.7或增加排序区域大小。oracle 8.1.6.0.0。我读过那篇文章。未找到任何修补程序文件是该修补程序由Oracle支持部门分发。然而,8.1.6已经失去支持这么长时间了(将近二十年),这是甲骨文只向非常受欢迎的客户(即为超级高级支持付费的公司)提供的产品。这是在不支付支持许可证的情况下运行古老软件的风险。该漏洞与
union-all
有关,如果使用union
会怎么样(以查看它是否有效)。oracle 8.1.6.0.0。我读过那篇文章。未找到任何修补程序文件是该修补程序由Oracle支持部门分发。然而,8.1.6已经失去支持这么长时间了(将近二十年),这是甲骨文只向非常受欢迎的客户(即为超级高级支持付费的公司)提供的产品。这是在不支付支持许可证的情况下运行古老软件的风险。该错误与union-all
有关,如果使用union
会怎么样(以查看它是否有效)。每个查询是否独立运行?它是否在没有订单的情况下运行?你能把结果存储在一个临时表中,然后从中选择,这样它就不会在磁盘上运行了吗(我在这里查看解决方法。真正的答案是使用支持的版本)。每个查询是否独立运行?它是否在没有订单的情况下运行?您能否将结果存储在临时表中,然后从中进行选择,这样它就不会穿过磁盘(我在这里查看解决方法。真正的答案是使用受支持的版本)