Error ORA-00600

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Post Reply
zenfra
Rank: Programador Júnior
Rank: Programador Júnior
Posts: 23
Joined: Fri, 20 Jul 2007 12:49 pm
Location: São Paulo - SP

Good morning everyone ...

I'm making a selection for generating a txt file in my profuse database and a mistake is taking place or-00600, would you like to know if you can help me?
Error:

Select all

ORA-00600: internal error code, arguments: [srsale_2], [0], [161], [], [], [], [], [] 
ORA-06512: at line 100

The consultation that is generating the error is listed below:

99]]

Select all

DECLARE 
  
  CURSOR CR IS 
             SELECT  
                   PA.PA_NUMAPA, 
                   PA.PA_CODUNI                                                                                       , 
                   PA.PA_CODPRO                                                                                       , 
                   PA.PA_FXETAR                                                                                       , 
                   PA.PA_DATPR                                                                                        , 
                   PA.PA_UFMUN                                                                                        , 
                   PA.PA_CIDPRI                                                                                       , 
                   PA.PA_CIDSEC                                                                                       , 
                   PA.PA_MORFOL                                                                                       , 
                   PA.PA_UF                                                                                           , 
                   SUM(PA.PA_QTDPRO)                                                                 AS QUANTIDADEPRO , 
                   SUM(PA.PA_QTDAPR)                                                                 AS QUANTIDADEPR  , 
                   SUM(PA.PA_VALPRO)                                                                 AS VALORPRO      , 
                   SUM(PA.PA_VALAPR)                                                                 AS VALORPR 
              FROM  
                   PA 
                    
             WHERE 
                   PA.PA_CODPRO IN('3635101','3635102','3635103','3635104','3635105','3635106','3635107','3635108' 
                                  ,'3635109','3635110','3635111','3635112','3635113','3635114','3635116','3635117' 
                                  ,'3635118','3657101','3657102','3657103','3657104','3657105','3657106','3657107' 
                                  ,'3657108','3657109','3657110','3657111','3657112','3657117','3657118','3657113' 
                                  ,'3657114','3657115') 
                
               AND PA.PA_DATPR BETWEEN '200608' AND '200708' 
          GROUP BY 
                   PA.PA_NUMAPA, 
                   PA.PA_CODUNI        , 
                   PA.PA_CODPRO        , 
                   PA.PA_FXETAR        , 
                   PA.PA_DATPR         , 
                   PA.PA_UFMUN         , 
                   PA.PA_CIDPRI        , 
                   PA.PA_CIDSEC        , 
                   PA.PA_MORFOL        , 
                   PA.PA_UF         ; 
 
      -- DECLARA VARIAVEL ARQUIVO COMO FILE_TYPE; 
         ARQUIVO UTL_FILE.FILE_TYPE; 
 
      -- DECLARA VARIAVEL NOVO_REGISTRO DO TIPO CR%ROWTYPE 
         NOVO_REGISTRO CR%ROWTYPE; 
 
      -- INICIO DA SESSAO DE TRANSACOES 
BEGIN 
  
      -- ABRE ARQUIVO PARA ESCRITA 
      ARQUIVO := UTL_FILE.FOPEN('RELATORIO','BOEHRINGER_DATASIM_CRMSUS_PARKINSON_200608_200708_LEFT.TXT','W'); 
   
      -- ABRE CURSOR 
      OPEN CR; 
 
      -- CABECALHO DE ARQUIVO 
      -- CRIA PRIMEIRA LINHA EM ARQUIVO TXT COM OS NOMES DOS CAMPOS PARA IMPORTACAO 
      UTL_FILE.PUT_LINE(ARQUIVO, 
                               'PA_CODUNI'      ||';'|| 
                               'PA_CODPRO'      ||';'|| 
                               'PA_FXETAR'      ||';'|| 
                               'PA_DATPR'       ||';'|| 
                               'PA_UFMUN'       ||';'|| 
                               'PA_CIDPRI'      ||';'|| 
                               'PA_CIDSEC'      ||';'|| 
                               'PA_MORFOL'      ||';'|| 
                               'PA_UF'          ||';'|| 
                               'QUANTIDADEPRO'  ||';'|| 
                               'QUANTIDADEPR'   ||';'|| 
                               'VALORPRO'       ||';'|| 
                               'VALORPR'); 
 
 
       -- ATRIBUI PRIMEIRA LINHA DE REGISTRO EXISTENTE EM CURSOR PARA VARIAVEL NOVO_REGISTRO 
       FETCH CR INTO NOVO_REGISTRO; 
  
       -- INICIO DO LOOP PARA PREENCHIMENTO DO ARQUIVO TXT 
       LOOP 
 
       UTL_FILE.PUT_LINE(ARQUIVO, 
                               NOVO_REGISTRO.PA_CODUNI      ||';'|| 
                               NOVO_REGISTRO.PA_CODPRO      ||';'|| 
                               NOVO_REGISTRO.PA_FXETAR      ||';'|| 
                               NOVO_REGISTRO.PA_DATPR       ||';'|| 
                               NOVO_REGISTRO.PA_UFMUN       ||';'|| 
                               NOVO_REGISTRO.PA_CIDPRI      ||';'|| 
                               NOVO_REGISTRO.PA_CIDSEC      ||';'|| 
                               NOVO_REGISTRO.PA_MORFOL      ||';'|| 
                               NOVO_REGISTRO.PA_UF          ||';'|| 
                               NOVO_REGISTRO.QUANTIDADEPRO  ||';'|| 
                               NOVO_REGISTRO.QUANTIDADEPR   ||';'|| 
                               NOVO_REGISTRO.VALORPRO       ||';'|| 
                               NOVO_REGISTRO.VALORPR); 
 
       -- TERMINA LOOP 
       EXIT WHEN CR%NOTFOUND; 
 
       -- ATRIBUI NOVA LINHA DE REGISTRO EXISTENTE EM CURSOS CR PARA VARIAVEL NOVO_REGISTRO 
       FETCH CR INTO NOVO_REGISTRO; 
 
       -- FIM DO LOOP 
       END LOOP; 
 
       -- FECHA O CURSOR 
       CLOSE CR; 
 
END;

Thanks!
User avatar
dr_gori
Moderador
Moderador
Posts: 5026
Joined: Mon, 03 May 2004 3:08 pm
Location: Portland, OR USA
Contact:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Dude ... When you give 00600 you have to call Oracle support because it's something more serious! :(
zenfra
Rank: Programador Júnior
Rank: Programador Júnior
Posts: 23
Joined: Fri, 20 Jul 2007 12:49 pm
Location: São Paulo - SP

Do you know how do I get in touch with the support?
I have a contract, but I can not access the contact page
cigano
Rank: Programador Júnior
Rank: Programador Júnior
Posts: 16
Joined: Tue, 28 Jun 2005 11:39 am
Location: Pindamonhangaba - SP

Try to change the loop for example:

Select all

For NOVO_REGISTRO in CR loop 
 
UTL_FILE.PUT_LINE(ARQUIVO, 
                               NOVO_REGISTRO.PA_CODUNI      ||';'|| 
                               NOVO_REGISTRO.PA_CODPRO      ||';'|| 
                               NOVO_REGISTRO.PA_FXETAR      ||';'|| 
                               NOVO_REGISTRO.PA_DATPR       ||';'|| 
                               NOVO_REGISTRO.PA_UFMUN       ||';'|| 
                               NOVO_REGISTRO.PA_CIDPRI      ||';'|| 
                               NOVO_REGISTRO.PA_CIDSEC      ||';'|| 
                               NOVO_REGISTRO.PA_MORFOL      ||';'|| 
                               NOVO_REGISTRO.PA_UF          ||';'|| 
                               NOVO_REGISTRO.QUANTIDADEPRO  ||';'|| 
                               NOVO_REGISTRO.QUANTIDADEPR   ||';'|| 
                               NOVO_REGISTRO.VALORPRO       ||';'|| 
                               NOVO_REGISTRO.VALORPR);  
 
end loop;

The command is used implicitly open and fetch, much simpler of work.


: D
Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest