ORA-00600: código de error interno

Hola a todos: Hace un par de semanas tengo este problema. Estoy programando unos WebServices y he llegado al punto de quedar pegada en este que realiza la ejecución de una PL que me arroja la siguiente excepción.

El mensaje es:

ksedmp: internal or fatal error
ORA-00600: código de error interno, argumentos: [kcbnew_3], [0], [1], [4733065], [], [], [], []

la PL involucrada es:

DESA.ATFN_05_CHEQUES_VENCIDOS

el SQL involucrado es:

INSERT INTO TMP_CHEQUES_VENCIDOS(FECHA_VENCIMIENTO,CUENTA_CORRIENTE,NUMERO_DOCUMENTO,MONTO, BANCO,PLAZA,INDIV_ID,CLIENTE,DIAS_VENCIDOS,REP_CODIGO,NOMBRE) SELECT NVL(DC.FECHA_PRORROGA,DC.FECHA_VENC),DC.NRO_CTA_CTE,DC.N_REF_DOC,DC.MONTO, DC.B_EXT_CODIGO||’-‘||B.NOMBRE,DC.PLAZA_CODIGO||’-‘||P.NOMBRE,DC.INDIV_ID,I.PATERNO||’ ‘||I.MATERNO||’ ‘||I.NOMBRES, ROUND(SYSDATE – NVL(DC.FECHA_PRORROGA,DC.FECHA_VENC),0) AS DIAS_VENCIDOS,DC.REP_CODIGO,E.NOMBRE FROM DOC_CARTERA DC,BCO_EXT B,PLAZA P,INDIVIDUO I,EMPRESA E WHERE NVL(DC.FECHA_PRORROGA,DC.FECHA_VENC) <= SYSDATE AND ESTADO IN (1,4) AND DC.B_EXT_CODIGO = B.CODIGO AND DC.PLAZA_CODIGO = P.CODIGO AND DC.INDIV_ID = I.ID AND SUBSTR(DC.REP_CODIGO,1,4) = SUBSTR(E.REP_CODIGO,1,4) AND E.INDIV_ID IS NOT NULL AND E.SISTEMA = ‘AUGE’ ORDER BY E.NOMBRE ASC,DIAS_VENCIDOS DESC ,DC.B_EXT_CODIGO ASC

Este es el plan que logró armar: pero no lo pudo ejecutar

============
Plan Table
============
———————————————————-+———————————–+
| Id  | Operation                        | Name          | Rows  | Bytes | Cost  | Time      |
———————————————————-+———————————–+
| 0  | INSERT STATEMENT                  |              |      |      |  8685 |          |
| 1  |  SORT ORDER BY                    |              |  5161 |  998K |  8685 |  00:02:45 |
| 2  |  HASH JOIN                      |              |  5161 |  998K |  8458 |  00:02:42 |
| 3  |    HASH JOIN                      |              |  5162 |  781K |  2330 |  00:00:28 |
| 4  |    TABLE ACCESS FULL            | PLAZA        |  250 |  3250 |    3 |  00:00:01 |
| 5  |    HASH JOIN                    |              |  5340 |  741K |  2326 |  00:00:28 |
| 6  |      TABLE ACCESS FULL            | BCO_EXT      |    57 |  1710 |    3 |  00:00:01 |
| 7  |      HASH JOIN                    |              |  5525 |  604K |  2323 |  00:00:28 |
| 8  |      TABLE ACCESS BY INDEX ROWID | EMPRESA      |    32 |  1536 |    2 |  00:00:01 |
| 9  |        INDEX FULL SCAN            | INDX_EMPRESA01|    42 |      |    1 |  00:00:01 |
| 10  |      TABLE ACCESS FULL          | DOC_CARTERA  |  17K | 1067K |  2320 |  00:00:28 |
| 11  |    TABLE ACCESS FULL              | INDIVIDUO    | 2004K |  84M |  6097 |  00:01:14 |
———————————————————-+———————————–+

El problema que hace más complicado la ejecución de este PL, es que solo tengo permisos para mirar el código del procedimiento almacenado, no puedo ver tablas, ejecutar procedimientos ni select. Solo ver el código. Y la excepción la veo cuando debugueo la aplicación con Eclipse (Java) me tira la traza de la excepción.

He leído algunos blogs en otras partes de inet y se sugiere cambiar el driver. Actualmente utilizo classes12.jar pero dicen que debo cambiar a ojdbc14.jar. No sé si esto funcionará. Si alguien pudiera ayudarme, estaría eternamente agradecida.

Saludos, P.

Re: Error ORA-00600: código de error interno -juanpabloborrero
Creo que esta generando un problema en la insercion, crea una tabla debug y realice la insercion de la siguiente manera:

paso 1. EXEC dbms_errlog.create_error_log(‘TMP_CHEQUES_VENCIDOS’,’ERROR_LOG_TMP_CHEQUES_VENCIDOS’) ;

paso2. has el insert con al final colocando esto.

INSERT INTO TMP_CHEQUES_VENCIDOS(FECHA_VENCIMIENTO,CUENTA_CORRIENTE,NUMERO_DOCUMENTO,MONTO, BANCO,PLAZA,INDIV_ID,CLIENTE,DIAS_VENCIDOS,REP_CODIGO,NOMBRE) SELECT NVL(DC.FECHA_PRORROGA,DC.FECHA_VENC),DC.NRO_CTA_CTE,DC.N_REF_DOC,DC.MONTO, DC.B_EXT_CODIGO||’-‘||B.NOMBRE,DC.PLAZA_CODIGO||’-‘||P.NOMBRE,DC.INDIV_ID,I.PATERNO||’ ‘||I.MATERNO||’ ‘||I.NOMBRES, ROUND(SYSDATE – NVL(DC.FECHA_PRORROGA,DC.FECHA_VENC),0) AS DIAS_VENCIDOS,DC.REP_CODIGO,E.NOMBRE FROM DOC_CARTERA DC,BCO_EXT B,PLAZA P,INDIVIDUO I,EMPRESA E WHERE NVL(DC.FECHA_PRORROGA,DC.FECHA_VENC) <= SYSDATE AND ESTADO IN (1,4) AND DC.B_EXT_CODIGO = B.CODIGO AND DC.PLAZA_CODIGO = P.CODIGO AND DC.INDIV_ID = I.ID AND SUBSTR(DC.REP_CODIGO,1,4) = SUBSTR(E.REP_CODIGO,1,4) AND E.INDIV_ID IS NOT NULL AND E.SISTEMA = ‘AUGE’ ORDER BY E.NOMBRE ASC,DIAS_VENCIDOS DESC ,DC.B_EXT_CODIGO ASC
LOG ERRORS INTO ‘ERROR_LOG_TMP_CHEQUES_VENCIDOS’ REJECT LIMIT UNLIMITED

paso3. mirar el posible error de datos que te sale

Leave a Reply