There is now a patch (17931569) for bug 18155614: “SR 3-9692688071 : Ora-600 when setting OCSID.DBOP tag with JDBC to a value larger than 29 byte”
In version 12.1.0.1 the following code fails with an ORA-00600 when ran in SQLPlus:
SET SERVEROUTPUT ON
DECLARE
EID1 NUMBER;
THENAME VARCHAR2(40);
NEWMAX NUMBER;
BEGIN
FOR I IN 27..30
LOOP
THENAME := RPAD('#', I, 'a');
DBMS_OUTPUT.PUT_LINE(I || ': ' || THENAME);
EID1 := DBMS_SQL_MONITOR.BEGIN_OPERATION(THENAME);
SELECT
MAX(LENGTH(DBOP_NAME))
INTO
NEWMAX
FROM
V$SQL_MONITOR;
DBMS_OUTPUT.PUT_LINE('EID : ' || EID1);
DBMS_OUTPUT.PUT_LINE('newMax: ' || NEWMAX);
DBMS_SQL_MONITOR.END_OPERATION(LTRIM(THENAME), EID1);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
IF(SQLCODE = -13755) THEN
DBMS_OUTPUT.PUT_LINE('Invalid SQL Tuning Set name: ' || THENAME);
END IF;
IF(SQLCODE = -600) THEN
DBMS_OUTPUT.PUT_LINE('ORA-600 on DBOP name[' || LENGTH(THENAME) || ']: '|| THENAME);
END IF;
RAISE;
END;
/
Error output:
Error report - ORA-00600: internal error code, arguments: [1:keommBeginOperation], [], [], [], [], [], [], [], [], [], [], [] ORA-06512: at line 29 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
Post a Comment