cópia de arquivo é bem-sucedida apesar do cheque vazio

0

Temos um script ksh que copia arquivos de um diretório NAS. Esses arquivos são gerados por meio de um procedimento armazenado do Oracle usando UTL_FILE.put_line e UTL_FILE.fclose .
A questão é que temos uma verificação no script ksh da seguinte forma:

if [[ -s $download_file ]] then
    cp $download_file $processdir
fi

Estamos com problemas em que os arquivos que aparecem no $processdir são inesperadamente de tamanho zero. Suspeitávamos que poderia estar relacionado ao UTL_FILE.fclose e à liberação do arquivo, mas nossos testes não confirmaram isso.
Para testar, confirmamos que o arquivo gerado pelo procedimento armazenado do Oracle não contém conteúdo (isto é, comprimento zero) até que o UTL_FILE.fclose seja executado. Ainda assim, apesar disso, a if check acima funciona conforme o esperado em nossos testes. Observe que também consideramos as discrepâncias entre o bloqueio de arquivos, já que esses são sistemas de arquivos diferentes. O procedimento armazenado do Oracle grava em um diretório do Windows montado no sistema Linux. Há algo errado em esperar usar essa if check específica ou outro pensamento sobre por que essa cópia de arquivo é bem-sucedida?

Encontrei uma postagem no blog sobre "alocação atrasada" que eu estou querendo saber se poderia ser o culpado? Por que vale a pena, estes são os dados do comando cat /proc/mounts

nfs rw,relatime,vers=3,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.1.249.30,mountvers=3,mountport=1234,mountproto=udp,local_lock=none,addr=10.1.249.30 0 0
    
por McArthey 09.08.2016 / 19:55

0 respostas