¿Qué es el formato de archivo BAD?
Un archivo .bad es un archivo de registros erróneos de Oracle SQL*Loader, un archivo de salida de texto plano que SQL*Loader genera cuando rechaza filas durante una carga masiva de datos en una base de datos Oracle.
El archivo contiene una copia literal de cada fila que no pudo cargarse, en el mismo formato que la entrada original (CSV, ancho fijo o flujo). Debido a que el contenido refleja exactamente el origen, las filas corregidas pueden volver a introducirse directamente en sqlldr utilizando el mismo archivo de control .ctl sin necesidad de reformatear, lo que convierte al archivo .bad en un artefacto de «reparación y reintento» en lugar de un simple registro de errores.
Los registros terminan en el archivo .bad por tres razones:
- La fila viola una restricción de Oracle (clave única duplicada, violación de
NOT NULL, etc.). - SQL*Loader no puede analizar los límites de los campos en una fila delimitada con formato incorrecto.
- Un valor de campo no puede convertirse al tipo de datos de la columna de destino.
El archivo .bad es distinto del archivo de descarte .dsc. Los descartes son filas omitidas intencionalmente por una cláusula WHEN en el archivo de control; nunca se intentó su carga. Los registros «bad» se intentaron cargar y fallaron.
Si cada fila de entrada se carga correctamente, el archivo .bad no se crea en absoluto. El nombre predeterminado deriva del archivo de datos de entrada (por ejemplo, data.csv → data.bad), a menos que se anule con BADFILE= en el archivo de control o BAD= en la línea de comandos.
SQL*Loader forma parte de Oracle Database desde la versión 6 (1988) y sigue siendo una utilidad principal en las versiones actuales de Oracle Database 23ai.
Seguridad y protección
RIESGO: LOWArchivo de datos de texto plano; no se puede ejecutar. Puede contener datos comerciales sensibles (PII, registros financieros) de una importación fallida; trátelo en consecuencia, restrinja el acceso al sistema de archivos a los DBA y operadores de ETL autorizados.
Detalles del formato
en pocas palabras- Archivo de mensaje erróneo de Microsoft Exchange Server - El transporte SMTP de Exchange almacena mensajes no entregables o malformados en archivos .BAD en el directorio de colas de Exchange.
- Marcador general de «datos erróneos» (varias aplicaciones) - Algunas herramientas ETL y programas heredados utilizan .bad como una extensión genérica para archivos de salida de errores o rechazos.
Programas que abren archivos BAD
Detalles técnicos
especificación profunda| Tipo de formato | Espejo de filas rechazadas en texto plano (misma estructura que el archivo de datos de entrada de SQL*Loader) |
| Codificación | Coincide con el archivo de datos de entrada: ASCII, UTF-8 o el conjunto de caracteres Oracle NLS configurado en el archivo de control |
| Contenido | Copia literal de cada fila rechazada durante la ejecución de SQL*Loader, en el formato de entrada original |
| Motivos de rechazo | Violación de restricción de Oracle (PK/UK/NOT NULL); delimitadores de campo no analizables; fallo en la conversión del tipo de datos |
| Manejo de datos LOB | El contenido LOB de fuentes LOBFILE o SDF NO se escribe en el archivo .bad cuando se rechaza su fila |
| Nombre de archivo predeterminado | <nombre_base_archivo_entrada>.bad (ej., data.csv → data.bad) |
| Anulación de nombre de archivo | BADFILE= en el archivo de control .ctl, o BAD= en la línea de comandos de sqlldr |
| Creación del archivo | Se crea solo cuando se rechaza al menos una fila; ausente en cargas completamente exitosas |
| Distinción de .dsc | .dsc (descarte) contiene filas omitidas por una cláusula WHEN (omisiones intencionales, no errores); .bad contiene filas que fallaron en la inserción |
| Flujo de reutilización | El archivo .bad corregido se puede volver a cargar directamente con el mismo archivo de control .ctl sin reformatear |
| Soporte de plataforma | Cualquier plataforma de Oracle Database: Linux, Unix, Windows, Solaris, AIX |
| Lanzado | Oracle 7 era, circa 1992 (SQL*Loader has existed since Oracle 6, 1988) |
| Última versión | N/A - format is defined by the input data format; no versioning |
| Especificación | docs.oracle.com |
Conversiones de BAD
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos BAD.