ORA-00600: 内部错误代码,参数:[5213],[][][][],oracle 8
Posted
技术标签:
【中文标题】ORA-00600: 内部错误代码,参数:[5213],[][][][],oracle 8【英文标题】:ORA-00600: internal error code, arguments:[5213],[][][][], oracle 8 【发布时间】:2017-06-28 14:39:20 【问题描述】:我创建了这个查询来检索特定的结果。 但是,它给了我这个错误。 我有自 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) 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
【问题讨论】:
该表被命名为项目。错误显示项目......它是什么? dba-village.com/village/dvp_forum.OpenThread?ThreadIdA=4864 说要修补到 8.1.7 或增加排序区域大小。 【参考方案1】:您运行的是哪个版本的 Oracle?如果你是 使用低于 8.1.6.3 的版本你可能是 遇到错误 1331849,
描述:具有 UNION ALL 及以上的查询 一个磁盘排序操作可能会失败并出现错误 ORA-600 [[5213]]
http://www.orafaq.com/forum/t/9968/
通常 ora-00600 是一个内部错误,通常这与某些内部结构损坏或数据库中的错误有关。
要解决这个问题,我认为最简单的方法可能是使用表(临时或非临时);单独插入您需要的行,避免联合所有并查询表。
【讨论】:
甲骨文 8.1.6.0.0。我读过那篇文章。没有找到任何补丁文件 是的,补丁由 Oracle Support 分发。然而,8.1.6 已经停止支持很长时间(将近 20 年),这是 Oracle 只向备受青睐的客户(即支付超高级支持的公司)提供的那种东西。这是在不支付支持许可的情况下运行古老软件的风险。 这个bug是用union all
,如果用union
会怎么样(看看是否有效)。【参考方案2】:
如果我们假设联合中的每个查询都可以正常工作且不会出错;然后 可能会强制引擎将结果具体化,然后使用内联视图/子查询进行排序。
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;
【讨论】:
每个查询是否独立运行?它是否在没有订单的情况下运行?您能否将结果存储在临时表中,然后从中进行选择,这样它就不会跨越磁盘(我正在寻找解决方法。真正的答案是使用受支持的版本)以上是关于ORA-00600: 内部错误代码,参数:[5213],[][][][],oracle 8的主要内容,如果未能解决你的问题,请参考以下文章
导入数据的时候,遇到oracle错误600,ora-00600,内部错误代码,参数[kcbnew-3],[4],[
ORA-00600: 内部错误代码, 参数: [kcm_headroom_warn_1], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: 内部错误代码, 参数: [ktspgfblk3:kcbz_objdchk], [0], [0],
求教ORACLE的问题,我用的是ORACLE 9I,出现一个ORA-00600:内部错误代码,参数:[qernsRowP],[1],[]....