Che cos'è il formato di file BAD?
Un file .bad è un Oracle SQL*Loader Bad File - un file di output in testo semplice che SQL*Loader scrive quando rifiuta delle righe durante un caricamento massivo di dati in un database Oracle.
Il file contiene una copia testuale di ogni riga che non è stato possibile caricare, nello stesso formato dell'input originale (CSV, a larghezza fissa o stream). Poiché il contenuto rispecchia esattamente l'origine, le righe corrette possono essere reinserite direttamente in sqlldr utilizzando lo stesso file di controllo .ctl senza riformattazione - rendendo il file .bad un artefatto di «riparazione e riprova» piuttosto che un semplice log di errore.
I record finiscono nel file .bad per tre motivi:
- La riga viola un vincolo Oracle (chiave univoca duplicata, violazione
NOT NULL, ecc.). - SQL*Loader non riesce a analizzare i confini dei campi in una riga delimitata malformata.
- Un valore di campo non può essere convertito nel tipo di dati della colonna di destinazione.
Il file .bad è distinto dal file di scarto .dsc. Gli scarti sono righe intenzionalmente saltate da una clausola WHEN nel file di controllo - non è mai stato tentato il loro caricamento. I record «bad» (cattivi) sono quelli il cui caricamento è stato tentato ma è fallito.
Se ogni riga di input viene caricata correttamente, il file .bad non viene creato affatto. Il nome predefinito deriva dal file di dati di input (ad es. data.csv → data.bad), a meno che non venga sovrascritto con BADFILE= nel file di controllo o BAD= sulla riga di comando.
SQL*Loader fa parte di Oracle Database dalla versione 6 (1988) e rimane un'utilità fondamentale nelle attuali versioni di Oracle Database 23ai.
Sicurezza e incolumità
RISCHIO: LOWFile di dati in testo semplice; non può essere eseguito. Può contenere dati aziendali sensibili (PII, record finanziari) da un'importazione fallita - trattare di conseguenza, limitando l'accesso al file system ai DBA autorizzati e agli operatori ETL.
Dettagli del formato
in sintesi- File bad-message di Microsoft Exchange Server - Il trasporto SMTP di Exchange memorizza i messaggi non recapitabili o malformati in file .BAD nella directory della coda di Exchange.
- Marcatore generico «dati errati» (varie applicazioni) - Alcuni strumenti ETL e programmi legacy utilizzano .bad come estensione generica per i file di output di errore/rifiuto.
Programmi che aprono file BAD
Dettagli tecnici
specifiche approfondite| Tipo di formato | Specchio delle righe rifiutate in testo semplice (stessa struttura del file di dati di input di SQL*Loader) |
| Codifica | Corrisponde al file di dati di input - ASCII, UTF-8 o set di caratteri Oracle NLS come configurato nel file di controllo |
| Contenuto | Copia testuale di ogni riga rifiutata durante l'esecuzione di SQL*Loader, nel formato di input originale |
| Motivi del rifiuto | Violazione dei vincoli Oracle (PK/UK/NOT NULL); delimitatori di campo non analizzabili; fallimento della conversione del tipo di dati |
| Gestione dei dati LOB | Il contenuto LOB proveniente da sorgenti LOBFILE o SDF NON viene scritto nel file .bad quando la sua riga viene rifiutata |
| Nome file predefinito | <nome_base_file_dati_input>.bad (es. data.csv → data.bad) |
| Sovrascrittura nome file | BADFILE= nel file di controllo .ctl, o BAD= sulla riga di comando sqlldr |
| Creazione del file | Creato solo quando viene rifiutata almeno una riga; assente nei caricamenti completati con successo |
| Distinzione da .dsc | .dsc (discard) contiene le righe saltate da una clausola WHEN - salti intenzionali, non errori; .bad contiene le righe per cui l'inserimento è fallito |
| Flusso di riutilizzo | Il file .bad corretto può essere ricaricato direttamente con lo stesso file di controllo .ctl senza riformattazione |
| Supporto piattaforma | Qualsiasi piattaforma Oracle Database: Linux, Unix, Windows, Solaris, AIX |
| Rilasciato | Oracle 7 era, circa 1992 (SQL*Loader has existed since Oracle 6, 1988) |
| Ultima versione | N/A - format is defined by the input data format; no versioning |
| Specifica | docs.oracle.com |
Conversioni BAD
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file BAD.