Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> About ORA-08102 in Oracle Enterprise Edition Release 8.0.4.0.0

About ORA-08102 in Oracle Enterprise Edition Release 8.0.4.0.0

From: <ehdeza_at_my-deja.com>
Date: Mon, 20 Sep 1999 07:35:50 GMT
Message-ID: <7s4o4m$133$1@nnrp1.deja.com>


The Server return the following error :

Oracle ERROR (0): "ORA-08102: index key not found, obj# 6627, dba 469762784 (2)
"
Last ORACLE SQL statement : 0 delete from mic_cliente where rowid = :x

with the following function, in the sentence EXEC SQL DELETE mic_cliente WHERE CURRENT OF CursorCliente:

ProcesoCliente()

{

   EXEC SQL DECLARE CursorCliente CURSOR FOR

             SELECT
cdef_pais,cdef_entidad,cdef_region,cdef_zona,cdef_sucursal,

                    cdef_cliente_nuevo,cdef_cliente_viejo
               FROM mic_cliente
                FOR UPDATE;

   EXEC SQL OPEN CursorCliente;

  if ( ChecaErrorOracle(0,1,&rowcount) != GFI_ERRC_OK)

          {
           printf("%s MIC_CLIENTE\n",Error232);
           desconecta_db();
           exit(1);
          }

   for (;;)
   {

      EXEC SQL FETCH CursorCliente
                INTO :tmp_pais, :tmp_ent, :tmp_reg, :tmp_zona, :tmp_suc,
                     :tmp_nuevo, :tmp_viejo;
      result = ChecaErrorOracle(0,1,&rowcount);

      if (result != GFI_ERRC_OK)

{
break; } else
{
EXEC SQL SELECT COUNT(*) INTO :cuenta FROM mic_relcta WHERE rela_cliente_nuevo = :tmp_nuevo; result = ChecaErrorOracle(0,1,&rowcount); if (cuenta==0) { strncpy(nuevo_reg.sPais,tmp_pais,2); strncpy(nuevo_reg.sEntidad,tmp_ent,2); strncpy(nuevo_reg.sRegion,tmp_reg,2); strncpy(nuevo_reg.sZona,tmp_zona,2); strncpy(nuevo_reg.sSucursal,tmp_suc,4); strncpy(nuevo_reg.sClienNuevo,tmp_nuevo,9); strncpy(nuevo_reg.sNumClien,tmp_viejo,40); Error(271,1); strcpy(nuevo_reg.sError,ea.sError); EscribeRegistros(); EXEC SQL DELETE mic_cliente WHERE CURRENT OF CursorCliente; if ( ChecaErrorOracle(0,1,&rowcount) != GFI_ERRC_OK) { printf("%s MIC_CLIENTE\n",Error282); desconecta_db(); exit(1); } nRech++; } nReg++; }

   }

   Estadistica3(sFich,sProg,nReg,nRech);    EXEC SQL CLOSE CursorCliente;

   if ( ChecaErrorOracle(0,1,&rowcount) != GFI_ERRC_OK)

{

         printf("%s  MIC_CLIENTE\n",Error267);
         desconecta_db();
         exit(1);
      }

   EXEC SQL COMMIT;
}

All indexes of the table Mic_Cliente was in the VALID status. I'm think that is probability a bug of Oracle Seerver 8.0.4, by contrast this sentence is successfully in the Oracle Server 7.3.4.

Please, Help me

Ernesto.

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't. Received on Mon Sep 20 1999 - 02:35:50 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US