微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Oracle 11g2 XE中编译PL / SQL函数有时会导致ORA-00600:内部错误

我有一个PL / sql函数,我正在使用它有时编译好,但有时给我这个错误.
ORA-00600: internal error code,arguments: [17285],[0x318FDE2C],[1],[0x273F1C60],[],[]
00600. 00000 -  "internal error code,arguments: [%s],[%s],[%s]"
*Cause:    This is the generic internal error number for Oracle program
       exceptions.  This indicates that a process has encountered an
       exceptional condition.
*Action:   Report as a bug - the first argument is the internal error number

断开连接并重新连接到Oracle和函数编译确定感到疯狂……

谷歌搜索错误代码和参数给了我这个

ERROR:
ORA-600 [17285] [a] [b] [c]

VERSIONS:
versions 7.0 to 10.1
DESCRIPTION:
Oracle is in the process of deleting an instantiation object when it
discovers that the object is currently on the call stack.
This should not occur and so ORA-600 [17285] is reported.
ARGUMENTS:
Arg [a] Instantiation object
Arg [b] Call stack nesting level
Arg [c] Library Cache Object Handle
FUNCTIONALITY:
Kernel Generic Instantiation manager

IMPACT:
PROCESS FAILURE
NON CORRUPTIVE - no corruption to underlying data.
SUGGESTIONS:
This error is usually accompanied by another error. Please check for this.

我的函数返回一个自定义的表格类型.大多数功能代码遗漏了……

CREATE TYPE t_solexp_row AS OBJECT (
obj         VARCHAR(30),dt          DATE,param       VARCHAR(30),param_id    NUMBER,val         NUMBER,change_time TIMESTAMP
);
/

CREATE TYPE t_solexp_tab IS TABLE OF t_solexp_row;
/

CREATE OR REPLACE FUNCTION get_solexp_tab(p_start_date IN DATE,p_end_date IN DATE) RETURN t_solexp_tab PIPELINED AS
BEGIN
    ...
    LOOP
        PIPE ROW(t_solexp_row(...,...,...);
    END LOOP;
    ...
    RETURN;
END;
/

任何可能导致这种行为的想法?

这不是一个自我回答的问题,但我写了一个想法,谢谢Stackoverflow!

原文地址:https://www.jb51.cc/oracle/205081.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐