SQL*Loader uses several different operating system files, including:
This input file contains all information regarding the load, including the names, locations, characteristics, and formats of input datafiles, the datatypes and locations of all data fields, and the tables and columns to be loaded. In addition, detailed selection criteria can be specified in the control file.
This output file contains a detailed description of the load, including details of all load specifications and any errors encountered. The log file is always created, although it may simply be written to the default output device, usually the screen.
This output file, which retains the same format as the input file, contains any records that cannot be loaded into the database due to improper input format or violation of a database integrity constraint (e.g., the required field is NULL or the field contains invalid data for the Oracle datatype).
If a data record is otherwise acceptable but is filtered out of the load because it does not match the selection criteria specified in the control file, then that record will be placed in the discard file. Like the bad file, the discard file is written in the same format as the original datafile.
For detailed information on the syntax of the SQL*Loader command line and control file, see Chapter 16.