Se vc *** provar ** (necessariamente com algum tipo de DEBUG, um dbms_output 
mostrando a info, que seja) que não só os "resultados do cursor" mas a LÓGICA 
de gravação era a mesma, de modo que o conteúdo da variável que contém os dados 
da linha a gravar via UTL_FILE.PUT_LINE eram sempre os mesmos nos dois casos e 
NUNCA ultrapassando o limite-default de 1024 aí realmente vc deve estar caindo 
num dos casos citados nos docs relacionados, sim.... Em quase todos eles a 
questão é, por bug/efeito colateral não planejado, em alguns casos o UTL_FILE 
leva em conta os settings de NLS do cliente e/ou do servidor, que se estiverem 
conflitando com os valores de NLS do database podem levar à erros de gravação, 
veja lá....

  []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Aldenicio Lopes da Silva" <alopes@...> 
escreveu
>
> Obrigado Chiappa pelo retorno.  
> 
> Só para complementar a informação, a procedure utiliza o UTL_FILE.PUT_LINE e 
> o resultado do cursor que foi extraído tanto na maquina 01 como também na 
> maquina 02 eram os mesmos. 
> 
> Isso que me deixou mais confuso.
> 
> Vou ler as documentações sugeridas.
> 
>  
> 
>  
> 
> Aldenicio Lopes
> 
>  
> 
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em 
> nome de J. Laurindo Chiappa
> Enviada em: quinta-feira, 19 de setembro de 2013 14:13
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Re: ORA-29285: file write error
> 
>  
> 
>   
> 
> Vc não diz, mas ** SENDO ** a PUT_LINE a rotina de gravação que vc está 
> usando da UTL_FILE (PUT_RAW é ** totalmente outro ** animalzinho) a primeira 
> coisa em que se pensa é o tamanho-default da linha : o terceiro argumento que 
> vc especifica é o tamnanho máximo da linha a gravar, e para isso o default 
> (que entra em ação se vc não especificar nada) é de 1024.... Se eu estiver 
> certo, o que aconteceu foi que CASUALMENTE quando vc rodou na máquina 01 os 
> dados a gravar por linha foram MENORES que 1024 aí rodou ok, o default 
> atendeu, mas quando vc rodou na máquina 02 CASUALMENTE nessa ocasião os dados 
> foram maiores que 1024, o default não atendeu, aí vc é que teve que indicar 
> um valor maior que as 1024 posições default..... DEBUGUE a sua rotina e/ou 
> ABRA num editor de texto apropriado os dois arquivos gerados (se ainda os 
> tiver) que vc comprova ou refuta isto.... Se não der, ao menos Instrumente a 
> rotina para te informar/logar em algum lugar o TAMANHO dos dados a gravar, 
> para REGISTRAR se foi isso o caso...
> 
> Não sendo isso, a segunda coisa que se pensa é BUG, normalmente os 
> relacionados com diferenças de characterset, cfrme as notas metalink 
> "UTL_FILE.PUT_LINE Results In UTL_FILE.WRITE_ERROR Although Max Line Size Is 
> Less Than 1023 Bytes" (Doc ID 255888.1) e a " Repeated Calls to 
> UTL_FILE.PUT_LINE Fails With ORA-29285 Writing Cumulatively More Than 1024 
> Characters" (Doc ID 1077034.1), veja lá se alguma delas se enquadra no seu 
> caso...
> 
> []s
> 
> Chiappa
> 
> --- Em oracle_br@yahoogrupos.com.br, "Aldenicio Lopes da Silva" <alopes@> 
> escreveu
> >
> > Boa tarde Grupo,
> > 
> > 
> > 
> > Oracle 11.2.0.3 64 bits
> > 
> > Redhat 5.7 
> > 
> > RAC com 2 nós
> > 
> > 
> > 
> > Tenho um procedure que gera um relatório em área especifica. Rodando essa 
> > proc na máquina que denomino RAC01, ela gera o arquivo normalmente.
> > 
> > Rodando na máquina RAC02 ela gera o erro ORA-29285 - File Write Error.
> > 
> > Para sanar o problema, tive que mudar o UTL_FILE.FOPEN(PATH,FILE_NAME,'W') 
> > para UTL_FILE.FOPEN(PATH,FILE_NAME,'W',4000)
> > 
> > Saberiam me dizer o que pode gerar essa diferença entre as 2 máquinas?
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > Aldenicio Lopes
> >
> 
> 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a