I have a PL/SQL function that I'm working with that sometimes compiles ok but sometime give me this error.
ORA-00600: internal error code, arguments: [17285], [0x318FDE2C], [1], [0x273F1C60], [], [], [], [], [], [], [], []
00600. 00000 - "internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%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
Disconnecting and reconnecting to the Oracle and the function compiles ok which feels crazy...
Googling the error code and argument gave me this
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.
My function returns a custom table type pipelined. Most function code left out...
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;
/
Any idea of what may cause this behavior?