O que é o formato de ficheiro BAD?
Um arquivo .bad é um Oracle SQL*Loader Bad File - um arquivo de saída de texto simples que o SQL*Loader grava quando rejeita linhas durante uma carga de dados em massa em um banco de dados Oracle.
O arquivo contém uma cópia literal de cada linha que não pôde ser carregada, no mesmo formato da entrada original (CSV, largura fixa ou stream). Como o conteúdo espelha exatamente a origem, as linhas corrigidas podem ser enviadas diretamente de volta para o sqlldr usando o mesmo arquivo de controle .ctl sem reformatação - tornando o arquivo .bad um artefato de «reparar e tentar novamente» em vez de apenas um log de erros.
Os registros terminam no arquivo .bad por três motivos:
- A linha viola uma restrição (constraint) do Oracle (chave única duplicada, violação de
NOT NULL, etc.). - O SQL*Loader não consegue analisar os limites dos campos em uma linha delimitada malformada.
- Um valor de campo não pode ser convertido para o tipo de dados da coluna de destino.
O arquivo .bad é distinto do arquivo de descarte .dsc. Os descartes são linhas ignoradas intencionalmente por uma cláusula WHEN no arquivo de controle - elas nunca foram tentadas. Os registros «bad» foram tentados e falharam.
Se cada linha de entrada for carregada com sucesso, o arquivo .bad não é criado. O nome padrão deriva do arquivo de dados de entrada (ex: data.csv → data.bad), a menos que seja substituído por BADFILE= no arquivo de controle ou BAD= na linha de comando.
O SQL*Loader faz parte do Oracle Database desde a versão 6 (1988) e continua sendo um utilitário central nas versões atuais do Oracle Database 23ai.
Segurança e proteção
RISCO: LOWArquivo de dados em texto simples; não pode ser executado. Pode conter dados comerciais sensíveis (PII, registros financeiros) de uma importação que falhou - trate adequadamente, restrinja o acesso ao sistema de arquivos a DBAs e operadores de ETL autorizados.
Detalhes do formato
em resumo- Arquivo de mensagem inválida do Microsoft Exchange Server - O transporte SMTP do Exchange armazena mensagens não entregues ou malformadas em arquivos .BAD no diretório de fila do Exchange.
- Marcador geral de «dados inválidos» (vários aplicativos) - Algumas ferramentas de ETL e programas legados usam .bad como uma extensão genérica para arquivos de saída de erro/rejeição.
Programas que abrem arquivos BAD
Detalhes técnicos
especificação profunda| Tipo de formato | Espelhamento de linha rejeitada em texto simples (mesma estrutura do arquivo de dados de entrada do SQL*Loader) |
| Codificação | Corresponde ao arquivo de dados de entrada - ASCII, UTF-8 ou conjunto de caracteres Oracle NLS conforme configurado no arquivo de controle |
| Conteúdo | Cópia literal de cada linha rejeitada durante a execução do SQL*Loader, no formato de entrada original |
| Motivos de rejeição | Violação de restrição Oracle (PK/UK/NOT NULL); delimitadores de campo não analisáveis; falha na conversão do tipo de dados |
| Manipulação de dados LOB | O conteúdo LOB de fontes LOBFILE ou SDF NÃO é gravado no arquivo .bad quando sua linha é rejeitada |
| Nome de arquivo padrão | <nome_base_do_arquivo_de_entrada>.bad (ex: data.csv → data.bad) |
| Substituição de nome de arquivo | BADFILE= no arquivo de controle .ctl, ou BAD= na linha de comando sqlldr |
| Criação do arquivo | Criado apenas quando pelo menos uma linha é rejeitada; ausente em cargas totalmente bem-sucedidas |
| Distinção de .dsc | .dsc (descarte) contém linhas ignoradas por uma cláusula WHEN - saltos intencionais, não erros; .bad contém linhas que falharam na inserção |
| Fluxo de trabalho de reutilização | O arquivo .bad corrigido pode ser recarregado diretamente com o mesmo arquivo de controle .ctl sem reformatação |
| Suporte de plataforma | Qualquer plataforma Oracle Database: Linux, Unix, Windows, Solaris, AIX |
| Lançado | Oracle 7 era, circa 1992 (SQL*Loader has existed since Oracle 6, 1988) |
| Versão mais recente | N/A - format is defined by the input data format; no versioning |
| Especificação | docs.oracle.com |
Conversões de BAD
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos BAD.